Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [sql] Update problem
Hectic
post
Post #1





Grupa: Zarejestrowani
Postów: 256
Pomógł: 7
Dołączył: 1.01.2005

Ostrzeżenie: (0%)
-----


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.


--------------------
Nie proś o to, idź i sam to zdobądź.
Zrób to, a osiągniesz sukces.
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #3





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




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


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
Hectic
post
Post #4





Grupa: Zarejestrowani
Postów: 256
Pomógł: 7
Dołączył: 1.01.2005

Ostrzeżenie: (0%)
-----


Wielkie dizeki działa ;] chociaż nie mam pojęcia czemu tongue.gif wiem z jest strasznie napisany ale nie mam już siły zmieniać.


--------------------
Nie proś o to, idź i sam to zdobądź.
Zrób to, a osiągniesz sukces.
Go to the top of the page
+Quote Post

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 Aktualny czas: 21.08.2025 - 18:43