Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875

    Contare quanti record sono associati a un campo del db

    Mi spiego meglio
    ho un database dove inserisco
    id_hotel
    nome_hotel
    stelle
    descrizione
    localita

    Ora vorrei contare quanti hotel sono in ogni localita'
    Per esempio vorrei far uscire qualcosa tipo

    milano - 2 hotel
    parigi - 4 hotel
    venezia - 5 hotel
    ecc rcc
    dove sbaglio??
    Codice PHP:
    $sql "SELECT count(id_hotel) as count, localita FROM tour_operator_hotel";
    $risultato = @mysql_query($sql) or die("Impossibile eseguire l'interrogazione hotel");
    echo 
    "$sql";
    $righe mysql_num_rows($risultato);
    while (
    $riga mysql_fetch_array($risultato)) {
    $id_hotel $riga['id_hotel'];
    $nome_hotel $riga['nome_hotel'];
    $stelle $riga['stelle'];
    $localita $riga['localita'];
    $lista_hotel"<tr><td width=100%><span class=grigio><a href=#>$localita</a></span> - <span class='$class'> $righe hotel</span></td></tr>";
    echo 
    "$lista_hotel";

    mi esce solo un record...

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    devi aggiungere in coda alla query GROUP BY localita, altrimenti come fa "il computer" a sapere che vuoi fare questo tipo di conteggio? tu stai contando il numero totale e basta, nel tuo esempio...

  3. #3
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    E ho provato anche cosi' ma mi dice che ogni localita ha 3 hotel ma non e' vero...
    Codice PHP:
    $sql "SELECT count(id_hotel) as count, nome_hotel, localita FROM tour_operator_hotel group by localita";
    $risultato = @mysql_query($sql) or die("Impossibile eseguire l'interrogazione hotel");
    echo
    "$sql
    "
    ;
    $righe mysql_num_rows($risultato);
    while (
    $riga mysql_fetch_array($risultato)) {
    $id_hotel $riga['id_hotel'];
    $nome_hotel $riga['nome_hotel'];
    $localita $riga['localita'];
    $lista_hotel .= "<tr><td width=100%><span class=grigio><a href=#>$localita</a></span> - <span class='$class'> $righe hotel</span></td></tr>";

    non capisco l'errore quale sia

  4. #4
    Originariamente inviato da allin81
    E ho provato anche cosi' ma mi dice che ogni localita ha 3 hotel ma non e' vero...
    Codice PHP:
    $sql "SELECT count(id_hotel) as count, nome_hotel, localita FROM tour_operator_hotel group by localita";
    $risultato = @mysql_query($sql) or die("Impossibile eseguire l'interrogazione hotel");
    echo
    "$sql
    "
    ;
    $righe mysql_num_rows($risultato);
    while (
    $riga mysql_fetch_array($risultato)) {
    $id_hotel $riga['id_hotel'];
    $nome_hotel $riga['nome_hotel'];
    $localita $riga['localita'];
    $lista_hotel .= "<tr><td width=100%><span class=grigio><a href=#>$localita</a></span> - <span class='$class'> $righe hotel</span></td></tr>";

    non capisco l'errore quale sia
    Non vedo dove stampi il valore della count nel codice!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Può darsi non sia il massimo in prestazione, io farei una query che conta ad ogni ciclo
    Codice PHP:
    $sql "SELECT id_hotel, nome_hotel, localita FROM tour_operator_hotel";
     
    $risultato = @mysql_query($sql) or die("Impossibile eseguire l'interrogazione hotel");
     echo
    "$sql
    "

    $righe mysql_num_rows($risultato); 
    while (
    $riga mysql_fetch_array($risultato)) {

    $count "SELECT COUNT(id_hotel) AS tot_risultati FROM tour_operator_hotel WHERE localita = '" $riga["localita"] . "'";
    $result mysql_query($count);
    $row mysql_fetch_array($result);
    $tot_hotel $row[tot_risultati];
     
    $id_hotel $riga['id_hotel']; 
    $nome_hotel $riga['nome_hotel']; 
    $localita $riga['localita']; 
    $lista_hotel .= "<tr><td width=100%><span class=grigio><a href=#>$localita</a></span> - <span class='$class'> $righe hotel</span></td></tr>";
     } 

  6. #6
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    Originariamente inviato da satifal
    Non vedo dove stampi il valore della count nel codice!
    in che senso? nella query ci sta...

  7. #7
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    Originariamente inviato da Dirk Pitt
    Può darsi non sia il massimo in prestazione, io farei una query che conta ad ogni ciclo
    Codice PHP:
    $sql "SELECT id_hotel, nome_hotel, localita FROM tour_operator_hotel";
     
    $risultato = @mysql_query($sql) or die("Impossibile eseguire l'interrogazione hotel");
     echo
    "$sql
    "

    $righe mysql_num_rows($risultato); 
    while (
    $riga mysql_fetch_array($risultato)) {

    $count "SELECT COUNT(id_hotel) AS tot_risultati FROM tour_operator_hotel WHERE localita = '" $riga["localita"] . "'";
    $result mysql_query($count);
    $row mysql_fetch_array($result);
    $tot_hotel $row[tot_risultati];
     
    $id_hotel $riga['id_hotel']; 
    $nome_hotel $riga['nome_hotel']; 
    $localita $riga['localita']; 
    $lista_hotel .= "<tr><td width=100%><span class=grigio><a href=#>$localita</a></span> - <span class='$class'> $righe hotel</span></td></tr>";
     } 
    questo mi da 7 hotel per ogni localita, mentre 7 sono gli hotel in totale (4 in una localita, 2 in una localita', 1 nell'ultima localita)

  8. #8
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    togli nome_hotel dalla query in cui conti e lasciaci solo la località

  9. #9
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    Originariamente inviato da clasku
    togli nome_hotel dalla query in cui conti e lasciaci solo la località
    e che cambia?? l'ho fatto ma non cambia niente...
    tu intendevi nel mio codice o in quello che hanno messo gli altri utenti?

  10. #10
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    Originariamente inviato da allin81
    Codice PHP:
    $sql "SELECT count(id_hotel) as count, nome_hotel, localita FROM tour_operator_hotel group by localita";
    $risultato = @mysql_query($sql) or die("Impossibile eseguire l'interrogazione hotel");
    echo
    "$sql
    "
    ;
    $righe mysql_num_rows($risultato);
    .................
    $lista_hotel .= "<tr><td width=100%><span class=grigio><a href=#>$localita</a></span> - <span class='$class'> $righe hotel</span></td></tr>"
    non capisco l'errore quale sia
    Non stai usando il valore del count, ma quello di mysql_num_rows

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.