Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql][php] UPDATE w pętli
funky_beat
post 3.09.2007, 22:54:19
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 24.05.2007
Skąd: Bełchatów

Ostrzeżenie: (10%)
X----


Utworzyłem dwie tabele:

tMaterialy:
idmaterialu
iloscwmagazynie

tZamowienie:
idzamowienia
idmaterialu
ilosc

Stworzyłem skrypt, który powinien wg moich założeń wyświetlić rekordy tabeli tZamowienie a następnie po naciśnięciu przycisku Dodaj wykonać w pętli UPDATE kolumny iloscwmagazynie do tych kolumn idmaterialu ktore wystąpiły w tabeli tZamowienia.

Tak wygląda ten skrypt:

  1. <?php
  2.  
  3.  
  4. if (isset($_POST['dodaj'])) {
  5.  
  6. require_once ('baza.php');
  7. function escape_data ($data) {
  8. global $dbc;  
  9. if (ini_get('magic_quotes_gpc')) {
  10. $data = stripslashes($data);
  11. }
  12. return mysql_real_escape_string($data, $dbc);
  13. }  
  14. $message = NULL;
  15.  
  16.  
  17.  
  18. $IDz=escape_data($_POST['IDzamowienia']);
  19.  
  20. $query = mysql_query("SELECT tZamowienia.* FROM tZamowienia WHERE tZamowienia.idzamowienia='".$IDz."'")or die("Error SQL: tZamowienia");
  21.  
  22.  
  23. while ($row = mysql_fetch_array($query))
  24.  
  25. {
  26.  
  27. $sm=$row[3];
  28. $idmaterialu=$row[1];
  29. $query = "UPDATE materialy SET iloscwmagazynie='".$sm."' WHERE idmaterialu='".$IDmaterialu."'";
  30.  
  31. }
  32. echo 'Dodane';
  33.  
  34. exit();
  35. }
  36.  
  37.  
  38.  
  39. require_once ('baza.php');
  40.  
  41.  
  42. $IDzamowienia = intval($_REQUEST['id']);
  43.  
  44. $sql = "SET CHARSET latin2";
  45.  
  46.  
  47. $query = "SELECT tZamowienia.* FROM tZamowienia WHERE tZamowienia.IDzamowienia='".$IDzamowienia."'";
  48. $result = @mysql_query ($query);
  49. $num = mysql_num_rows ($result);
  50.  
  51. if ($num > 0) {
  52. echo '<h4 align="center"><p>Zamówione materiały</h4>';
  53. echo '<p><table align="center" cellspacing="2" cellpadding="6">
  54. <tr align="center" bgcolor="rgb(240,250,255)"><td ><b>ID materiału</b></td><td><b>Ilość</b></td></tr>';
  55.  
  56. while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
  57.  
  58.  
  59.  
  60. echo '<tr><td >'.$row[1].'</td><td align="right">'.$row[2].'</td></tr>';
  61. }
  62. echo '</table>';
  63.  
  64.  
  65.  
  66. mysql_free_result ($result);
  67.  
  68. }
  69.  
  70.  
  71.  
  72.  
  73. ?>
  74.  
  75.  
  76.  
  77. <form action="wiecej_przychod.php?id=<?php echo $IDzamowienia?>" method="post">
  78.  
  79. <input type="hidden" name="IDzamowienia" value="<?php echo $IDzamowienia; ?>">
  80. <p align="center"><input type="submit" name="dodaj" value="Dodaj">
  81.  
  82. </form>



Skrypt poprawnie wyświetla rekordy z tabeli tZamowienia ale po nacisnieciu przycisku Dodaj wyskakuje mi ostrzezenie

  1. Warning: mysql_fetch_array(): supplied argument IS NOT a valid MySQL result resource IN skrypt.php ON line 24

czyli UPDATE nie zostaje wykonany tylko ten komunikat

Co w tym skrypcie jest wykonanie niepoprawnie?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 22:53