Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Pętla WHILE i zapisanie na stała $zmiennej z niej wydobytej
AlinaMalutka
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 6.06.2010

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


Potrzebuję za pomocą pętli WHILE wydobyć z bazy danych jedną daną (LIMIT 1) i używać jej wielokrotnie w różnych miejscach kodu PHP na mojej stronie. Strona jest dość długa...
Potrzebuję również wyciągnąć następną podobną jedną daną z tej samej bazy i również wielokrotnie jej użyć naprzemiennie z daną pierwszą.

Nie wiem jak to zrobić --- gdzieś popełniłam jakiś błąd bowiem prawie identyczny przykład na innej bazie działa bezbłędnie (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) ?

  1. $wynik = mysql_query ("SELECT * FROM tabela WHERE numer >= '21' ORDER BY yyDOnrLdz DESC LIMIT 1;") or
  2. die ("błąd w pytaniu2");
  3.  
  4. while ($rekord = mysql_fetch_array ($wynik)) {
  5.  
  6. $id = $rekord[0];
  7. $numer = $rekord[1];
  8. $nazwa = $rekord[2];
  9. }
  10.  
  11. $toJestMojaNAZWA1 = $nazwa;
  12.  
  13.  
  14.  
  15. $wynikAA = mysql_query ("SELECT * FROM tabela WHERE numer >= '811' ORDER BY yyDOnrLdz DESC LIMIT 1;") or
  16. die ("błąd w pytaniu2");
  17.  
  18. while ($rekordAA = mysql_fetch_array ($wynikAA)) {
  19.  
  20. $idAA = $rekordAA[0];
  21. $numerAA = $rekordAA[1];
  22. $nazwaAA = $rekordAA[2];
  23. }
  24.  
  25. $toJestMojaNAZWA2 = $nazwaAA;
  26.  
  27.  
  28.  
  29. // ========================
  30.  
  31. echo "$toJestMojaNAZWA1";
  32.  
  33. // ========================
  34.  
  35. echo "$toJestMojaNAZWA2";
  36.  
  37. // ========================
  38.  
  39. echo "$toJestMojaNAZWA1";
  40.  
  41. // ========================
  42.  
  43. echo "$toJestMojaNAZWA2";
  44.  
  45.  


Jestem ciemną blondynką i staram sie nie zaliczać do "jasnych" ale tu zgłupiałam całkowicie. Jestem po 2-miesięcznych wykładach PHP/MySQL zaś praktyki mam mało i staram się uczyć na przykładach?


Proszę o prostą podpowiedź.

Alina Malikowska

mail: alinamala na *niezbędnym do życia gazie*
Powód edycji: [erix]: obfuskacja ;)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Podam algorytm zamiast gotowego rozwiązania wpierw byś popatrzyła co może być nie tak w Twoim podejściu:
1. Piszemy zapytanie.
2. Wysyłamy je do bazy.
3. Sprawdzamy czy zapytanie wykonało się poprawnie.
4. Jeśli nie - wyrzucamy błąd. Jeśli ok - liczymy czy mamy choć jeden rekord wyniku ( dobre zapytanie może nie zwrócić żadnego pasującego! )
5. Jeśli mamy rekord wpisujemy go po prostu do zmiennej. Skoro mamy tylko jeden rekord wyniku maksymalnie to pętle są zbędne (!)

Widzę jednak, że coś sama próbowałaś, więc dam Ci mocno skróconą o obsługę błędów wersję dla jednego zapytania. Drugie jest analogiczne (IMG:style_emoticons/default/smile.gif)
  1. $dane = false;
  2. $sql = 'Tu zapytanie';
  3. if( $resourse = mysql_query( $sql ) ) {
  4. if( mysql_num_rows( $resource ) > 0 ) {
  5. $dane = mysql_fetch_assoc( $resource );
  6. } else {
  7. echo 'Houston, nie dostaliśmy danych w wyniku zapytania';
  8. }
  9. } else {
  10. echo 'Houston, baza ma problem: '.mysql_error();
  11. }
  12. var_dump( $dane );
I teraz zerknij sobie co Ci var_dump zwrócił. Tablicę rekordu czy może false i komunikaty błędów (IMG:style_emoticons/default/smile.gif)
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 Aktualny czas: 14.10.2025 - 01:42