• User Newbie

    estrazione ciclica dati con 2 dati alla volta

    salve, ho un problema con l'estrazione multipla di dati da un database mysql.
    mi serve in questo caso estrarre i dati ma due alla volta, finchè è uno alla volta tutto ok ma due alla volta stò facendo vari tentativi ma non riesco
    <?php $stmtoption1 = $DB_con->prepare('SELECT id, name, image, location, description FROM cdmi5_events where location ="Bagni" ORDER BY id ASC ');
    $stmtoption1->execute();
    while($row2=$stmtoption1->fetch(PDO::FETCH_ASSOC))
    { extract($row2);{
    ?>
    <p><? echo $row2['name'];?></p>
    <p>< ? echo $row2['id'];?>"
    .......
    <?php }}?>
    prima di chiudere il ciclo dovrei stampare il record successivo ma non riesco
    idee? grazie per l'aiuto


  • User

    Usa le clausole LIMIT ed OFFSET nella tua query, aggiornando il valore di OFFSET per ogni query successiva.

    SELECT aaa FROM bbb WHERE xxx ORDER BY eee ASC LIMIT 2 // Ti seleziona i primi 2 record

    SELECT aaa FROM bbb WHERE xxx ORDER BY eee ASC LIMIT 2 OFFSET 2 // Ti seleziona i record 3 e 4

    Aggiornando il valore di OFFSET nelle query successive (diventerà 4, 6, 8 etc.) avrai quella che si chiama paginazione dei risultati, e potrai prendere i dati 2 alla volta.

    Io ovviamente non conosco il tuo codice quindi potrei parlare a vanvera, però spesso la paginazione si usa per blocchi molto grandi di risultati in modo da velocizzare le singole query.
    Se questo non è il tuo caso potresti anche pensare di prenderti tutti i dati in una singola query e poi fare la paginazione in php.