Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [sql] Update problem
Forum PHP.pl > Forum > Przedszkole
Hectic
Witam, mam problem z aktualizacja danych w bazie mam taki kodzik:

  1. <?php
  2. if($miejsce <= 1)
  3. {
  4. $update1 = "UPDATE top_10 SET id = '2' WHERE id = '1'";
  5.  $up1 = mysql_query($update1);
  6. }
  7. if($miejsce <= 2)
  8. {
  9. $update2 = "UPDATE top_10 SET id = '3' WHERE id = '2'";
  10.  $up2 = mysql_query($update2);
  11. }
  12. if($miejsce <= 3)
  13. {
  14. $update3 = "UPDATE top_10 SET id = '4' WHERE id = '3'";
  15. $up3 = mysql_query($update3);
  16. }
  17. if($miejsce <= 4)
  18. {
  19. $update4 = "UPDATE top_10 SET id = '5' WHERE id = '4'";
  20. $up4 = mysql_query($update4);
  21. }
  22.  
  23. if($miejsce <= 5)
  24. {
  25. $update5 = "UPDATE top_10 SET id = '6' WHERE id = '5'";
  26. $up5 = mysql_query($update5);
  27. }
  28.  
  29. if($miejsce <= 6)
  30. {
  31. $update6 = "UPDATE top_10 SET id = '7' WHERE id = '6'";
  32. $up6 = mysql_query($update6);
  33. }
  34.  
  35. if($miejsce <= 7)
  36. {
  37. $update7 = "UPDATE top_10 SET id = '8' WHERE id = '7'";
  38. $up7 = mysql_query($update7);
  39. }
  40.  
  41. if($miejsce <= 8)
  42. {
  43. $update8 = "UPDATE top_10 SET id = '9' WHERE id = '8'";
  44. $up8 = mysql_query($update8);
  45. }
  46.  
  47. if($miejsce <= 9)
  48. {
  49. $update9 = "UPDATE top_10 SET id = '10' WHERE id = '9'";
  50. $up9 = mysql_query($update9);
  51. }
  52.  
  53. if($miejsce <= 10)
  54. {
  55. $update10 = "UPDATE top_10 SET id = '11' WHERE id = '10'";
  56. $up10 = mysql_query($update10);
  57. }
  58. ?>

I nie wiem dlaczego zawsze wszystkie updatowane dane są zmieniane na 11 sadsmiley02.gif a nie na to któe im odpowiadaj :/ Proszę o pomoc w rozwiązaniu problemu.
ActivePlayer
bo niewazne czy miejsce ma wartosc 3 czy 10 to i tak zawsze jest mniejsze lub rowne 10. rozwiązaniem będzie odwrocenie kolejnosci ifów lub uzycie elseif
Cysiaczek
Z tego powodu, że zawsze wykonywana jest ostatnia instrukcja - w każdym z przedstawionych przez Ciebie przypadków
$miejsce jest mniejsza lub równa 10. Jak się zastanowisz, to szybko poprawisz ;]

Na marginesie. Skrypt jest masakrycznie napisany - ujmij to w funkcję, spróbuj napisać to tak, aby nie było tylu powtórzeń, abyś nie musial pisać za każdym razem mysql_query()... ten skrypt może zajmować o połowę mniej linijek niż teraz.

Pozdrawiam
Hectic
Wielkie dizeki działa ;] chociaż nie mam pojęcia czemu tongue.gif wiem z jest strasznie napisany ale nie mam już siły zmieniać.
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.