Autor Zpráva
L0K0
Profil
Dobrý den, potřebuji pomoc s menším problémem.

Při výpisu z databáze např. 3 záznamů potřebuji, aby se výpis provedl několikrát do daného čísla.
Řekněme, že při této struktuře viz obrázek:



Chci vypsat toto například do čísla 8: Pepa, Anna, Jarmila, Pepa, Anna, Jarmila, Pepa, Anna

Hledal jsem a hledal, násobení while mi nevycházelo, určitě to je banalita, ale já nevím už jak dále.
Děkuji za případnou pomoc..
Kajman
Profil
Pokud dojdete na konec dat, skočte přes seek funkci na začátek dat. Ve while použjte to číslo 8, ale do while vstupte jen pokud výsledek vrátil alespoň jeden řádek.
L0K0
Profil
Bohužel jsem tuto funkci nepochopil.. Žádná verze mi nefunguje.
juriad
Profil
L0K0:
Ouha, křišťálová koule se mi rozbila. Ukaž kód, který máš a nefunguje ti. Rada Kajmana je dobrá.
L0K0
Profil
<?php
    $query = $mysqli->query("SELECT * FROM jmena ORDER BY id");
    
    $query->data_seek(8);
    while($row = $query->fetch_array()){
        echo $row['name']; 
    }
?>

Nevím jak by to přesně mělo být.. :/
L0K0
Profil
Jak to mám tedy použít?
Jan Tvrdík
Profil
Třeba takto:
$count = 8;
$result = $mysqli->query("SELECT * FROM jmena ORDER BY id");

if ($result->num_rows > 0) {
    for ($i = 0; $i < $count; $i++) {
        $row = $result->fetch_assoc();
        if (!$row) {
            $result->data_seek(0);
            $row = $result->fetch_assoc();
        }
        
        echo $row['name'] . "\n";
    }
}
L0K0
Profil
Děkuji moc za pomoc, upřímně s touto funkcí jsem se setkal poprvé a vůbec jsem o ní nic nevěděl.

Když to tak teď vidím, je to tak logické, díky ještě jednou. LOCK.. :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: