• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[PHP] Jak wyświetlić wyniki zapytania MySQL na stronie?

42 Warsaw Coding Academy
0 głosów
10,976 wizyt
pytanie zadane 23 marca 2016 w PHP przez KamQiX Dyskutant (9,090 p.)

Witam. Siedzę na tym już prawie godzinę i nadal nie mam zielonego pojęcia jak wyświetlić poszczególne wyniki zapytania na stronie.

Otóż przyjmijmy, że mam zrobioną tabelę w bazie i tylko jeden wpis:

id: 1, user: jasio, login: jasio232, dzientygodnia: poniedzialek

W PHP wpisuję zapytanie: 


$rezultat = $polaczenie->query("SELECT * FROM plan WHERE dzientygodnia='poniedzialek' AND user='jasio'");

 

Czyli wynikiem powinien być ten jeden rekord, który istniał w bazie. Teraz pytanie. Jak wyświetlić login jasia i id?

Z góry dziękuję za pomoc!

 

1 odpowiedź

+1 głos
odpowiedź 23 marca 2016 przez Arkadiusz Waluk Ekspert (290,090 p.)
wybrane 23 marca 2016 przez KamQiX
 
Najlepsza
Zapewne to mysqli więc http://php.net/manual/en/mysqli-result.fetch-assoc.php jeśli chcesz otrzymać dane w formie tablicy asocjacyjnej.

Jeśli oczekujesz zawsze jednego rekordu to wystarczy po prostu raz to wywołać, jeśli ma zwrócić kilka rekordów to albo w pętli trzeba zrobić fetch_assoc albo skorzystać z fetch_all. Jeszcze jakby coś wspomnę, że jest fetch_row ale odwoływanie się po cyfrowych indeksach przecież średnio wygodne.
komentarz 23 marca 2016 przez KamQiX Dyskutant (9,090 p.)
Obecnie testowo jest jeden wpis, ale będzie ich więcej w tej tabeli, choć wynikiem zapytania zawsze będzie konkretnie jeden rekord. W takim przypadku z czego najlepiej skorzystać? Dodam, że PHP bawię się dopiero od 1,5 tygodnia, także potrzebowałbym "głębszej" pomocy, co również nie oznacza, że oczekuję na jakiegoś gotowca.
komentarz 23 marca 2016 przez Arkadiusz Waluk Ekspert (290,090 p.)

To co będzie w tabeli nie ma tutaj znaczenia, istotne jest to ile rekordów będzie zwracało zapytanie. Jeśli zawsze jeden to wystarczy normalnie raz użyć fetch_assoc. W przykładzie masz wszystko ładnie pokazane, tylko Tobie nie potrzebna pętla:

http://php.net/manual/en/mysqli-result.fetch-assoc.php#refsect1-mysqli-result.fetch-assoc-examples

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";
$result = $mysqli->query($query);
$row = $result->fetch_assoc();
var_dump($row);

Ot taką małą przeróbkę pierwszego przykładu zrobiłem. var_dump ładnie Ci pokaże co zwraca zapytanie, będzie to tablica asocjacyjna w której nazwy kluczy to będą nazwy kolumn z bazy. Aby wyświetlić tylko jedną wartość wystarczy odwołać się do danego indeksu, np. jeśli kolumna ma nazwę id to echo $row['id'] Ci je wyświetli. No to tyle, mam nadzieję że teraz zrozumiesz, starałem się prosto opisać.

Dodam jeszcze, że SELECT * jest złą praktyką. I jeszcze, że zamiast mysqli lepiej używać PDO.

komentarz 23 marca 2016 przez KamQiX Dyskutant (9,090 p.)
Teraz wszystko działa :] Dzięki bardzo!

Podobne pytania

0 głosów
1 odpowiedź 2,295 wizyt
pytanie zadane 4 sierpnia 2016 w PHP przez marcin1988 Początkujący (430 p.)
0 głosów
0 odpowiedzi 219 wizyt
pytanie zadane 27 grudnia 2016 w PHP przez Dar3Q Obywatel (1,200 p.)
0 głosów
1 odpowiedź 356 wizyt
pytanie zadane 19 maja 2019 w PHP przez francus11 Gaduła (3,250 p.)

93,379 zapytań

142,380 odpowiedzi

322,534 komentarzy

62,736 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...