Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Pętla While - prośba laika
peb
post 22.03.2019, 14:21:01
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 3.11.2011

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


Dzień dobry, znów jak trwoga to do...
Mam taki oto fragment kodu:
  1. $i=1;
  2. $lista_numerow = "SELECT telefon, punkty FROM konkurs ORDER BY punkty DESC";
  3. $lista_numerow_rezultat = mysqli_query($polaczenie,$lista_numerow);
  4. while($rezultat = mysqli_fetch_assoc($lista_numerow_rezultat)) {
  5. $punkty_konkursowe = number_format($rezultat['punkty'] * 0.05, 3);
  6. $telefon_konkursowy = $rezultat['telefon'];
  7. $pierwsza = substr($telefon_konkursowy, 0, -8);
  8. $trzy_ostatnie = substr($telefon_konkursowy, -3, 3);
  9. echo '<li><a>'.$i++.' - '.$pierwsza.'.....'.$trzy_ostatnie.' - '.$punkty_konkursowe.'</a></li>'; // tę linię chciałbym wyświetlić X razy
  10. }

pytanie brzmi, jak zmusić tę petlę aby wykonała się wyłącznie x razy? Innymi słowy, żeby wyświetliła wyłącznie 3 wyniki?

Z góry dziękuję za pomoc

Ten post edytował peb 22.03.2019, 14:24:01
Go to the top of the page
+Quote Post
nospor
post 22.03.2019, 14:37:16
Post #2





Grupa: Moderatorzy
Postów: 36 441
Pomógł: 6290
Dołączył: 27.12.2004




Jesli nie znasz mysql poprawnie, a widac ze nie, to na chlopski rozum dac IF ze jesli $i = 3 to BREAK.
  1. if ($i === 3) {
  2. break;
  3. }


Jednak poprawnie jest to zrobic tak,ze jesli chcesz wyswietlac tylko 3 rekordy, to tylko 3 rekordy pobieraj z bazy. Dodaj LIMIT

  1. $lista_numerow = "SELECT telefon, punkty FROM konkurs ORDER BY punkty DESC LIMIT 3";

i juz


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
peb
post 22.03.2019, 14:41:26
Post #3





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 3.11.2011

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


Cytat(nospor @ 22.03.2019, 14:37:16 ) *
Jesli nie znasz mysql poprawnie, a widac ze nie, to na chlopski rozum dac IF ze jesli $i = 3 to BREAK.
  1. if ($i === 3) {
  2. break;
  3. }


Jednak poprawnie jest to zrobic tak,ze jesli chcesz wyswietlac tylko 3 rekordy, to tylko 3 rekordy pobieraj z bazy. Dodaj LIMIT

  1. $lista_numerow = "SELECT telefon, punkty FROM konkurs ORDER BY punkty DESC LIMIT 3";

i juz


I tego mi było trzeba, bardzo Ci dziękuję za pomoc.
Dobrego dnia, pozdrawiam
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 Wersja Lo-Fi Aktualny czas: 16.04.2024 - 06:55