Misterioso Problema

Ciao a tutti!

Ho un piccolo problema a cui non ne riesco a venire a capo....non riesco a stampare a video i risultati di una Select, posto il codice:

<?php
echo "<td valign=\"top\" colspan=\"2\">";
$db = mysql_connect("localhost", "------", "------") 
         or die("Errore nella connessione MySQL");
     mysql_select_db("--------", $db)
     or die("Database inesistente");
  $lettura_risultati=mysql_query("SELECT id, nome, titolo, categoria, data FROM annunci WHERE categoria = '$categoria' AND sottocategoria = '$sottocategoria' AND confermato = '1' ORDER BY id" );
  while($scatola_temporanea=mysql_fetch_array($lettura_risultati)){
     $id=$scatola_temporanea[id];
     $nome=$scatola_temporanea[nome];
     $titolo=$scatola_temporanea[titolo];
     $categoria=$scatola_temporanea[categoria];
    $data=$scatola_temporanea[data];
echo "<table width=\"100%\" border=\"0\" align=\"center\"  cellspacing=\"1\" cellpadding=\"1\">";
echo "<tr>";
echo "<td height=\"50\" width=\"50\" rowspan=\"2\">";
if (file_exists("immagini//$id.jpg")) {
echo "<a href=\"http://annunciamonelweb.altervista.org/annuncio-italia.php?id=$id\"><img height=\"50\" src=\"http://annunciamonelweb.altervista.org/immagini/$id.jpg\" alt=\"$titolo\" title=\"$titolo\"></a>";
}
else {
echo "<a href=\"http://annunciamonelweb.altervista.org/annuncio-italia.php?id=$id\"><img height=\"50\" src=\"http://annunciamonelweb.altervista.org/immagini/DVI.png\" alt=\"$titolo\" title=\"$titolo\"></a>";
}
echo "</td>";
echo "<td>";
echo "<p><a href=\"http://annunciamonelweb.altervista.org/annuncio-italia.php?id=$id\"> <font color=\"#053b05\"><span class=\"c1\">$nome ha annunciato:</span></font></a></p>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td>";
echo "<h3><a href=\"http://annunciamonelweb.altervista.org/annuncio-italia.php?id=$id\">$titolo</a></h3>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan=\"2\" align=\"center\">";
echo "<p><a href=\"http://annunciamonelweb.altervista.org/annuncio-italia.php?id=$id\"> <u>Guarda L' Annuncio Completo</u></a></p>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "<hr width=\"100%\" size=\"2\">";
}
echo "Non ci sono più annunci presenti in questa categoria<a href=\"http://annunciamonline.altervista.org/scrittura_annunci1.php\">Pubblicane Gratuitamente Uno Tu Cliccando Qui</a><a href=\"javascript:history.back();\">Oppure Torna indietro</a>";
?>   

Non riesco a capire l errore è da due giorni che lo guardo e mi sembra giusto e pur facendo delle prove non ho combinato nulla.

Grazie

 :bye: :bye:

inviato 5 anni fa
gianluca80
modificato 5 anni fa
X 0 X

dove vengono dichiarate le variabili che usi nella query? per es. di $categoria?

risposto 5 anni fa
civre
X 0 X

La variabile $categoria è gia stata dichiarata prima, comunque anche se faccio questo codice:

<?php
echo "<td valign=\"top\" colspan=\"2\">";
$db = mysql_connect("localhost", "annunciamonelweb", "elettronica") 
         or die("Errore nella connessione MySQL");
     mysql_select_db("my_annunciamonelweb", $db)
     or die("Database inesistente");
     $categoria = $_GET['cat'];
  $lettura_risultati=mysql_query("SELECT id, nome, titolo, categoria, data FROM annunci WHERE categoria = '$categoria' AND confermato = '1' ORDER BY id" );
  while($scatola_temporanea=mysql_fetch_array($lettura_risultati)){
     $id=$scatola_temporanea[id];
     $nome=$scatola_temporanea[nome];
     $titolo=$scatola_temporanea[titolo];
     $categoria=$scatola_temporanea[categoria];
    $data=$scatola_temporanea[data];
echo "<table width=\"100%\" border=\"0\" align=\"center\"  cellspacing=\"1\" cellpadding=\"1\">";
echo "<tr>";
echo "<td height=\"50\" width=\"50\" rowspan=\"2\">";
if (file_exists("immagini//$id.jpg")) {
echo "<a href=\"http://annunciamonelweb.altervista.org/annuncio-italia.php?id=$id\"><img height=\"50\" src=\"http://annunciamonelweb.altervista.org/immagini/$id.jpg\" alt=\"$titolo\" title=\"$titolo\"></a>";
}
else {
echo "<a href=\"http://annunciamonelweb.altervista.org/annuncio-italia.php?id=$id\"><img height=\"50\" src=\"http://annunciamonelweb.altervista.org/immagini/DVI.png\" alt=\"$titolo\" title=\"$titolo\"></a>";
}
echo "</td>";
echo "<td>";
echo "<p><a href=\"http://annunciamonelweb.altervista.org/annuncio-italia.php?id=$id\"> <font color=\"#053b05\"><span class=\"c1\">$nome ha annunciato:</span></font></a></p>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td>";
echo "<h3><a href=\"http://annunciamonelweb.altervista.org/annuncio-italia.php?id=$id\">$titolo</a></h3>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan=\"2\" align=\"center\">";
echo "<p><a href=\"http://annunciamonelweb.altervista.org/annuncio-italia.php?id=$id\"> <u>Guarda L' Annuncio Completo</u></a></p>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "<hr width=\"100%\" size=\"2\">";
}
echo "Non ci sono più annunci presenti in questa categoria<a href=\"http://annunciamonline.altervista.org/scrittura_annunci1.php\">Pubblicane Gratuitamente Uno Tu Cliccando Qui</a><a href=\"javascript:history.back();\">Oppure Torna indietro</a>";
?>

Non funziona ugualmente

Grazie!

 :bye:

risposto 5 anni fa
gianluca80
X 0 X

prova a scrivere al posto della query:

$sql="SELECT id, nome, titolo, categoria, data FROM annunci WHERE categoria = '$categoria' AND sottocategoria = '$sottocategoria' AND confermato = '1' ORDER BY id";
 echo $sql;
 $lettura_risultati=mysql_query($sql );

con echo $sql viene stampata la query che manda al db, è corretta?

risposto 5 anni fa
civre
X 0 X

Non so se ti risolverà il problema ma una cosa è sicura , le key dei vettori devi metterli all'interno degli apici quando li richiami, altrimenti è  come se chiami una costante.

Ovvero invece di $dati[nome] devi scrivere $dati['nome']

Questo problema genera un notice e non un fatal error ma  è meglio rispettare la sintassi :)

risposto 5 anni fa
Toto007
X 0 X

Ciao Ragazzi grazie per i consigli, toto magari usiamo due versioni di php differenti, perche metterci o non metterci le virgolette tra le parentesi quadre a me non cambia nulla, a meno che ci siano dentro le parentesi caratteri speciali come '-', allora sono obbligato a metterle, cmq per curiosità io uso php 5.2.13.

Era sbagliato il nome della cella 'categoria' nel mio db la chiamo 'cat', me ne sono magicamente accorto quando ho stampato la query :P

Grazie a tutti e  due!!

Ciao ciao

risposto 5 anni fa
gianluca80
X 0 X
Ciao Ragazzi grazie per i consigli, toto magari usiamo due versioni di php differenti, perche metterci o non metterci le virgolette tra le parentesi quadre a me non cambia nulla, a meno che ci siano dentro le parentesi caratteri speciali come '-', allora sono obbligato a metterle, cmq per curiosità io uso php 5.2.13.

Questo vuol dire che stai usando un livello di errore basso, il che È MALE.

Prova a impostare error_reporting = E_ALL nel php.ini e poi buon divertimento.

risposto 5 anni fa
Massimiliano Arione
X 0 X

Esattamente.

Devi impostare assolutamente error_reporting su E_ALL, almeno per la fase di debug , altrimenti molti errori di sintassi non li noterai.

Ciao Ragazzi grazie per i consigli, toto magari usiamo due versioni di php differenti, perche metterci o non metterci le virgolette tra le parentesi quadre a me non cambia nulla, a meno che ci siano dentro le parentesi caratteri speciali come '-', allora sono obbligato a metterle, cmq per curiosità io uso php 5.2.13.

Questo vuol dire che stai usando un livello di errore basso, il che È MALE.

Prova a impostare error_reporting = E_ALL nel php.ini e poi buon divertimento.

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