Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: risultato num_righe

  1. #1

    risultato num_righe

    qualcuno sa dirmi perchè mi viene restituito un numero righe superiore a quelle che vedo sul video? se per esempio il risultato della query è di 8 righe, il contatore me ne conta 22?
    Codice PHP:
    $query_elenco "SELECT id_ass,cognome_nome,cod_fiscale,$_REQUEST[tipo]_dataiscr, num_tessera, indirizzo_res, concat(cap_res,'-',comune_res,'-','(',prov_res,')') as indirizzoresidenza, indirizzo_dom, concat(cap_dom,'-',comune_dom,'-','(',prov_dom,')') as indirizzodomicilio, selezione_ind, selezione_ind2 FROM anagrafica WHERE (prov_res LIKE '".$_REQUEST["pr"]."') AND (".$_REQUEST["tipo"]."_att !=0) AND sospeso=0 AND cancellato=0 AND deceduto=0  ORDER BY cognome_nome";
     

    $risultato mysql_query($query_elenco$connessione);
    $num_righe mysql_num_rows($risultato);
    echo 
    "$num_righe Righe\n"

  2. #2
    e che sarebbe questo contatore?

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

  3. #3
    bho, forse non si chiama così

    comunque $num_righe = un numero superiore rispetto alle righe che ho come risultato della query...

  4. #4
    Originariamente inviato da lory2
    bho, forse non si chiama così

    comunque $num_righe = un numero superiore rispetto alle righe che ho come risultato della query...
    mysql_num_rows e' la conta delle righe trovate e presenti nel result set. Poi bisognerebbe vedere come fai ad estrarle quelle righe e come mai non le estrai tutte.

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

  5. #5
    ecco il codice completo...
    Codice PHP:
    <?PHP
    include("db.php");
    $tipo=$_REQUEST["tipo"];

    if (
    $_REQUEST["t"] == 'p'):
       
    $t "PASSIVI";
       
    $las 5;
    elseif (
    $_REQUEST["t"] == 'a'):
       
    $t "ATTIVI";
       
    $las 0;
    endif;

    if (
    $_REQUEST["pr"] == 'ca'):
       
    $pr " CAGLIARI ";
    elseif (
    $_REQUEST["pr"] == 'ss'):
       
    $pr " SASSARI ";
    elseif (
    $_REQUEST["pr"] == 'nu'):
       
    $pr " NUORO ";
    elseif (
    $_REQUEST["pr"] == 'or'):
       
    $pr " ORISTANO ";

    endif;

    if (
    $_REQUEST["tipo"] == 'pro'):
       
    $titolo "PROFESSIONISTI";
    elseif (
    $_REQUEST["tipo"] == 'pub'):
       
    $titolo "PUBBLICISTI";
    else:
       print 
    "<h1>ERRORE CODICE LISTA </h1>
    "
    ;
    endif;

    //ELENCO IN ORDINE ALFABETICO   - tipo = pub, pro
    $query_elenco "SELECT id_ass,cognome_nome,cod_fiscale,$_REQUEST[tipo]_dataiscr, num_tessera, indirizzo_res, concat(cap_res,'-',comune_res,'-','(',prov_res,')') as indirizzoresidenza, indirizzo_dom, concat(cap_dom,'-',comune_dom,'-','(',prov_dom,')') as indirizzodomicilio, selezione_ind, selezione_ind2 FROM anagrafica WHERE (prov_res LIKE '".$_REQUEST["pr"]."') AND (".$_REQUEST["tipo"]."_att !=0) AND sospeso=0 AND cancellato=0 AND deceduto=0  ORDER BY cognome_nome";
     

    $risultato mysql_query($query_elenco$connessione);
    $num_righe mysql_num_rows($risultato);
    echo 
    "$num_righe Righe\n";


    ?>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>| 
    <? 
    print("Elenco alfabetico ".$titolo." ".$t." - ".$pr);
    ?> 
    |</title>

    <style type="text/css">
    <!--
    body {
        background-color: #68B2B5;
        font-family: Verdana, Arial, Helvetica, sans-serif;
        font-size: small;
        font-style: normal;
        margin: 5;
        text-align: center;
        text-decoration: none;
        cursor: crosshair;
    }

    -->
    </style>

    </head>

    <body>
    <h3><? 
    print("Elenco alfabetico ".$titolo." ".$t." - ".$pr);
    ?> </h3>

    <hr noshade color="#000000">
    <table width=760 border=0 align="center" cellpadding=0 cellspacing=0>

     <tr><td><div align="center">[b]ID Iscritto[/b]</div></td><td align=\"left\"><div align="left">[b][cognome_nome] [/b]</div></td>
           <td align=\"left\"> <div align="left">[b][Indirizzo][/b]</div></td>
           </tr> 
     
        <?
           
    while ($row mysql_fetch_array($risultato))
       
       {


       
    //print_r($row);
       
       
    if(($num_righe 0) AND $row["selezione_ind"] == "res"){
                           
    $riga ="<tr><td><a href=\"singolo.php?id_ass=$row[id_ass]&tipo=$tipo\">$row[id_ass]</a></td><td align=\"left\">$row[cognome_nome] </td><td align=\"left\"> $row[indirizzo_res]</td><td width=\"232\" align=\"left\">$row[indirizzoresidenza]</td></tr>";
                    }
                elseif((
    $num_righe 0) AND $row["selezione_ind2"] == "dom"){
                           
    $riga ="<tr><td><a href=\"singolo.php?id_ass=$row[id_ass]&tipo=$tipo\">$row[id_ass]</a></td><td align=\"left\">$row[cognome_nome] </td><td align=\"left\"> $row[indirizzo_dom]</td><td width=\"232\" align=\"left\">$row[indirizzodomicilio]</td></tr>";
                           }
                   
                
    $lasso =0;
                if (
    $_REQUEST["tipo"] == 'pro'):
                    
    $dataiscr $row['pro_dataiscr'];
                elseif (
    $_REQUEST["tipo"] == 'pub'):
                       
    $dataiscr $row['pub_dataiscr'];
                endif;
              if(
    $dataiscr != "0000-00-00")
                      {
                    
    $past explode("-"$dataiscr);
                    
    $an_no 1980;
                    if(
    $past[0] > 1980){$an_no $past[0];}
                    
    $passato mktime(000$past[2], $past[1], $an_no0);
                    
    $oggi mktime(000$now['mday'], $now['mon'], $now['year'], 0);
                    
    $lasso = ($oggi $passato)/(60*60*24*365);
                    }
           if(
    $lasso $las){
    echo 
    $riga;

    }


             }
        

        
    ?> 
      <h3>
      <? if ($_REQUEST["alfa"] == '0'):
    print(
    $num_righe);
    print(
    "  in lista  ".$titolo);
    elseif (
    $_REQUEST["alfa"] == '1'):
    print(
    "ELENCO ALFABETICO ".$titolo);

    endif;
    ?> 
    </h3>
          
               <h3>N°<? print($num_righe);

        
        
    ?>       </h3>
      </div>
    </table>

    </body>
    </html>

    comunque mi fa piacere risentirti, posso farti una domanda non inerente a questo codice ma che riguarda una tua pillola che ho letto sulla stampa di buste e lettere?

  6. #6
    per la domanda basta che la metti nel thread relativo, per questo problema hai troppe condizioni per poter valutare velocemente che succede.

    Raccogli l'output in un array e verificalo. E' sempre il sistema migliore. Poi vedi le differenze tra cosa hai nel result set e cosa effettivamente stampi. Magari scopri che serve un aggiustamento della query.

    prova:

    Codice PHP:
    //ELENCO IN ORDINE ALFABETICO   - tipo = pub, pro 
    $query_elenco "SELECT id_ass,cognome_nome,cod_fiscale,$_REQUEST[tipo]_dataiscr, num_tessera, indirizzo_res, 
    concat(cap_res,'-',comune_res,'-','(',prov_res,')') as indirizzoresidenza, indirizzo_dom, concat(cap_dom,'-',comune_dom,'-','(',prov_dom,')') as indirizzodomicilio, selezione_ind, selezione_ind2 
    FROM anagrafica 
    WHERE (prov_res LIKE '"
    .$_REQUEST["pr"]."') AND (".$_REQUEST["tipo"]."_att !=0) 
    AND sospeso=0 
    AND cancellato=0 
    AND deceduto=0  
    ORDER BY cognome_nome"



    $risultato mysql_query($query_elenco$connessione); 
    $num_righe mysql_num_rows($risultato); 
    echo 
    "$num_righe Righe\n"

    // inizio. da questo punto 
    while ($row mysql_fetch_assoc($risultato)) {

    $pippo[] = $row;

    }
    echo 
    "<pre>";
    print_r($pippo);
    echo 
    "</pre">;
    mysql_data_seek($risultato0);

    //fine. a questo punto 

    ?> 
    inserisci quel blocco di codice e confronta quali record sono esclusi dalla stampa. Vedrai da te la ragione.

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

  7. #7
    ok, fatto. è stato utilissimo infatti ho visto che la parte di codice

    Codice PHP:
    }
                   
                
    $lasso =0;
                if (
    $_REQUEST["tipo"] == 'pro'):
                    
    $dataiscr $row['pro_dataiscr'];
                elseif (
    $_REQUEST["tipo"] == 'pub'):
                       
    $dataiscr $row['pub_dataiscr'];
                endif;
              if(
    $dataiscr != "0000-00-00")
                      {
                    
    $past explode("-"$dataiscr);
                    
    $an_no 1980;
                    if(
    $past[0] > 1980){$an_no $past[0];}
                    
    $passato mktime(000$past[2], $past[1], $an_no0);
                    
    $oggi mktime(000$now['mday'], $now['mon'], $now['year'], 0);
                    
    $lasso = ($oggi $passato)/(60*60*24*365);
                    }
           if(
    $lasso $las){
    echo 
    $riga;


    è quella che fa una selezione dei record in base all'anzianità di iscrizione...dunque esclude quelli che non rispondono alla condizione $lasso > $las....
    ora forse non è possibile fare in modo di contare le righe basandosi su questa ultima condizione?

  8. #8
    invece di controllare record per record, aggiungi la condizione nel where. Query da sistemare come prevedibile.... oppure conta i record che stampi. Ma e' meglio agire direttamente sul result set eliminando a priori i record che non servono....

    basta definire il range minimo della data ed aggiungere nel where una and

    and data_nel db > '$range_minimo'

    tanto per esempio.

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

  9. #9
    ho provato in tutti i modi ma niente, non riesco a inserire una condizione nella query che mi faccia ottenere quello che voglio, inoltre inserire un range minimo della data non mi è possibile perchè dovrei aggiornarlo ogni anno... mi è venuto in mente che potrei fare in questo modo, ma non so se sia una soluzione giusta:
    1) calcolo il $lasso in un altro file :
    Codice PHP:
    <?PHP
    include("db.php");
    $tipo=$_REQUEST["tipo"];


    if (
    $_REQUEST["tipo"] == 'pro'):
       
    $titolo "PROFESSIONISTI";
    elseif (
    $_REQUEST["tipo"] == 'pub'):
       
    $titolo "PUBBLICISTI";
    else:
       print 
    "<h1>ERRORE CODICE LISTA </h1>
    "
    ;
    endif;

    //ELENCO IN ORDINE ALFABETICO   - tipo = pub, pro
    $query_elenco "SELECT id_ass,cognome_nome,cod_fiscale,$_REQUEST[tipo]_dataiscr FROM anagrafica 

    $risultato = mysql_query($query_elenco$connessione);
    $num_righe = mysql_query($risultato);

           while (
    $row = mysql_fetch_array($risultato))
       
       {

                
    $lasso =0;
                if (
    $_REQUEST["tipo"] == 'pro'):
                    
    $dataiscr = $row['pro_dataiscr'];
                elseif (
    $_REQUEST["tipo"] == 'pub'):
                       
    $dataiscr = $row['pub_dataiscr'];
                endif;
              if(
    $dataiscr != "0000-00-00")
                      {
                    
    $past = explode("-", $dataiscr);
                    
    $an_no = 1980;
                    if(
    $past[0] > 1980){$an_no $past[0];}
                    
    $passato = mktime(0, 0, 0, $past[2]$past[1]$an_no, 0);
                    
    $oggi = mktime(0, 0, 0, $now['mday'], $now['mon'], $now['year'], 0);
                    
    $lasso = ($oggi - $passato)/(60*60*24*365);
                    }

    }


        

        ?>
    e poi includo in questo modo:
    Codice PHP:
    <?PHP
    include("prova.php");

    $tipo=$_REQUEST["tipo"];

    if (
    $_REQUEST["t"] == 'p'):
       
    $t "PASSIVI";
       
    $las 5;
    elseif (
    $_REQUEST["t"] == 'a'):
       
    $t "ATTIVI";
       
    $las 0;
    endif;

    if (
    $_REQUEST["pr"] == 'ca'):
       
    $pr " CAGLIARI ";
    elseif (
    $_REQUEST["pr"] == 'ss'):
       
    $pr " SASSARI ";
    elseif (
    $_REQUEST["pr"] == 'nu'):
       
    $pr " NUORO ";
    elseif (
    $_REQUEST["pr"] == 'or'):
       
    $pr " ORISTANO ";

    endif;

    if (
    $_REQUEST["tipo"] == 'pro'):
       
    $titolo "PROFESSIONISTI";
    elseif (
    $_REQUEST["tipo"] == 'pub'):
       
    $titolo "PUBBLICISTI";
    else:
       print 
    "<h1>ERRORE CODICE LISTA </h1>
    "
    ;
    endif;
    //ELENCO IN ORDINE ALFABETICO   - tipo = pub, pro
    $query_elenco "SELECT id_ass,cognome_nome,cod_fiscale,$_REQUEST[tipo]_dataiscr, num_tessera, indirizzo_res, concat(cap_res,'-',comune_res,'-','(',prov_res,')') as indirizzoresidenza, indirizzo_dom, concat(cap_dom,'-',comune_dom,'-','(',prov_dom,')') as indirizzodomicilio, selezione_ind, selezione_ind2 FROM anagrafica WHERE (prov_res LIKE '".$_REQUEST["pr"]."') AND (".$_REQUEST["tipo"]."_att !=0) AND sospeso=0 AND cancellato=0 AND deceduto=0  AND $lasso > $las  ORDER BY cognome_nome ";
     

    $risultato mysql_query($query_elenco$connessione);
    $num_righe mysql_num_rows($risultato);

    ?>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>| 
    <? 
    print("Elenco alfabetico ".$titolo." ".$t." - ".$pr);
    ?> 
    |</title>

    <style type="text/css">
    <!--
    body {
        background-color: #68B2B5;
        font-family: Verdana, Arial, Helvetica, sans-serif;
        font-size: small;
        font-style: normal;
        margin: 5;
        text-align: center;
        text-decoration: none;
        cursor: crosshair;
    }

    -->
    </style>

    </head>

    <body>
    <h3><? 
    print("Elenco alfabetico ".$titolo." ".$t." - ".$pr);
    ?> </h3>

    <hr noshade color="#000000">
    <table width=760 border=0 align="center" cellpadding=0 cellspacing=0>

     <tr><td><div align="center">[b]ID Iscritto[/b]</div></td><td align=\"left\"><div align="left">[b][cognome_nome] [/b]</div></td>
           <td align=\"left\"> <div align="left">[b][Indirizzo][/b]</div></td>
           </tr> 
     
        <?
           
    while ($row mysql_fetch_array($risultato))


       {


       
    //print_r($row);
       
       
    if( $row["selezione_ind"] == "res"){
                           
    $riga ="<tr><td><a href=\"singolo.php?id_ass=$row[id_ass]&tipo=$tipo\">$row[id_ass]</a></td><td align=\"left\">$row[cognome_nome] </td><td align=\"left\"> $row[indirizzo_res]</td><td width=\"232\" align=\"left\">$row[indirizzoresidenza]</td></tr>";
                    }
                elseif( 
    $row["selezione_ind2"] == "dom"){
                           
    $riga ="<tr><td><a href=\"singolo.php?id_ass=$row[id_ass]&tipo=$tipo\">$row[id_ass]</a></td><td align=\"left\">$row[cognome_nome] </td><td align=\"left\"> $row[indirizzo_dom]</td><td width=\"232\" align=\"left\">$row[indirizzodomicilio]</td></tr>";
                           }
                   
    echo 
    $riga;

    }


        

        
    ?> 
      <h3>
      <? if ($_REQUEST["alfa"] == '0'):
    print(
    $num_righe);
    print(
    "  in lista  ".$titolo);
    elseif (
    $_REQUEST["alfa"] == '1'):
    print(
    "ELENCO ALFABETICO ".$titolo);

    endif;
    ?> 
    </h3>
          
               <h3>N°<? print($num_righe);

        
        
    ?>       </h3>
      </div>
    </table>

    </body>
    </html>
    ma non mi trova nessun dato, è giusto inserire nella query questo codice AND $lasso > $las ?
    quello che ho usato potrebbe essere un metodo valido?

  10. #10
    posta solo il codice interessato. Siccome scrivi le query senza un return appaiono difilate a dx e la barra di scorrimento per i fatti suoi in fondo allo script rendendo difficile la lettura....

    tieni anche in considerazione che leggendo una cosa senza particolare interesse quando arrivi al fondo ci si e' scordati di cosa c'era all'inizio... pensa dovendo anche scorrere la pagina per raggiungere la barra al fondo dello script e poi risalire e poi ridiscendere....
    .

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

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.