Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Błędy w wysyłaniu formularza
Forum PHP.pl > Forum > Przedszkole
adams1692
Witam,
Mam problem z pewnym kodem ponieważ nie przesyła tak jak powinien zapytania do bazy danych . Mam tam warunek ze jeżeli rows i rows2 jest większe od 0 to wynik powinien sie zaktualizować a jezeli jest inaczej to powinien dodac nowy rekord do bazy. Problem polega na tym ze bez względu na to czy wynik jest wiekszy czy mniejszy od 0 to zawsze się aktualizuje zresztą zobaczcie sami:
  1. <?php
  2. $result1 = dbquery("SELECT * FROM terminarz WHERE liga='".$_GET['liga']."' AND id='".$_GET['id']."'");
  3. $data1 = mysql_fetch_assoc($result1);
  4.  
  5. if(isset($_POST['go1'])) {
  6.  
  7. $wynikdom = $_POST['wynikdom'];
  8. $wynikwyjazd = $_POST['wynikwyjazd'];
  9. $dom = $_POST['dom'];
  10. $wyjazd = $_POST['wyjazd'];
  11. $dzien = $_POST['dzien'];
  12.  
  13. $rows = dbquery("SELECT * FROM tabela WHERE druzyna_id='".$data1['dom']."' AND przeciwnik_id='".$data1['wyjazd']."' AND data='".$data1['dzien']."'");
  14. $data100 = mysql_fetch_assoc($rows);
  15.  
  16. $rows2 = dbquery("SELECT * FROM tabela WHERE druzyna_id='".$data1['wyjazd']."' AND przeciwnik_id='".$data1['dom']."' AND data='".$data1['dzien']."'");
  17. $data200 = mysql_fetch_assoc($rows2);
  18.  
  19. if ($rows AND $rows2 > 0 ) {
  20.  
  21. $roznica1 = $wynikdom-$wynikwyjazd;
  22. $roznica2 = $wynikwyjazd-$wynikdom;
  23.  
  24. if($wynikdom > $wynikwyjazd)
  25. {$pkt=3;} elseif ($wynikdom < $wynikwyjazd)
  26. {$pkt=0;} else {$pkt=1;}
  27.  
  28. if($wynikdom < $wynikwyjazd)
  29. {$pkt1=3;} elseif ($wynikdom > $wynikwyjazd)
  30. {$pkt1=0;} else {$pkt1=1;}
  31.  
  32. $zapytanie100 = 'UPDATE terminarz SET dom="'.$dom.'", wynikdom="'.$wynikdom.'", wynikwyjazd="'.$wynikwyjazd.'", wyjazd="'.$wyjazd.'" WHERE id="'.$data1['id'].'"';
  33. $wykonaj100 = dbquery ($zapytanie100); // dodajemy rekord do bazy
  34.  
  35. $result = dbquery("UPDATE tabela SET druzyna_id='".$dom."', pkt=".$pkt.", zdobyte_bramki='".$wynikdom."', stracone_bramki='".$wynikwyjazd."', przeciwnik_id='".$wyjazd."', data='".$dzien."', roznica='".$roznica1."' WHERE rmecz_id='".$data100['rmecz_id']."'");
  36.  
  37. $result2 = dbquery("UPDATE tabela SET druzyna_id='".$wyjazd."', pkt='".$pkt1."', zdobyte_bramki='".$wynikwyjazd."', stracone_bramki='".$wynikdom."', przeciwnik_id='".$dom."', data='".$dzien."', roznica='".$roznica2."' WHERE rmecz_id='".$data200['rmecz_id']."'");
  38.  
  39. echo "<table cellpadding='0' width='100%' bgcolor='#d4d4d4'><tr><td><center><b>Zaktualizowano!</b></center></td></tr></table>";
  40.  
  41. } else {
  42.  
  43. $roznica1 = $wynikdom-$wynikwyjazd;
  44. $roznica2 = $wynikwyjazd-$wynikdom;
  45.  
  46. if($wynikdom > $wynikwyjazd)
  47. {$pkt=3;} elseif ($wynikdom < $wynikwyjazd)
  48. {$pkt=0;} else {$pkt=1;}
  49.  
  50. if($wynikdom < $wynikwyjazd)
  51. {$pkt1=3;} elseif ($wynikdom > $wynikwyjazd)
  52. {$pkt1=0;} else {$pkt1=1;}
  53.  
  54. $zapytanie9 = 'UPDATE terminarz SET dom="'.$dom.'", wynikdom="'.$wynikdom.'", wynikwyjazd="'.$wynikwyjazd.'", wyjazd="'.$wyjazd.'" WHERE id="'.$data1['id'].'"';
  55. $wykonaj9 = dbquery ($zapytanie9); // dodajemy rekord do bazy
  56.  
  57. $result = dbquery("INSERT INTO tabela (druzyna_id, pkt, zdobyte_bramki, stracone_bramki, przeciwnik_id, data, roznica)
  58. VALUES ('$dom', '$pkt', '$wynikdom', '$wynikwyjazd', '$wyjazd', '$dzien', '$roznica1')");
  59.  
  60. $result2 = dbquery("INSERT INTO tabela (druzyna_id, pkt, zdobyte_bramki, stracone_bramki, przeciwnik_id, data, roznica)
  61. VALUES ('$wyjazd', '$pkt1', '$wynikwyjazd', '$wynikdom', '$dom', '$dzien', '$roznica2')");
  62.  
  63. echo "<table cellpadding='0' width='100%' bgcolor='#d4d4d4'><tr><td><center><b>Dodano nowy wynik!</b></center></td></tr></table>"; // wyświetlamy komunikat o poprawnym dodaniu rekordu do bazy
  64.  
  65. }
  66.  
  67. }
  68.  
  69.  
  70. ?>
  71. <form method="POST" action="/viewpage.php?page_id=292&liga=<?php echo $data1['liga']; ?>&id=<?php echo $data1['id']; ?>">
  72. <?php
  73. $zapytanie = dbquery("SELECT id, kolejka, dzien, godzina, dom, wynikdom, wynikwyjazd, wyjazd, liga FROM terminarz WHERE liga='".$_GET['liga']."' AND id='".$_GET['id']."'");
  74. if (dbrows($zapytanie) != 0) {
  75. $i = 0;
  76. echo "<table border='0' align='center' cellpadding='3' cellspacing='0' width='618px' rules='rows' frame='hsides'>
  77. <tr>
  78. <td><strong><center>Dom</center></strong></td>
  79. <td colspan='3'><strong><center>Wynik</center></strong></td>
  80. <td><strong><center>Wyjazd</center></strong></td>
  81. <td><strong><center>Usu.</center></strong></td>
  82. </tr>";
  83. while ($data = dbarray($zapytanie)) {
  84. echo "<tr>
  85. <td><center><input type='text' class='textbox' name='dom' value='".$data['dom']."' style='width: 200px;'></center></td>
  86. <td><center><input type='text' class='textbox' name='wynikdom' value='".$data['wynikdom']."' style='width: 17px;'></center></td>
  87. <td><center>-</center></td>
  88. <td><center><input type='text' class='textbox' name='wynikwyjazd' value='".$data['wynikwyjazd']."' style='width: 17px;'></center></td>
  89. <td><center><input type='text' class='textbox' name='wyjazd' value='".$data['wyjazd']."' style='width: 200px;'></center></td>
  90. <td><a href='/viewpage.php?page_id=285&id=".$data['id']."' onclick=\"return confirm('Czy na pewno chcesz usunąć mecz ".$data['dom']." - ".$data['wyjazd']."?');\"><font size='2'><center>Usuń</center></font></a><input type='hidden' name='dzien' value='".$data['dzien']."'/></td>
  91. </tr>";
  92. }
  93. echo "";
  94. } else {
  95. echo "";
  96. }
  97. ?>
  98. </table>
  99. <br /><center><input class="button" type="submit" name="go1" value="Wyślij"></center>
  100. </form>
nospor
var_dump($rows);
I potem sie zastanow jaki jest sens porownywac to z zerem ....
adams1692
Czyli ma być coś takiego?
  1. if (var_dump ($rows) AND var_dump ($rows2))
nospor
....
var_dump miales dac przed IFem by zobaczyc co zawiera zmienną, którą probujesz porownac z zerem..... Mysl troszke, szcczegolnie ze masz wszystko napisane co masz zrobic :/
adams1692
Wywala mi teraz takie coś:resource(2312) of type (mysql result) resource(2313) of type (mysql result)
Turson
  1. if ($rows AND $rows2 > 0 )

Więc widzisz, że $rows nie zwraca ilości rekordów.
mysql_num_rows
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.