[PHP] contatore record

multimedia2

Nuovo Utente
14 Gen 2016
14
0
1
ciao non riesco a contare i record, ho fatto così ma mi da sempre 1 come risultato:

PHP:
<?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." * ";
?>
 
Ultima modifica di un moderatore:
ciao
non può contare $idcorsifile in quanto NON è un array sostituisci $idcorsifile con $idcorsifile[]
poi al posto di quell'ambaradan
$estensione = array_pop(explode(".",$row_file['file']))
usa
PHP:
$estensione=pathinfo($row_file['file'], PATHINFO_EXTENSION););
 
Grazie borgo italia, e come gli dico di tener conto solo dei file .pdf ? Perchè non capisco con PATHINFO_EXTENSION come possa fare.
 
ho implementato i tuoi suggerimenti e funziona, ho fatto così:

PHP:
<?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')
{
$idcorsifile[] = "*".$row_file['id_corsi_file']."*";
}
else
{
}  
  
}

$idcorsifile_b = count($idcorsifile);
echo " * ".$idcorsifile_b." * ";
?>
 
Ultima modifica di un moderatore:
ciao
un suggerimento: abbandona le vecchie istruzioni mysql deprecate e in via di abbandono e passa alle nuove mysqli
poi una domanda: devi solamente contare i file pdf?
se è così semplifica
PHP:
//....
$idcorsifile_b=0;
while($row_file=mysql_fetch_array($result_file)){
    $estensione=pathinfo($row_file['file'], PATHINFO_EXTENSION);
    if ($estensione == 'pdf'){
        $idcorsifile_b++;
    }else{
    //???? a che ti serve quest'else?
    }

}
echo " * ".$idcorsifile_b." * ";
//....

poi quando posti del codice usa gli appositi bccode, riga di formattazione del post quartultima iconcina "inserisci -> codice, copy/paste, select tipo codice generico o php o html"
 
no ci sono anche i file xml, poi doc, questa è la query che ho completato ora:

<?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);
}

}
?>



e poi sotto:

<?php echo $idcorsifilepdf_b ?>
<?php echo $idcorsifilexls_b ?>
<?php echo $idcorsifiledoc_b ?>
 
comunque ora implemento le istruzioni con mysqli, solo che dovrò farlo su tutto il sito e ci metterò un'eternità
 

Discussioni simili