Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zapytanie SELECT nie zwraca wszystkich rekordów
p_woznica
post 4.12.2023, 19:45:51
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 18.05.2005
Skąd: Radom

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


Witam. Pobieram nazwisko i imię z tabeli zapytaniem, potem wkładam je do selecta.
// polaczenie z baza itd.
  1. IF ($rezultat = @$polaczenie->query(
  2. sprintf("SELECT DISTINCT (odpowiedz) AS kontakt FROM $tablename WHERE prot_p = 'czeka na odbiór' and u_nazwa_s='$u_nazwa_s' order by kontakt ASC",
  3. mysqli_real_escape_string($polaczenie,$odpowiedz),
  4. mysqli_real_escape_string($polaczenie,$odpowiedz))))
  5. $ile_rek = $rezultat->num_rows;
  6. IF($ile_rek>0)
  7. {
  8. $wiersz = $rezultat->fetch_assoc();
  9. }
  10.  
  11.  
  12. echo "<select title=\"odpowiedzialny\" id=\"Combobox1\" name=\"kontakt\">";
  13. while (list($odpowiedz) = mysqli_fetch_array($rezultat))
  14. print "<option class=womy>$odpowiedz";
  15. print "</select>";


W tabeli występuje 6 nazwisk spełniający warunek zapytania. W zależności od sortowania ASC lub DESC w pierwszym zapytaniu ASC zwraca 5 rekordów (nazwisk) bez pierwszego
np. na literę B, za to w sortowaniu DESC jest zwracane nazwisko na litere B jako ostatnie bo to logiczne, za to ucina nazwisko zaczytające się na literę W. Poradziłem sobie w ten sposób że zrobiłem 2 zapytania w których występują wszystkie nazwiska. Myślę że może ktoś się już gdzieś spotkał z podobnym problemem i podpowie jakąś radę aby były wszystkie nazwiska w jednym zapytaniu.


--------------------
Go to the top of the page
+Quote Post
trueblue
post 5.12.2023, 07:29:53
Post #2





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

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


1. Sprawdź bezpośrednio na bazie danych co zwraca zapytanie.
2. Brakuje zamknięcia tagu <option>.


--------------------
Go to the top of the page
+Quote Post
p_woznica
post 5.12.2023, 17:16:22
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 18.05.2005
Skąd: Radom

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


  1. echo "<select title=\"odpowiedzialny\" id=\"Combobox1\" name=\"kontakt\">";
  2. while (list($kontakt) = mysqli_fetch_array($rezultat))
  3. print "<option class=womy>$kontakt</option>";
  4. print "</select>";

Zamknąłem option Dzięki za spostrzegawczość. Zapytanie do bazy bezpośrednio zwraca 6 rekordów prawidłowo, a nastronie w select to samo 5 rekordów.


--------------------
Go to the top of the page
+Quote Post
nospor
post 5.12.2023, 17:17:47
Post #4





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6297
Dołączył: 27.12.2004




Twoj kod ma tyle bledow ze az dziw ze mozna tyle popelnic w tak krotkim kodzie.
No ale wracajac do problemu to twoj zgubiony rekord jest tutaj
$wiersz = $rezultat->fetch_assoc();

wywal to a rekord sie znajdzie.

ps: przenosze na przeszkole, z mysql to nie ma zadnego zwiazku


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

"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
p_woznica
post 5.12.2023, 18:11:29
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 18.05.2005
Skąd: Radom

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


Dziękuję za pomoc. Ktoś mi kiedyś powiedział: "jeżeli znajdzie się jeden człowiek , który będzie korzystał z twojego programu (aplikacji) to już odniosłeś sukces. Jedni pomagają drudzy korzystają, wszyscy mamy frajdę.


--------------------
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: 27.04.2024 - 11:27