Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309

    problema con SELECT COUNT (*)

    salve, ho un piccolo problema...
    nella tabella UTENTI ho inserito 5 record.

    |id| online |nick
    ------------------
    |1 |ON LINE| nick1
    ------------------
    |2 |ON LINE| nick2
    ------------------
    |3 |OFFLINE| nick3
    ------------------
    |4 |OFFLINE| nick4
    ------------------
    |5 |ON LINE| nick5
    ------------------

    ora... con questo codice:
    Codice PHP:
    $query="SELECT * FROM `utenti` where online='ON LINE'";
    $risultato=mysql_query($query);

    (
    $riga mysql_fetch_array($risultato));

    $result_conteggio =  mysql_query(
    SELECT COUNT(*) AS totale 
    FROM utenti where online='ON LINE'"
    ); 
    $conteggio2 mysql_fetch_array($result_conteggio); 
    $conteggio $conteggio2['totale'];

    if (
    $conteggio != 0){..... ..... 
    mi restituisce che on line c'è solo l'id 2 e 5. Se provo a cambiare l'id 1 in OFFLINE mi restituisce che ON LINE c'è solo l'id 5 :master:
    come mai?? grazie a tutti coloro che mi daranno una mano

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120

    Re: problema con SELECT COUNT (*)

    Originariamente inviato da Gina
    mi restituisce che on line c'è solo l'id 2 e 5. Se provo a cambiare l'id 1 in OFFLINE mi restituisce che ON LINE c'è solo l'id 5 :master:
    come mai?? grazie a tutti coloro che mi daranno una mano
    Scusa ma da cosa lo deduci?
    Con una count(*) ti esce il numero di record, mica ti dice quali sono

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    perche dopo questo pezzo di codice...

    if ($conteggio != 0){..... .....

    visualizzo chi è ON LINE ma ne manca sempre uno all'appello

  4. #4
    perche' il primo record te lo fumi subito dopo aver eseguito la query....




    edit: a parte l'inutilita' della cosa.... caso mai prima conti e poi se il caso estrai.... e non viceversa...

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

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da Gina
    perche dopo questo pezzo di codice...

    if ($conteggio != 0){..... .....

    visualizzo chi è ON LINE ma ne manca sempre uno all'appello
    Visto che il problema è DOPO non ha molto senso mostrare il codice PRIMA

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    posto tutto il codice... ho provato prima a contare i record, poi a estrarre i dati, ma anche così, ne manca sempre uno!

    Codice PHP:
    <?php
    include "../check1.php";
    if (
    $autorizzato=="1"){



    $result_conteggio =  mysql_query(
    SELECT COUNT(*) AS totale 
    FROM utenti where online='ON LINE'"
    ); 

    $conteggio2 mysql_fetch_array($result_conteggio); 
    $conteggio $conteggio2['totale'];
    echo 
    "ut on line: $conteggio
    "
    ;
    if (
    $conteggio !='0'){

    $query="SELECT * FROM `utenti` where online='ON LINE'";
    $risultato=mysql_query($query);

    (
    $riga mysql_fetch_array($risultato));

      echo 
    "<html>

    <head>
    <meta http-equiv='Content-Language' content='it'>
    <title>mio sito</title>
    </head>

    <body topmargin='10' link='#FFFFFF' vlink='#FFFFFF' alink='#FFFFFF' bgcolor='#666666'>

    <div align='center'>
      <center>
      <table border='0' cellpadding='0' cellspacing='0' style='border-collapse: collapse' bordercolor='#111111' 

    width='100%' id='AutoNumber1' height='1'>
        <tr>
          <td width='102%' height='1' bgcolor='#FFFFFF' colspan='2'>
          [img]ima/barra%20bianca.JPG[/img]</td>
        </tr>
        <tr>
          <td width='51%' height='1' bgcolor='#FFFFFF'>[img]ima/logo.PNG[/img]</td>
          <td width='51%' height='1' bgcolor='#FFFFFF'>
          <div align='center'>
            <center>
            <table border='0' cellpadding='0' cellspacing='0' style='border-collapse: collapse' bordercolor='#111111' 

    width='90%' id='AutoNumber25'>
              <tr>
                <td width='20%' align='center'>
                <a href='http://localhost/index.php'>
                [img]ima/home.gif[/img]</a></td>
                <td width='20%' align='center'>
                <a href='http://localhost/members/gestione_profilo.php'>
                [img]ima/profilo.gif[/img]</a></td>
                <td width='20%' align='center'>
                <a href='http://localhost/members/messaggi_privati.php'>
                [img]ima/messagi.gif[/img]</a></td>
                <td width='20%' align='center'><a href='http://localhost/members/community.php'>
                [img]ima/comunity.gif[/img]</a></td>
                <td width='20%' align='center'><a href='http://localhost/logout.php'>
                [img]ima/logout.gif[/img]</a></td>
              </tr>
              <tr>
                <td width='20%' align='center'>[b]<font face='Arial' size='1'>home

                page</font>[/b]</td>
                <td width='20%' align='center'>[b]<font face='Arial' size='1'>
                gestione

                profilo</font>[/b]</td>
                <td width='20%' align='center'>[b]<font face='Arial' size='1'>vai ai 
                tuoi

                messaggi privati</font>[/b]</td>
                <td width='20%' align='center'>[b]<font face='Arial' size='1'>la 
                nostra

                community</font>[/b]</td>
                <td width='20%' align='center'>[b]<font face='Arial' size='1'>
                DISCONNETTI</font>[/b]</td>
              </tr>
            </table>
            </center>
          </div>
          </td>
        </tr>
      </table>
      </center>
    </div>
    <table border='0' cellpadding='0' cellspacing='0' style='border-collapse: collapse' bordercolor='#111111' 

    width='100%' id='AutoNumber2' height='1'>
      <tr>
        <td width='100%' bgcolor='#FFFFFF' height='6'>
        [img]ima/barra%20bianca.JPG[/img]</td>
      </tr>
      <tr>
        <td width='100%' bgcolor='#FFFFFF' height='16'>
        <p align='center'>[b]<font face='Arial' size='2' color='#F5AA0E'>messaggi 
        privati per 
    $nome_utente</font>[/b]</td>
      </tr>
      <tr>
        <td width='100%' bgcolor='#FFFFFF' height='16'>
          <table border='0' cellpadding='0' cellspacing='0' style='border-collapse: collapse' bordercolor='#111111' 

    width='100%' id='AutoNumber26'>
            <tr>



      <tr>
        <td width='100%' bgcolor='#FFFFFF' height='16'>

          <table border='0' cellpadding='0' cellspacing='0' style='border-collapse: collapse' bordercolor='#111111' 

    width='100%' id='AutoNumber26'>
            <tr>
              <td width='100%'>
              <div align='center'>
                <center>
                <table border='2' cellpadding='0' cellspacing='0' style='border-collapse: collapse' 

    bordercolor='#B7B7FF' width='887' id='AutoNumber27'>
                  <tr>
                    <td width='255' bgcolor='#F5AA0E' colspan='2'>
                    <p align='left'>
                    [b]<font face='Arial' size='2' color='#FFFFFF'>nick name</font>[/b]</td>
                    <td width='187' bgcolor='#666666'>[b]<font face='Arial' size='2' color='#FFFFFF'>residente 
                    nella provincia di</font>[/b]</td>
                    <td width='203' bgcolor='#F5AA0E'><font face='Arial' size='2' color='ffffff'>[b]
                    [/b]</font>[b]<font face='Arial' size='2' color='#FFFFFF'>sono 
                    / siamo</font>[/b]</td>
                    <td width='27' bgcolor='#666666'>
                    <p align='center'><font face='Arial' size='2' color='ffffff'>[b]
                    età</font></td>
                    <td width='136' bgcolor='#F5AA0E'>[b]<font face='Arial' size='2' 

    color='#FFFFFF'>ruolo</font>[/b]</td>
        
                  </tr>"
    ;

    while(
    $riga mysql_fetch_array($risultato)){
    echo 
    "<td bgcolor='#EBEBEB' width='43'><center>$riga[foto_principale]></td>
    <td width='211' bgcolor='#FFFFEC'><font face='Arial' size='2'> 
    $riga[nick]</td>
    <td width='187' bgcolor='#EBEBEB'><font size='2' face='Arial'> 
    $riga[provincia] </td>
    <td width='203' bgcolor='#FFFFEC'><font size='2' face='Arial'>
    $riga[sono_siamo] </td>
    <td width='27' bgcolor='#EBEBEB'><font face='Arial' size='2'>
    <p align='left'>
    $riga[eta] </td>
    <td width='136' bgcolor='#FFFFEC'><font size='2' face='Arial'> 
    $riga[ruolo] </td>
    </tr>"
    ;
    }
                echo 
    "</table>
                </center>
              </div>
              </td>
            </tr>
            <tr>
              <td width='100%'></td>
            </tr>
          </table>"
    ;


        echo 
    "

    </td>
      </tr>

      <tr>
        <td width='100%' bgcolor='#FFFFFF' height='1'>
        </td>
      </tr>
        </table>

      </table>

    </body>

    </html>"
    ;
        } else {
    echo 
    "nessun connesso";
    }
    }
    else
    {
      echo 
    "Spiacente ma tu non hai i permessi per accedere a questa sezione . <a href=/login.php>Effettua il 

    login</a>"
    ;  }

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da piero.mac
    perche' il primo record te lo fumi subito dopo aver eseguito la query....


    Devi togliere questa riga
    Codice PHP:
    ($riga mysql_fetch_array($risultato)); 
    prima della echo dell'html

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    grazie luca200! scusa se sono un pò "dura" ma non mastico molto php... grazie mille x la tua pazienza!!

  9. #9
    Scusate se mi intrometto, ma secondo me esiste un metodo più semplice.
    Perché non provi a fare così, Gina??

    Codice PHP:
    $query="SELECT * FROM `utenti` where online='ON LINE'"
    $risultato=mysql_query($query); 
    // conteggi i record interessati dalla query senza interrogare di nuovo il DB
    $quanti mysql_num_rows($query);

    if (
    $quanti == 0) {
       
    // messaggio che nessuno è online
    } else {
      
    // fetch della query e stampa della tabella

    Non trovi sia un po' più semplice??
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    ciao alcio74 in effetti sembra più semplice, ora provo, grazie anche a te

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.