stampa query

ciao 

ho fatto una query su un db mysql che funziona benissimo.

Quando tento di stamparla in php non finziona più (mi mostra solo la lista delle province e basta) perchè???

Devo stampare in una colonna una lista di province e a fianco ad ogni provincia devo stampare il numero di agenzie che sono presenti in quella provincia.

ecco la query:

$province = @mysql_query("SELECT nomeprov, COUNT(*) AS numage
FROM province, agenzia
WHERE agenzia.provincia = province.nomeprov
GROUP BY nomeprov LIMIT $offset, $rowsPerPage");

                                            
while ($provincia = mysql_fetch_array($province)) {
               $nomeprov = htmlspecialchars($provincia['nomeprov']);
               $numage = htmlspecialchars($provincia['numage']);              
     echo"<tr>";
   echo "<td>$nomeprov</td>";
   echo "<td>$nomage</td>";
   echo "</tr>";  
}

Sapete darmi qualche indicazione???Dove sbaglio???

 :bye:

inviato 10 anni fa
stellina
X 0 X

probabilmente passi qualche valore errato alla query...

Innanzitutto, togli l '@' e aggiungi mysql_error():

$province = mysql_query("SELECT nomeprov, COUNT(*) AS numage
FROM province, agenzia
WHERE agenzia.provincia = province.nomeprov
GROUP BY nomeprov LIMIT $offset, $rowsPerPage") or die ("Errore: ".mysql_error());

già qui dovrebbe restuirti quache errore, se c'è...

Poi stampa la query:

echo  "Query: ".$province;

e la stampa a video che ti restituirà, provala direttamente su phpmyadmin o il tool che usi tu  e vedi cosa ti dice...

ciao

Lore

risposto 10 anni fa
Lore
Lore
1
X 0 X

$province = @mysql_query("SELECT nomeprov, COUNT(*) AS numage

FROM province, agenzia

WHERE agenzia.provincia = province.nomeprov

GROUP BY nomeprov LIMIT $offset, $rowsPerPage");

while ($provincia = mysql_fetch_array($province)) {

               $nomeprov = htmlspecialchars($provincia['nomeprov']);

               $numage = htmlspecialchars($provincia['numage']);             

     echo"<tr>";

   echo "<td>$nomeprov</td>";

   echo "<td>$nomage</td>";

   echo "</tr>"; 

}

Ciao,

prova ad aggiungere MYSQL_ASSOC nella riga di comando "$provincia = mysql_fetch_array($province)" così:

$provincia = mysql_fetch_array($province, MYSQL_ASSOC)

http://it2.php.net/manual/it/function.mysql-fetch-array.php

Per quanto riguarda la query prova sostituire count(*) con count(x) in cui x=nome di un campo della tabella agenzie, ad es l'id

Ciao

risposto 10 anni fa
zeta80
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda