Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Jedno zapytanie, wiele wyników, wiele zapisów do bazy
Forum PHP.pl > Forum > Przedszkole
-Jaq-
Witam.
Bardzo Was proszę o poradę w kwestii zapisu wielu wyników do bazy. Z czym mam problem.
Zadaje pytanie do bazy i otrzymuję np. 10 wyników, wyświetlam je i chcę do każdego wiersza dopisać jedną informację i zapisać wszystko
znowu do bazy z tą właśnie dodatkową informacją.
Z góry dzięki za pomoc.

Jaq
toaspzoo
podaj swój kawałek kodu, za pom którego wczytujesz..


ja to był zrobił tak

  1.  
  2. $query = mysql_query("select .... ");
  3.  
  4. while($row=mysql_fetch_array($query)){
  5.  
  6. $wszystko .= $row['kolumna'];
  7.  
  8. }
  9.  


do zmiennej wszystko zapisywane są kolejne rekordy z pętli, oczywiście zapytanie jest moje, tylko zademonstrowałem jak to zastosować
kondziu9516
Też by mi się takie coś przydało...smile.gif
toaspzoo
pisząc tak:
  1.  
  2. $zmienna .= ' xxx';
  3.  


dopisujemy do niej na końcu coś..

działa to jak javascriptowe +=
-Jaq-
Mój kod nic tu nie da. Twoja propozycja jest dobra, niestety zatrzymałem się na etapie ponownego zapisania tego do bazy. sad.gif
17misiek09
Cytat(kondziu9516 @ 29.01.2012, 12:14:11 ) *
Też by mi się takie coś przydało...smile.gif


hmm nie wiem czy dobrze kombinuje,ale modyfikujac mój skrypt na usuwanie danych zrób z niego update danych ;-)
Lombi
Cytat
chcę do każdego wiersza dopisać jedną informację

Taką samą do konkretnej kolumny każdego wiersza?
-Jaq-
Witam.
Opłacało się trochę posiedzieć, znalazłem rozwiązanie, przekazuje dla kolegi, który miał z tym problem.
Kilka wskazówek znalazłem w necie.
  1. <?
  2. function edit($ile, $id_rejestru, $id_produktu, $id_obiektu, $ilosc, $ilosc_out)
  3. {
  4. $elo = @mysql_query("SELECT .... WHERE ... ");
  5.  
  6. echo "<form action=\"plik.php4\" method=\"POST\">";
  7. echo "<table border=\"1\" align=\"center\">";
  8. echo "<tr bgcolor=\"#cdcdd8\">";
  9. echo "<td width=\"\">DATA WEJSCIA</td>";
  10. echo "<td width=\"\">NAZWA</td>";
  11. echo "<td width=\"\">JM</td>";
  12. echo "<td width=\"\">ILOŚĆ</td>";
  13. echo "<td width=\"\">DATA ZAKUPU</td>";
  14. echo "<td width=\"\">ILOŚĆ DO PRZENIESIENIA</td>";
  15.  
  16. echo "</tr>";
  17. $i=0;
  18. While ($row =mysql_fetch_array($elo))
  19. {
  20. $row['id_produktu'] = htmlspecialchars($row['id_produktu']);
  21. $row['id_obiektu'] = htmlspecialchars($row['id_obiektu']);
  22. $row['data_wejscia'] = htmlspecialchars($row['data_wejscia']);
  23. $row['nazwa'] = htmlspecialchars($row['nazwa']);
  24. $row['jm'] = htmlspecialchars($row['jm']);
  25. $row['ilosc'] = htmlspecialchars($row['ilosc']);
  26. $row['data_zakupu'] = htmlspecialchars($row['data_zakupu']);
  27.  
  28. echo "<tr>";
  29. echo"<input type=\"hidden\" name=\"id_rejestru[$i]\" value=\"{$row['id_rejestru']}\">";
  30. echo"<input type=\"hidden\" name=\"id_produktu[$i]\" value=\"{$row['id_produktu']}\">";
  31. echo"<input type=\"hidden\" name=\"id_obiektu[$i]\" value=\"{$row['id_obiektu']}\">";
  32. echo"<input type=\"hidden\" name=\"ilosc[$i]\" value=\"{$row['ilosc']}\">";
  33. echo "<td width=\"\"><center>{$row['data_wejscia']}</center></td>";
  34. echo "<td width=\"\">{$row['nazwa']} </td>";
  35. echo "<td width=\"\">{$row['jm']}</td>";
  36. echo "<td width=\"\">{$row['ilosc']}</td>";
  37. echo "<td width=\"\"><center>{$row['data_faktura']}</center></td>";
  38. echo "<td width=\"\"><input type=\"text\" name=\"ilosc_out[$i]\"></td>";
  39. echo "</tr>";
  40. $i++;
  41. }
  42. echo"</table>";
  43. echo"<input type=\"hidden\" name=\"ile\" value=\"$i\">";
  44. echo"<input type=\"hidden\" name=\"elo\" value=\"zapisz\">";
  45. echo"<input type=\"submit\" value=\"Zapisz do bazy\">";
  46. echo"</form>";
  47.  
  48.  
  49. }
  50. function zapisz($ile,$id_rejestru,$id_produktu, $id_obiektu,$ilosc,$ilosc_out)
  51. {
  52.  
  53. for( $i = 0; $i < $ile; $i++ )
  54. {
  55. if($ilosc_out[$i]>$ilosc[$i]):
  56. echo "<script language='javascript'>";
  57. echo "alert('za dużo!')";
  58. echo "</script>";
  59. echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; url=plik.php4\" > ";
  60. endif;
  61.  
  62. if ($ilosc_out[$i]>0 or isset($ilosc_out[$i])):
  63. if ($ilosc_out[$i]<$ilosc[$i]):
  64. $ilosc_pozostala[$i]=$ilosc[$i]-$ilosc_out[$i];
  65. $result=@mysql_query("UPDATE ....... SET ilosc='$ilosc_pozostala[$i]'
  66. WHERE id_rejestru='$id_rejestru[$i]'
  67. LIMIT 1");
  68. $result1=@mysql_query("INSERT INTO ...... (id_produktu,id_obiektu,ilosc)
  69. VALUES ('$id_produktu[$i]','$id_obiektu2','$ilosc_out[$i]'");
  70. echo "dupa_1[$i]";
  71. elseif ($ilosc_out[$i]==$ilosc[$i]):
  72. $ilosc_pozostala[$i]=$ilosc[$i]-$ilosc_out[$i];
  73. $result=@mysql_query("UPDATE ..... SET ilosc='$ilosc_pozostala[$i]', archiwum='T'
  74. WHERE id_rejestru='$id_rejestru[$i]'");
  75. $result1=@mysql_query("INSERT INTO ...... (id_produktu,id_obiektu,ilosc)
  76. VALUES ('$id_produktu[$i]','$id_obiektu2','$ilosc_pozostala[$i]'");
  77. endif;
  78. endif;
  79. }
  80. }
  81.  
  82. if (empty($elo)):
  83. edit($ile,$id_rejestru,$id_produktu,$id_obiektu,$ilosc,$ilosc_out);
  84. else:
  85. zapisz($ile,$id_rejestru,$id_produktu,$id_obiektu,$ilosc,$ilosc_out);
  86. endif;
  87. ?>


Mój kod zawiera jeszcze sprawdzenie czy zmienna "ilość do przeniesienia" jest mniejsza od stanu magazynowego i czy zmienna istnieje.
Reszta do analizy.

Jaq.
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.