Creare annunci con MySQL

Salve, da un po' di settimane sto tentando di seguire le guide di questo sito e anche i tutorial linkati nella sezione apposita. Su freephp ho trovato 1 tutorial che insegna come creare un sito di annunci tramite un form per l'inserimento.

io ho creato 3 pagine:

send.php  [dove c'è il form)

insert.php [per far inserire i dati nel database]

show.php [per farli vedere]

ora quando apro show.php mi da questo errore:

Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\matteo\praga\show.php on line 17

ecco il codice di show.php

<?
# dati da modificare a seconda del database
$host="localhost";
$user="---";
$pass="---";

$db=mysql_connect($host,$user,$pass) or die ("Errore durante la connessione al database");
$sql=mysql_query("SELECT * FROM annunci");
$result=mysql_db_query("annunci",$sql,$db);
while ($row = mysql_fetch_array($result)) {
print("<B>Nome</B>: <A HREF=\"".$row["nome"]."\">".$row["email"]."</A><BR>");
print("<B>Testo dell'annuncio</B>:<BR>");
print(htmlentities($row["testo"])."<BR>");
print("<HR SIZE=\"1\">");
}
mysql_close();
?>

cosa può essere?  :( ^-^

inviato 11 anni fa
Teo7
Teo7
1
X 0 X

L'esempio è sbagliato, ed è anche vecchio. Prova così:

<?php
# dati da modificare a seconda del database
$host="localhost";
$user="---";
$pass="---";

mysql_connect($host,$user,$pass) or die ("Errore durante la connessione al database");
mysql_select_db('annunci');
$result = mysql_query("SELECT * FROM annunci");

while ($row = mysql_fetch_array($result)) {
   print("<B>Nome</B>: <A HREF=\"".$row["nome"]."\">".$row["email"]."</A><BR>");
   print("<B>Testo dell'annuncio</B>:<BR>");
   print(htmlentities($row["testo"])."<BR>");
   print("<HR SIZE=\"1\">");
}
mysql_close();
?>

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

stesso errore:

Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\...\show.php on line 11

a questo punto mi sa che c'è un errore nell'inserimento dei dati nel database. Se nn ti scoccia da un'occhiata ad insert.php

<?
# dati da modificare a seconda del database
$host="localhost";
$user="---";
$pass="---";

$db=mysql_connect($host,$user,$pass) or die ("Errore durante la connessione al database");
$sql="INSERT INTO annunci (nome,zona,testo,note) VALUES('".$nome."','".$zona."','".$testo."','".$note."')";
mysql_db_query("db_annunci",$sql,$db);
mysql_close();
?>

 ;D

risposto 11 anni fa
Teo7
Teo7
1
X 0 X

conviene fare prima questa verifica:

cambia la riga

$result = mysql_query("SELECT * FROM annunci");

in:

$result = mysql_query("SELECT * FROM annunci") or die("Query non valida: " . mysql_error());

Dovresti ricevere una segnalazione di errore esplicativa che ti permetterà di capire perché la query fallisce.

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

perfetto, ecco cosa mi dice:

Query non valida: Table 'annunci.annunci' doesn't exist

di sicuro ci sarà un problema nel file insert.php o nel file del form.  :idiot:

risposto 11 anni fa
Teo7
Teo7
1
X 0 X
di sicuro ci sarà un problema nel file insert.php o nel file del form. :idiot:

Non credo, poiché raramente ad uno script viene affidato il compito di creare una tabella nel database, operazione che si effettua una sola volta poiché fa parte dell'installazione. Credo piuttosto che tu abbia trascurato eventuali informazioni sull'installazione dello script.

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

guarda la guida da direttamente il codice per le due pagina insert.php e show.php e quella del form devi creartela tu...

per l'inserimento la guida dice:

Supponiamo di ricevere dei dati da una form nelle variabili $nome,$email,$testo. Per inserire un nuovo annuncio basta fare le seguenti operazioni:

--codice di insert.php ---

In questo caso il database inserisce automaticamente una chiave unica che contraddistingue l'annuncio nel campo ID della tabella Annunci.

Ovviamente si possono anche fare delle operazioni di controllo sulla validità dell'indirizzo email o per verificare che alcuni campi non siano nulli.

per show.php non dice niente se non il codice da incollare nella pagina.

Non è che nel dabase annunci io devo creare una tabella col nome "annunci"?

risposto 11 anni fa
Teo7
Teo7
1
X 0 X
Non è che nel dabase annunci io devo creare una tabella col nome "annunci"?

Esatto, mica si crea da sola  :P

Il problema è che sulla guida deve esserci la struttura della tabella da creare... controlla bene. Altrimenti lascia perdere questo script  :(

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

ho lasciato perdere  ;D ;D

ma nn a caso, ne ho trovato uno che faceva al caso mio, personalizzazione dei campi, tuttto tutto!!

Un'unica pecca, puoi uppare sl una immagine, ma il campo testo supporta l'HTML e quindi le inserisco li quelle due in più  :2funny:

risposto 11 anni fa
Teo7
Teo7
1
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda