• User

    contatore record

    ciao non riesco a contare i record, ho fatto così ma mi da sempre 1 come risultato:

    <?php
    // CONTATORE FILE
    $query_file="SELECT d_corsi., d_corsi_file.
    FROM d_corsi

    			INNER JOIN d_corsi_file
    			ON d_corsi.id_corsi = d_corsi_file.id_corsi 
    			
    			WHERE d_corsi_file.id_corsi = '".$idcorsi."'
    			AND d_corsi_file.id_corsi_file > '3' 
    			AND d_corsi_file.eliminato = 'no'";		
    

    $result_file=mysql_query($query_file, $conn) or die ("errore ".mysql_error());

    while($row_file=mysql_fetch_array($result_file)){

    $estensione = array_pop(explode(".",$row_file['file']));
    if ($estensione == 'pdf')
    {
    $idcorsifile = "".$row_file['id_corsi_file']."";
    }
    else
    {
    }

    }

    $idcorsifile_b = count($idcorsifile);
    echo " * ".$idcorsifile_b." * ";
    ?>


  • User Attivo

    Stai contando una stringa, per forza torna 1.

    Fare un count direttamente dalla query?


  • User

    e non posso dalla query perchè ci sono altri controlli che devo fare che non si possono fare dalla query


  • User Attivo

    E allora usa una num_rows prima del while..

    [PHP]
    $numero_righe_trovate = mysql_num_rows($query);
    [/PHP]


  • User

    forse è meglio che ti uppo tutto il codice, altrimenti giustamente non puoi capire cosa vorrei fare:

    <?php
    // CONTATORE FILE
    $query_file="SELECT d_corsi., d_corsi_file.
    FROM d_corsi

    			INNER JOIN d_corsi_file
    			ON d_corsi.id_corsi = d_corsi_file.id_corsi 
    			
    			WHERE d_corsi_file.id_corsi = '".$idcorsi."'
    			AND d_corsi_file.id_corsi_file > '3' 
    			AND d_corsi_file.eliminato = 'no'";		
    

    $result_file=mysql_query($query_file, $conn) or die ("errore ".mysql_error());

    while($row_file=mysql_fetch_array($result_file)){

    $estensione=pathinfo($row_file['file'], PATHINFO_EXTENSION);

    if ($estensione == 'pdf')
    {
    $idcorsifilepdf[] = $row_file['id_corsi_file'];
    $idcorsifilepdf_b = count($idcorsifilepdf);
    }
    elseif ($estensione == 'xls' || $estensione == 'xlsx')
    {
    $idcorsifilexls[] = $row_file['id_corsi_file'];
    $idcorsifilexls_b = count($idcorsifilexls);
    }
    elseif ($estensione == 'doc' || $estensione == 'docx')
    {
    $idcorsifiledoc[] = $row_file['id_corsi_file'];
    $idcorsifiledoc_b = count($idcorsifiledoc);
    }

    }

    // FILE SCARICATI
    $query_file_visti="SELECT d_corsi_file_contatore., d_corsi_file.

    			FROM d_corsi_file_contatore 
    		
    			INNER JOIN d_corsi_file
    			ON d_corsi_file_contatore.id_corsi_file = d_corsi_file.id_corsi_file 
                
                AND d_corsi_file_contatore.id_corsi = '".$idcorsi."' 
    			AND  d_corsi_file_contatore.id_login = '".$_SESSION['idlogin']."'";		
    

    $result_file_visti=mysql_query($query_file_visti, $conn) or die ("errore ".mysql_error());

    while($row_file_visti=mysql_fetch_array($result_file_visti)){

    $estensione_visti=pathinfo($row_file_visti['file'], PATHINFO_EXTENSION);

    if ($estensione_visti == 'pdf')
    {
    $idcorsifilepdf_visti[] = $row_file_visti['id_corsi_file'];
    $idcorsifilepdf_b_visti = count($idcorsifilepdf_visti);
    }
    elseif ($estensione_visti == 'xls' || $estensione_visti == 'xlsx')
    {
    $idcorsifilexls_visti[] = $row_file_visti['id_corsi_file'];
    $idcorsifilexls_b_visti = count($idcorsifilexls_visti);
    }
    elseif ($estensione_visti == 'doc' || $estensione_visti == 'docx')
    {
    $idcorsifiledoc_visti[] = $row_file_visti['id_corsi_file'];
    $idcorsifiledoc_b_visti = count($idcorsifiledoc_visti);
    }

    }

    echo $idcorsifilepdf_b_visti;
    ?>

    NELLA SECONDA QUERY "FILE SCARICATI" COME FACCIO A SAPERE AD ESEMPIO QUANTI PDF HO SCARICATO?


  • User Attivo

    $idcorsifilepdf_b_visti = count($idcorsifilepdf_visti);

    Spostalo fuori dal ciclo sennò ad ogni giro si resetta, prova così anche se in realtà faccio fatica a comprendere il tuo codice..


  • User

    si infatti è un codice un po incasinato, domani te lo rendo più chiaro