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

    [MYSQL] Conteggio dei Record

    Ciao a tutti,
    ho un piccolo problema che non riesco a risolvere.....

    Allora ho la necessità di effettuare il conteggio dei record presenti in un DB ed in particolare voglio contare solo i record che contengono un campo pari a zero.

    Mi spiego meglio con un semplice esempio.

    Tabella Mysql: Tabella_prova

    codice:
    ID | Campo_A | Campo_B | Campo_C |
    In particolare il recordo: Campo_A (INT) è un campo di tipo INTERO e quando esso non viene compilato, di defoult il DB aggiunge il numero 0 (zero)

    Allora in questo caso io vorrei contare i tutti i record, della tabella_prova , che contengono il campo_A uguale a 0 (zero). Io per fare tale conteggio utilizzo la seguente query:

    codice:
    $query = "SELECT count(*) AS tot FROM tabella_prova Campo_A=0  ";
    $result = mysql_query($query, $db);
    $row = mysql_fetch_array($result);
    Il problema è che quando cerco di conteggiare i campi pari a 0 (zero) mi da un errore:

    codice:
    Warning: Division by zero
    Molto probabilmente l'errore è dovuto al fatto che il campo_A è di tipo intero ed io cerco di conteggiare solo i campi che contengono il numero 0.

    Sapete dirmi perchè mi da qusto errore?
    Come posso risoLvere?

    grazie

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    manca il where nella query.

  3. #3
    SELECT count(*) AS tot
    FROM tabella_prova
    WHERE Campo_A = 0

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    Scusate ma ho commesso un errore di battitura!

    Il WHERE c'è e c'è sempre stato e l'errore persiste!

    Ecco la query giusta:


    codice:
    $query = "SELECT count(*) AS tot FROM tabella_prova WHERE Campo_A=0  ";
    $result = mysql_query($query, $db);
    $row = mysql_fetch_array($result);
    Altre idee?

  5. #5
    sei sicuro che l'errore sia nella query?

    mi sa che e' altrove.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Dove altro potrebbe essere l'errore?

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Se tu postassi un po' più di codice...

  8. #8
    Io utilizzo la stessa query in due pagine diverse, l'unica differenza è che in una conteggio i campi diversi da zero e in un altra i campi uguali a zero e l'errore si verifica solo in quella uguale a zero. In ogni caso ecco il codice:

    codice:
    <?php 
    // Parte relativa alla connessione al DB
    	
    	include("config.php");
    			
    	$db = mysql_connect($db_host, $db_user, $db_password);
    	if ($db == FALSE)
    	die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    	mysql_select_db($db_name, $db)
    	or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    
    $query = "SELECT count(*) AS tot FROM nome_tabella WHERE campo_A=0 AND fotografo='$fotografo' ";
    $result = mysql_query($query, $db);
    $row = mysql_fetch_array($result);
    $pages = intval(($row[tot]-1) / $step)+1; 
    
    ?>
    Grazie per l'aiuto.

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ma $step ha un valore?

  10. #10
    Grazie ho risolto!

    Il problema era la variabile $steo che non aveva nessun valore assegnato!

    Grazie e ciao

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.