Wyciąganie Danych i Query (SELECT)
Zrobiłeś tabele, podłączyłeś bazę, no i... trzeba te zwały danych wyświetlić na ekranie. Robimy loopa z fetch_assoc.
Wyciąganie Danych z Bazy
Mając utworzone przed momentem (w poprzedniej lekcji) połączenie $conn, w końcu musisz rzucić na bazę zapytanie (np. słynny SELECT).
Wykonywanie polecenia SQL
<?php
// 1. Otwieramy bramę do połączenia
$conn = new mysqli('localhost', 'root', '', 'wedkarstwo');
// 2. Tworzymy komendę
// Do tej zmiennej ładujesz po prostu polecenie w języku SQL z poprzedniego działu.
$sql = "SELECT imie, nazwisko FROM wędkarze WHERE punkty > 10";
// 3. Odpalamy (query)!
// I zbieramy wynik tej egzekucji (czyli odzyskane rekordy) do innej, grubej zmiennej.
$wynik = $conn->query($sql);
?>Wyświetlanie wyników (Pętla While + fetch_assoc)
$wynik po powrocie z bazy danych jest gigantycznym pakunkiem pełnym rekordów. Nie możesz na nim napisać zwykłego echo $wynik;, PHP wyrzuci fatalny błąd Cannot convert Object to string. Z tej bazy trzeba wydłubać po jednym kawałku na raz, niczym wędkarz robaki z puszki. Wkracza metoda fetch_assoc() (Przynieś asocjacyjną tablicę, kojarzysz to już!).
<?php
// Wykonaliśmy już $wynik = $conn->query(...)
// Jeśli ilość znalezionych rzędów jest większa niż 0 (znaleziono kogoś)
if ($wynik->num_rows > 0) {
// Pętla odpalana dla każdego rzędu tak długo, aż skończą się rekordy!
// Z każdą inkrementacją (podbiciem), do zmiennej '$wiersz' wpada jeden zrekonstruowany uczeń/wędkarz.
while($wiersz = $wynik->fetch_assoc()) {
// To już jest nasza Asocjacyjna Tablica! Odwołujemy się po nazwie Kolumny z Bazy MySQL!
echo "Wędkarz: " . $wiersz["imie"] . " " . $wiersz["nazwisko"] . "<br>";
}
} else {
echo "Brak wyników do wyświetlenia.";
}
$conn->close();
?>I ten wiersz musisz wkuć na pamięć. while($wiersz = $wynik->fetch_assoc()) - Ta linijka pozwala płynnie w 2 sekundy wyciągnąć dowolną listę z bazy na ekran!
