Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql][php] problem z checkboxem
Forum PHP.pl > Forum > PHP
tomek_swat
Witam,
Mam problem z ustaleniem jakie sklepy wybrał użytkownik, a następnie dodanie do tabeli asortyment, wszystkich wybranych przez niego sklepów wraz z dodanym produktem określonym przez odpowiednie pola formularza, z góry dziękuję za wskazówki

pzdr

  1. <?php
  2.  
  3. require_once('controller.php');
  4.  
  5. $link=@mysql_connect($db_host, $db_login, $db_pass)
  6. or die('Brak połączenia z serwerem MySQL.');
  7.  
  8. @mysql_select_db($db_name)
  9. or die('Błąd wyboru bazy danych.');
  10.  
  11.  if(isset($_POST['add']))
  12. {
  13.  
  14. $query = "INSERT into Produkt (IdKategorii,IdProd,NazwaP,KOpisP,DOpisP,Cena) 
  15. values ('$IdKategorii','$IdProd','$NazwaP','$KOpisP','$DOpisP','$Cena');";
  16. mysql_query($query);
  17. /*
  18. $sql0 = "SELECT IdProduktu from Asortyment where IdSklepu = '$IdSklep'";
  19. $result0 = mysql_query($sql0);
  20.  
  21. while($row4 = mysql_fetch_array($result0)){
  22. $IdProduktu = $row4[IdProduktu];
  23. }
  24.  
  25. $sql = "INSERT into Asortyment (IdProduktu,IdSklepu)
  26. values ('$IdProduktu','$IdSklep')";
  27. mysql_query($sql);
  28.  
  29. for($i=0; )
  30. if ($_POST[IdSklepu] == "on"){
  31.  
  32. }
  33. */
  34. header('Location: index.php');
  35. }
  36. else
  37. {
  38. echo '
  39. <h3 style="text-align: left; margin-bottom: -10px;"> &nbsp;Dodaj produkt</h3>
  40. <form method="post" action="produkty_dodaj.php" >
  41. <table class="form" width="400" border="0" cellspacing="1" cellpadding="2" style="text-align: left">
  42.  
  43. <tr>
  44. <td class="form">Wybierz sklepy, do których <br /> dodasz produkt</td>
  45. <td>';
  46. $i=0;
  47. $query3 = "SELECT IdSklepu, SNazwa from Sklep";
  48. $result3 = mysql_query($query3);
  49. while(list($IdSklepu,$SNazwa)= mysql_fetch_row($result3)){
  50.  
  51. echo "<input type='checkbox' name='$IdSklepu' value='$IdSklepu' id='$IdSklepu'> $SNazwa<br />";
  52.  
  53. }
  54.  
  55. echo '
  56. </td>
  57. </tr>
  58.  
  59. <tr>
  60. <td class="form">Wybierz kategorie</td>
  61. <td>
  62. <select name="IdKategorii" type="text" id="IdKategorii">
  63. ';
  64.  
  65. $query1 = "select IdKategorii, NazwaK from Kategoria";
  66. $result1 = mysql_query($query1);
  67. while($row1 = mysql_fetch_array($result1)){
  68.  
  69. echo "<option value='$row1[IdKategorii]'>$row1[NazwaK]</option>";
  70. }
  71.  
  72. echo '</select>
  73. </td>
  74. </tr>
  75. <tr>
  76. <td class="form">Wybierz producenta</td>
  77. <td>
  78. <select name="IdProd" type="text" id="IdProd">
  79. ';
  80.  
  81. $query2 = "select IdProd, NazwaProd from Producent";
  82. $result2 = mysql_query($query2);
  83. while($row2 = mysql_fetch_array($result2)){
  84.  
  85. echo "<option value='$row2[IdProd]'>$row2[NazwaProd]</option>";
  86. }
  87.  
  88. echo '</select>
  89.  
  90. </td>
  91. </tr>
  92. <tr>
  93. <td class="form">Nazwa produktu</td>
  94. <td><input name="NazwaP" type="text" id="NazwaP" ></td>
  95. </tr>
  96. <tr>
  97. <td class="form">Krótki opis</td>
  98. <td><textarea name="KOpisP" rows="3" cols="15"></textarea></td>
  99. </tr>
  100. <tr>
  101. <td class="form">Długi opis</td>
  102. <td><textarea name="DOpisP" rows="5" cols="20"></textarea></td>
  103. </tr>
  104. <tr>
  105. <td class="form">Cena</td>
  106. <td><input name="Cena" type="text" id="Cena"></td>
  107. </tr>
  108.  
  109. <tr>
  110. <td width="100">&nbsp;</td>
  111. <td>&nbsp;</td>
  112. </tr>
  113. <tr>
  114. <td width="100">&nbsp;</td>
  115. <td><input name="add" type="submit" id="add" value="Dodaj produkt" ></td>
  116. </tr>
  117. </table>
  118. </form>';
  119. }
  120. mysql_close($link);
  121. ?>

Xniver
Dla każdego sklepu wyświetlasz taki checkbox:
  1. <input type="checkbox" name="sklep[]" value="TUTAJ ID SKLEPU" />


A potem w PHP odczytujesz np. tak:
  1. <?php
  2. foreach($_POST['sklep'] as $sklepId)
  3. {
  4. $sklepId = (int) $sklepId;
  5.  
  6. if($sklepId)
  7. {
  8. // Tutaj insert etc.
  9. }
  10. }
  11. ?>
tomek_swat
ok dzięki działa tak jak chciałem, mam jeszcze tylko problem bo do tabeli asortyment potrzebuje dodać te wszystkie IdSklepów które są z checkboxów oraz to IdProduktu, produktu aktualnie dodawanego i tu mam problem bo nie wiem jak pobrać właśnie to IdProduktu

  1. <?php
  2. if(isset($_POST['add']))
  3. {
  4.  
  5. $query = "INSERT into Produkt (IdKategorii,IdProd,NazwaP,KOpisP,DOpisP,Cena) 
  6. values ('$IdKategorii','$IdProd','$NazwaP','$KOpisP','$DOpisP','$Cena');";
  7. mysql_query($query);
  8.  
  9.  
  10.  
  11. foreach($_POST['sklep'] as $IdSklep){
  12. $IdSklep = (int) $IdSklep;
  13.  
  14. if($IdSklep){
  15. $sql = "INSERT into Asortyment (IdProduktu,IdSklepu)
  16. values ('$IdProduktu','$IdSklep')";
  17.  
  18. }
  19. }
  20.  
  21.  
  22. header('Location: index.php');
  23. }
  24. else
  25. {
  26. ..
  27. ?>


ok rozwiązałem ten problem poprzez linijkę
  1. <?php
  2. $IdProduktu = mysql_insert_id();
  3. ?>

zwraca mi id ostatnio dodanego elementu
pzdr
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.