Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie SELECT nie zwraca wszystkich rekordów
Forum PHP.pl > Forum > Przedszkole
p_woznica
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.
trueblue
1. Sprawdź bezpośrednio na bazie danych co zwraca zapytanie.
2. Brakuje zamknięcia tagu <option>.
p_woznica
  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.
nospor
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
p_woznica
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ę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.