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

    problemi con la funzione count

    ciao a tutti,
    ho riscontrato dei problemi con la funzione COUNT di mysql, la query è questa

    Codice PHP:
    $id_news=$_GET["id_news"];
        
    $count="SELECT COUNT(idC) //idC = chiave primaria della tabella
                    FROM commenti //nome della tabella 
                    WHERE codNews=
    $id_news ";
                    
    $querycount=mysql_query($count);
                    if(
    $querycount){
                        echo(
    $querycount);
                    } 
    dove in pratica mi dovrebbe contare il n° di commenti relativi a quella news!
    quando stampo il risultato mi esce: Resource id: #8
    e invece vorrei che uscissero appunto il numero di commenti relativi a quella news! Forse è sbagliata la sintassi?!?

    chi mi aiuta?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Se idC è la chiave primaria della tabella è univoca e il suo valore non può che essere uno.

    Dovrebbe essere una cosa del genere:

    select count(campocommenti) as quanti from commenti
    WHERE codNews=$id_news group by idC

  3. #3
    echo(mysql_result($querycount, 0));

    metti questo, la query SQL è corretta, semplicement il risultato di mysql_query non è direttamente leggibile, bisogna usare le funzioni apposite per vederlo

  4. #4
    Originariamente inviato da nicola75ss
    Se idC è la chiave primaria della tabella è univoca e il suo valore non può che essere uno.

    Dovrebbe essere una cosa del genere:

    select count(campocommenti) as quanti from commenti
    WHERE codNews=$id_news group by idC
    ecco cosa non quadrava, ora infatti funziona!
    grazie mille!

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Figurati.

  6. #6
    Scusami ma mi pare che la query che stavi usando all'inizio fosse corretta ...
    SELECT COUNT(idC) FROM commenti WHERE codNews=$id_news

    Non centra se idC è la chiave o meno e dunque unica, quello che a te interessa è contare quante righe ci sono che hanno codNews = $id_news, dunque puoi anche mettere COUNT(*) che va benissimo perché ti conta quanti risultati hai con codNews = $id_news.

    Mentre invece con la query di nicola75ss ottieni come risultato 1 per il numero di volte che codNews = $id_news (a cause del GROUP BY sulla chiave primaria che è unica)

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da spoon25
    Scusami ma mi pare che la query che stavi usando all'inizio fosse corretta ...
    SELECT COUNT(idC) FROM commenti WHERE codNews=$id_news

    Non centra se idC è la chiave o meno e dunque unica, quello che a te interessa è contare quante righe ci sono che hanno codNews = $id_news, dunque puoi anche mettere COUNT(*) che va benissimo perché ti conta quanti risultati hai con codNews = $id_news.

    Mentre invece con la query di nicola75ss ottieni come risultato 1 per il numero di volte che codNews = $id_news (a cause del GROUP BY sulla chiave primaria che è unica)
    Hai ragione spoon. Ho sbagliato la clausola group by.
    Io sto supponendo che lui abbia una struttura del tipo
    idcommento //chiave primaria
    idnews // new a cui si riferisce il commento
    commento

    quindi dovrebbe essere group by idnews e non idc come ho scritto.

  8. #8
    Ma sopratutto leggere il risultato e non il resource id # come rimarcato da spoon25 in precedenza.


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

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Chiedo venia.

  10. #10
    Originariamente inviato da spoon25
    Scusami ma mi pare che la query che stavi usando all'inizio fosse corretta ...
    SELECT COUNT(idC) FROM commenti WHERE codNews=$id_news

    Non centra se idC è la chiave o meno e dunque unica, quello che a te interessa è contare quante righe ci sono che hanno codNews = $id_news, dunque puoi anche mettere COUNT(*) che va benissimo perché ti conta quanti risultati hai con codNews = $id_news.

    Mentre invece con la query di nicola75ss ottieni come risultato 1 per il numero di volte che codNews = $id_news (a cause del GROUP BY sulla chiave primaria che è unica)
    si, infatti volevo quotare te ho sbagliato anche a quotare!!! :maLOL:

    cmq gia che state la mysql_result() si può usare anche con una funzione SUM?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.