Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [PHP\MySql] Numero record presenti in una tabella

    Ciao ragazzi,

    ho necessita di sapere quanti record sono presenti in una tabella.

    Ho provato in vari modi ma ottengo risulatati inattesi. . .

    Questo e' il codice che uso . . .

    Codice PHP:

        $query 
    "SELECT COUNT(*) FROM tabella";    
        
    $result mysql_query($query) or die (mysql_error());    
        
    $totalrows mysql_num_rows($result);    
        
    //echo $totalrows; 
    se tolgo il commento alla echo mi stmpa 1 . . . . come mai?

    grazie . . .

    P.S.
    da phpMyAdmin vedo che la tabella ha 72 campi . . .
    Se una funzione riceve come argomento un puntatore di puntatore di puntatore quando la invochi ricordati che puo ricevere o un puntatore di puntatore di puntatore o l'indirizzo di un puntatore di puntatore

  2. #2
    Ti stampa 1 perche' tu chiedi il numero di record che ha la tabella risultato della query, e quella query gia' di per se' conteggia i record della tabella e li restituisce come tabella da un singolo campo con un singolo record.

    Prova:

    codice:
    $query = "SELECT COUNT(*) FROM tabella";    
        $result = mysql_query($query) or die (mysql_error());    
        $totalrows = mysql_result($result,0,0);    
        echo $totalrows;

  3. #3
    mi da questo errore:


    Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 6 in file.php on line 279


    e nn mi stampa i risulatati . . .
    Se una funzione riceve come argomento un puntatore di puntatore di puntatore quando la invochi ricordati che puo ricevere o un puntatore di puntatore di puntatore o l'indirizzo di un puntatore di puntatore

  4. #4
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    La funzione mysql_num_rows() restituisce il numero di righe in un risultato, relativamente ad una selezione di record. Nel tuo caso, avendo utilizzato solo COUNT() nella query è logico che il risultato sia 1. Per recuperare il valore estratto dalla tua query aggiungi un alias e richiamalo come faresti con un qualsiasi campo. "SELECT COUNT(*) AS conto FROM tabella", in questo modo puoi leggere il risultato nel "nuovo" campo: conto.

  5. #5
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    puoi anche tutilizzare questa funzione:
    Codice PHP:
    function mysql_evaluate($query$default_value="undefined") {
        
    $result mysql_query($query);
        if (
    mysql_num_rows($result)==0)
            return 
    $default_value;
        else
            return 
    mysql_result($result,0);
    }

    $customer_count mysql_evaluate("SELECT COUNT(*) FROM user");

    echo 
    $customer_count

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Io farei così

    Codice PHP:
    $query "SELECT * FROM tabella";    
        
    $result mysql_query($query) or die (mysql_error());    
        
    $totalrows mysql_num_rows($result);    
        echo 
    $totalrows

    Facile e veloce

  7. #7
    Originariamente inviato da clasku
    Io farei così

    Codice PHP:

    $query 
    "SELECT * FROM tabella";    
    $result mysql_query($query) or die (mysql_error());    
    $totalrows mysql_num_rows($result);    
    echo 
    $totalrows

    Facile e veloce
    grazie, ma già c'avevo provato e non andava!


    Originariamente inviato da mariox
    puoi anche tutilizzare questa funzione:
    Codice PHP:

    function mysql_evaluate($query$default_value="undefined") {
        
    $result mysql_query($query);
        if (
    mysql_num_rows($result)==0)
            return 
    $default_value;
        else
            return 
    mysql_result($result,0);
    }

    $customer_count mysql_evaluate("SELECT COUNT(*) FROM user");

    echo 
    $customer_count
    non funziona neanche questa soluzione perchè mi da undefined . . .




    neida potresti spiegarti meglio . . .
    Se una funzione riceve come argomento un puntatore di puntatore di puntatore quando la invochi ricordati che puo ricevere o un puntatore di puntatore di puntatore o l'indirizzo di un puntatore di puntatore

  8. #8
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    E' semplice. Se hai deciso di continuare ad utilizzare la tua prima query, allora fai così:

    codice:
    SELECT COUNT(*) AS conto FROM tabella
    Poi, una volta eseguita la query, vai a leggere il risultato memorizzato nel campo "conto", così:

    Codice PHP:
    //estrai i risultati della query
    echo $row['conto']; 

  9. #9
    Codice PHP:

        $query2 
    "SELECT COUNT(*) AS conto FROM " $query;
            
    /*query e' la parte utile della prima query*/
        
    $result mysql_query($query2) or die (mysql_error());
        
    $numofpages $result['conto'];
        echo 
    $numofpages

    non va . . .
    Se una funzione riceve come argomento un puntatore di puntatore di puntatore quando la invochi ricordati che puo ricevere o un puntatore di puntatore di puntatore o l'indirizzo di un puntatore di puntatore

  10. #10
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Oltre ad eseguire la query devi anche estrarre i risultati...

    Codice PHP:
    //esegui la query...
    $row mysql_fetch_object($result);
    echo 
    $row->conto
    Questo se ti interessa un risultato singolo, altrimenti utilizzi un comunque ciclo while.

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.