- Home
- Categorie
- Coding e Sistemistica
- PHP
- contatore record
-
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_corsiINNER 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." * ";
?>
-
Stai contando una stringa, per forza torna 1.
Fare un count direttamente dalla query?
-
e non posso dalla query perchè ci sono altri controlli che devo fare che non si possono fare dalla query
-
E allora usa una num_rows prima del while..
[PHP]
$numero_righe_trovate = mysql_num_rows($query);
[/PHP]
-
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_corsiINNER 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?
-
$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..
-
si infatti è un codice un po incasinato, domani te lo rendo più chiaro