Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Pętla while nie pętluje
pawel06281990
post 21.11.2022, 16:54:29
Post #1





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 10.01.2014

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


Witam,

Mam problem ze skryptem, a taki, że jak robię formułką pętli to pętla nie chce mi pętlować o to mój skrypt

  1. $limit = 10; // - limit wyswietlonych zmałych na jednej stronie
  2. $rows = dbcount("(Id)", "user", $where);
  3. if (empty($_GET['pages'])) {
  4. $query = dbquery("SELECT * FROM user WHERE nazwisko like '$nazwisko% ORDER BY nazwisko ASC LIMIT $limit");
  5. } else {
  6. $query = dbquery("SELECT * FROM user WHERE nazwisko like '$nazwisko% ORDER BY nazwisko ASC LIMIT ".$_GET['pages'].", $limit");
  7. }
  8.  
  9. while ($wyszukaj = mysqli_fetch_assoc($query)) {
  10.  
  11. echo $wyszukaj['nazwisko'];
  12. }
  13.  


I ustawiłem limit na 10 zapytań na jednej stronie a on mi pokazuje 1 osobę, którą znalazła a w bazie o nazwisku kowalski mam 33 zapytań.

czemu mi nie chce pętlowa??

z góry dziękuję za pomoc.
Go to the top of the page
+Quote Post
nospor
post 21.11.2022, 17:28:45
Post #2





Grupa: Moderatorzy
Postów: 36 446
Pomógł: 6292
Dołączył: 27.12.2004




zapytanie co tu pokazales ma blad skladni wiec dziw ze w ogole cokolwiek ci pokazalo.

Jak rozpoczynasz tekst w LIKE to wypadaloby go tez zamknac

ps: i nalistosc boska nie zadne 10zapytan czy 33 zapytan, tylko 10 rekordow i 33 rekordow


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

"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
pawel06281990
post 21.11.2022, 17:34:27
Post #3





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 10.01.2014

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


Cytat(nospor @ 21.11.2022, 17:28:45 ) *
zapytanie co tu pokazales ma blad skladni wiec dziw ze w ogole cokolwiek ci pokazalo.

Jak rozpoczynasz tekst w LIKE to wypadaloby go tez zamknac

ps: i nalistosc boska nie zadne 10zapytan czy 33 zapytan, tylko 10 rekordow i 33 rekordow


Nawet jak poprawie to nic mi nie pętluje

  1. $limit = 10; // - limit wyswietlonych zmałych na jednej stronie
  2. $rows = dbcount("(Id)", "user", $where);
  3. if (empty($_GET['pages'])) {
  4. $query = dbquery("SELECT * FROM user WHERE nazwisko like '$nazwisko%' ORDER BY nazwisko ASC LIMIT $limit");
  5. } else {
  6. $query = dbquery("SELECT * FROM user WHERE nazwisko like '$nazwisko%' ORDER BY nazwisko ASC LIMIT ".$_GET['pages'].", $limit");
  7. }
  8.  
  9. while ($wyszukaj = mysqli_fetch_assoc($query)) {
  10.  
  11. echo $wyszukaj['nazwisko'];
  12. }


A powinno mi podać wybrane zapytanie po nazwisku kowalski a on mi nie podaje w ogóle nic, aby mam jedno zapytanie pokazane.

EDIT: poprawiłem i teraz mam tak jak powinno być.

Ten post edytował pawel06281990 21.11.2022, 17:37:48
Go to the top of the page
+Quote Post
nospor
post 21.11.2022, 17:42:22
Post #4





Grupa: Moderatorzy
Postów: 36 446
Pomógł: 6292
Dołączył: 27.12.2004




siedzis juz tyle lat w php, no juz naprawde moglbys sie nayczyc wyswietlac bledy zapytan i nie musiec latac z takimi pierdami po forach wink.gif


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

"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
Tomplus
post 21.11.2022, 22:06:28
Post #5





Grupa: Zarejestrowani
Postów: 1 834
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

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


Sprawdź najpierw zawartość $wyszukaj, czasem lepiej zamiast używać pętli while() użyć pętle foreach().

I jak coś nie ma takiego słowa jak pętlować, jest słowo iteracja. Dlatego używa się zmiennej $i w pętlach.
Go to the top of the page
+Quote Post
trueblue
post 22.11.2022, 08:04:08
Post #6





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


Swoją drogą jeśli $_GET['pages'] jest puste, to zapytanie sprowadza się do LIMIT 0,x, czyli w kodzie wystarczy jedno zapytanie SQL, bez if.
I najpewniej przyczyną jest mieszanie funkcji WP i czystego PHP.


--------------------
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: 18.04.2024 - 15:05