Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    query count per paginazione in php

    Salve ragazzi, ho un piccolo problema.
    Devo fare una paginazione in php.

    Ho questa query mia che fa il count:
    Codice PHP:
    // esecuzione prima query
    $queryCountSql "SELECT * FROM nome_tabella";
    $result $dbConn->query($queryCountSql);
    $row_cnt $result->num_rows
    Funziona bene, e ottengo il numero di righe.

    Poi da alcuni tutorial compreso quello di html vedo una cosa del genere:
    Codice PHP:
    // esecuzione prima query
    $count mysql_query("SELECT COUNT(id) FROM nome_tabella");
    $res_count mysql_fetch_row($count); 
    Che utilizza la libreria mysql anzichè mysqli.

    Io vorrei utilizzare la mysqli (primo esempio), ma vorrei fare il "count" nell'istruzione sql non la select e basta. Ha miglioramenti nelle prestazioni fare un count piuttosto che una query select ? E possibile farlo con il mio metodo ? Grazie

  2. #2
    rispondo così un pò a spanne: perchè fare un'interrogazione che ti ritorna in potenza migliaia di record che non utilizzerai mai, quando ne puoi fare una che ti ritorna solo un numero?

    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Ma infatti è quello che chiedo. Vorrei fare il count sulla select ma utilizzare le librerie mysqli.
    Come faccio ?

  4. #4
    Così ottieni il valore del count come chiedi tu....

    Codice PHP:
    // esecuzione prima query
    $queryCountSql "SELECT COUNT(id) FROM articles";
    $result $dbConn->query($queryCountSql);
    $row $result->fetch_row();

    // numero totale del count
    $row_cnt $row[0]; 
    Potresti per paginare utilizzare le multi query di mysqli (dato che mysqli lo consente)
    Ti copio un esempio preso da qui : http://www.phpnews.it/articoli/estensione-mysqli-ii/3/
    Codice PHP:
    <?php  
    02.
    // provo a connettermi al server MySQL 
    03.$mysqli = new mysqli('localhost''root''password_db''test'); 
    04. 
     
    05.
    // preparo le query da inviare al server MySQL 
    06.$query "SELECT COUNT(*) FROM mia_tabella;"
    07.$query .= "SELECT * FROM mia_tabella"
    08. 
     
    09.
    // eseguo le query 
    10.$mysqli->multi_query($query); 
    11. 
     
    12.
    // recupero il primo set di risultati (metodo buffered) 
    13.$result $mysqli->store_result(); 
    14. 
     
    15.
    // estraggo i risultati 
    16.$row $result->fetch_row(); 
    17.printf("Numero utenti: %s

    \n"
    $row[0]); 
    18. 
     
    19. 
     
    20.
    // chiudo il primo set di risultati 
    21.$result->close(); 
    22. 
     
    23.
    // passo al secondo set di risultati 
    24.$mysqli->next_result(); 
    25. 
     
    26.
    // recupero il secondo set di risultati (metodo buffered) 
    27.$result $mysqli->store_result(); 
    28. 
     
    29.
    // estraggo i risultati 
    30.echo "Elenco utenti:
    \n"

    31.while ($row $result->fetch_assoc()) 
    32.
    33.    
    printf 
    ("ID utente:%d, nome:%s, cognome:%s\n
    "

    34.    
    $row
    ['user_id'], $row['nome'],$row['cognome']); 
    35.
    36. 
     
    37.
    // chiudo il secondo set di risultati 
    38.$result->close(); 
    39. 
     
    40.
    // chiudo la connessione al server MySQL 
    41.$mysqli->close(); 
    42.?>
    Non è una paginazione ma spiega come utilizzare le multiquery molto bene.
    ;-)
    lucasweb.it
    web design & development >>>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.