|
Forum Flash, Actionscript, PHP e MySQL
|
|
|
|
|
|
| Autore |
Messaggio |
mela81
principiante

Età: -1981
Registrato: 26/01/08 13:03
Messaggi: 33
Località: in attesa di occupazione
|
Oggetto: problema con script php relativo al database
Inviato: 26.01.08 | 13:20 |
|
|
Salve ho un problema con uno script php riguardanye un database,
il database è un archivio libri
praticamente vorrei che una volta inseriti tutti i dati relativi al libro premendo un pulsante mi uscisse la scritta libro non trovato, libro trovato, ma quando comilo i campi e premo il pulsante non mi esce nulla qualcuno mi può dire come perfezionare il mio script php, anche magari consigliadomi qualche sito con esempi concreti
ecco il database:
CREATE TABLE libri(
id tinyint(6) NOT NULL auto_increment,
titolo char(40) NOT NULL,
autore char(30) NOT NULL,
casaeditrice varchar(50) NOT NULL,
PRIMARY KEY (id)
);
INSERT INTO libri VALUES (1, 'va dove ti porta il cuore', 'Susanna Tamaro','modadori');
INSERT INTO libri VALUES (2, 'gli arancini di montalbano , 'Andrea Camilleri', 'sellerio editore');
INSERT INTO libri VALUES (3, 'spingendo la notte più in là', 'Mario Calabresi', 'mondadori');
ecco il mio codice php
<?php
$nomeHost= "localhost";
$nomeUtente= "root";
$password= "";
$db= mysql_connect($nomeHost, $nomeUtente, $password) or die("Non riesco a creare la connessione");
$nomeDB="cercalibri";
mysql_select_db($nomeDB) or die("Non trovo il DB");
$query = "SELECT id FROM libri where id='$id'";
$result = mysql_query($query) or die ("Errore nella query");
while($riga= mysql_fetch_array($result)) {
echo $riga["id"];
mysql_close($db);
?> |
|
| Torna in cima |
|
|
Sponsor
|
|
 |
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona
|
Oggetto:
Inviato: 27.01.08 | 17:42 |
|
|
Ciao mela81 e Benvenuta nel Forum.
Per i prossimi posts... utilizza i mezzi a disposizione per la formattazione del codice.
Il codice che hai postato non è altro che una connessione al database ed una query. (scritto tu?)
Come consiglio... posso dirti di leggerti delle guide, come: Guide PHP (html.it)
. ____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
mela81
principiante

Età: -1981
Registrato: 26/01/08 13:03
Messaggi: 33
Località: in attesa di occupazione
|
Oggetto: risposta
Inviato: 27.01.08 | 18:22 |
|
|
ho quasi risolto il problema ma non riesco a capire come correggere il mio script
ecco il codice
| Codice: | <?php
$nomeHost= "localhost";
$nomeUtente= "root";
$password= "";
$db= mysql_connect($nomeHost, $nomeUtente, $password) or die("Non riesco a creare la connessione");
$nomeDB="cercalibri";
mysql_select_db($nomeDB) or die("Non trovo il DB");
$id = 1;
$query = "SELECT id FROM libri WHERE id=".$id."";
$result = mysql_query($query) or die("errore nella query");
if($result){
$my_array = mysql_fetch_array($result);
echo $my_array[0];
}
mysql_close($db);
?> |
ora cquando inserisco i dati mi esìce sempre solo il numero 1
la scritta autore trovato
per caso mi puoi dare una mano ho anche provato con unaltra soluzione ma non va
eccola, in questa nn si vede proprio nulla
| Codice: | <?php
$x=$autore;
$db=mysql_connect("localhost", "root", "");
if ($x==0)
exit;
else
$comando="select * from autore where (autore=$x)";
$res=mysql_db_query("nomedb",$comando);
$num=mysql_num_rows($res);
if($num==0)
echo "Nessun Autore o altro trovato!";
else
{
echo "<table align=center>";
while($dati=mysql_fetch_row($res))
{
echo "<table border=1 cellspacing=1 width=580 align=center>";
echo "<tr><td>";
$id=$dati[0];
$titolo=$dati[1];
$autore=$dati[2];
$casaeditrice=$dati[3];
// Qui sotto imposti la struttura da rendere a video (esempio)
echo "<tr><td width='75%' align=left size='2' colspan=2>Titolo: - <b>$titolo</b></td></tr>";
echo "<tr><td width='75%' align=left size='2' colspan=2>Autore: - <b>$autore</b></td></tr>";
echo "<tr><td width='75%' align=left size='2' colspan=2>Casa Editrice: - <b>$casaeditrice</b></td></tr>";
}
mysql_close($db);
};
?> |
eccone una terza
| Codice: | <?php
$nomeHost= "localhost";
$nomeUtente= "root";
$password= "";
$db= mysql_connect($nomeHost, $nomeUtente, $password) or die("Non riesco a creare la connessione");
$nomeDB="cercalibri";
mysql_select_db($nomeDB) or die("Non trovo il DB");
$id = id;
$titolo=titolo
$autore= autore
$casaeditrice= casaeditrice
$query = "SELECT id FROM libri WHERE id=".$id."";
$result = mysql_query($query) or die ("Errore nella query");
while($riga = current($result)){
echo current($result);
next($result);
}
mysql_close($db);
?> |
dove sbaglio?
 |
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona
|
Oggetto:
Inviato: 27.01.08 | 19:04 |
|
|
Sbagli nel copiare ed incollare codice preso qua e là senza capire a cosa serve quel codice... quindi ti ripeto che se vuoi veramente fare qualcosa con PHP-MySQL devi leggerti delle guide, altrimenti anche un ; (punto e virgola) sarà causa di problema irrisolvibile.
Quelle guide te le leggi tutte in una giornata... non mi sembra sia una cosa difficile... basta un po' di buona volontà.
Nel primo esempio è nornale che ti restituisca solo un record, in quanto è quello che il codice chiede... non avendo un ciclo.
Il secondo esempio ha diversi errori a partire dall'HTML che vai a "stampare"...
Il terzo non ho mai usato quella sintassi... ma ti conviene leggere quelle guide e farti un tuo metodo di sviluppo.
. ____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
mela81
principiante

Età: -1981
Registrato: 26/01/08 13:03
Messaggi: 33
Località: in attesa di occupazione
|
Oggetto: risposta
Inviato: 27.01.08 | 20:42 |
|
|
ho quasi risolto
ecco il codice
| Codice: | <?php
$id=$_POST[’id’];
$titolo=$_POST[’titolo’];
$autore=$_POST[’autore’];
$casaeditrice=$_POST[’casaeditrice’];
mysql_connect("localhost","root","")or die("non riesco a connettermi");
mysql_select_db("cercalibri")or die("non riesco selezionare il database");
$dati=mysql_query("insert into libri(id,titolo,autore, casa editice) values(’$id’,'$titolo’,'$autore', $casaeditrice )");
if($dati) echo"&result=autore trovato";
else echo"&result=autore non trovato!, effettua un' altra ricerca";
?> |
solo che ora mi esce sempre e solo : &result=autore non trovato!, effettua un' altra ricerca
anche se inserisco i dati presenti nel database che e il seguente:
CREATE TABLE libri(
id tinyint(6) NOT NULL auto_increment,
titolo char(40) NOT NULL,
autore char(30) NOT NULL,
casaeditrice varchar(50) NOT NULL,
PRIMARY KEY (id)
);
INSERT INTO libri VALUES (1, 'va dove ti porta il cuore', 'susanna tamaro','modadori');
INSERT INTO libri VALUES (2, 'gli arancini di momtalbano, 'Andrea Camilleri', 'sellerio editore');
INSERT INTO libri VALUES (3, 'spingendo la notte più in là', 'Mario Calabresi', 'mondadori');
per favore aiutami a capire dove sbaglio |
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona
|
Oggetto:
Inviato: 28.01.08 | 02:07 |
|
|
E' ovvio che vi è un errore nella query... ma scusa... che centra ora l'INSERT???
Vedo che comunque non vuoi ascoltare i consigli che ti vengono dati... cosa chiedi a fare???
. ____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
mela81
principiante

Età: -1981
Registrato: 26/01/08 13:03
Messaggi: 33
Località: in attesa di occupazione
|
Oggetto: risposta
Inviato: 31.01.08 | 21:41 |
|
|
per quanto ri guada il primo esempio che ti ho postato tu hai detto che manca un ciclo, io avevo pensato di mettere un ciclo for dato che la mia tabella ha un mumro di record definito, però detto questo nn so come impostare e in quale parte di codice devo mettere questo ciclo, il sto che mi hai consigliato è buono per la parte teorica ma per la parte pratica no  |
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona
|
Oggetto:
Inviato: 01.02.08 | 00:16 |
|
|
Ci sono guide sia teoriche che pratiche... basta che le leggi però!!!
Se te lo consiglio vuol dire che ti serve... segui i consigli e poi vedrai che saprai come fare...
. ____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
ZobaZ
moderatore


Registrato: 27/03/04 21:25
Messaggi: 71
Località: Cologna Veneta, Verona
|
Oggetto:
Inviato: 03.02.08 | 15:16 |
|
|
Ciao mela81,
nel codice SQL manca un apostrofo (...arancini di montalbano', 'Andrea Camilleri...):
| Codice: | CREATE TABLE libri(
id tinyint(6) NOT NULL auto_increment,
titolo char(40) NOT NULL,
autore char(30) NOT NULL,
casaeditrice varchar(50) NOT NULL,
PRIMARY KEY (id)
);
BEGIN;
INSERT INTO libri VALUES (1, 'va dove ti porta il cuore', 'Susanna Tamaro', 'modadori');
INSERT INTO libri VALUES (2, 'gli arancini di montalbano', 'Andrea Camilleri', 'sellerio editore');
INSERT INTO libri VALUES (3, 'spingendo la notte più in là', 'Mario Calabresi', 'mondadori');
COMMIT; |
Per il PHP prova con questo:
| Codice: | <h2>Cerca un libro:</h2>
<form action="" method="get">
<label for="titolo">Titolo:</label>
<input name="titolo" type="text" /><br />
<label for="autore">Autore:</label>
<input name="autore" type="text" /><br />
<label for="casaeditrice">Casa Editrice:</label>
<input name="casaeditrice" type="text" /><br />
<input name="submit" type="submit" value="cerca >>" />
</form>
<hr />
<?php
if(isset($_GET['titolo']) && isset($_GET['autore']) && isset($_GET['casaeditrice'])) {
$titolo = stripslashes(strip_tags($_GET['titolo']));
$autore = stripslashes(strip_tags($_GET['autore']));
$casaeditrice = stripslashes(strip_tags($_GET['casaeditrice']));
$nomeHost = "localhost";
$nomeUtente = "root";
$password = "";
$nomeDB = "cercalibri";
$db = mysql_connect($nomeHost, $nomeUtente, $password) or die("Non riesco a creare la connessione");
mysql_select_db($nomeDB) or die("Non trovo il DB");
$query = "SELECT * FROM libri WHERE titolo='$titolo' OR autore='$autore' OR casaeditrice='$casaeditrice'";
$result = mysql_query($query) or die("Errore nella query");
$num = mysql_num_rows($result);
echo "<h2>Risultati della ricerca:</h2>\n";
if($num == 0) echo "<p style=\"color:red\">Nessun libro trovato!</p>\n";
else {
echo "<table border=\"1\">\n";
echo "<th>Id</th><th>Titolo</th><th>Autore</th><th>Casa Editrice</th>\n";
while($riga = mysql_fetch_array($result)) {
echo "<tr>\n";
echo "<td>".$riga['id']."</td><td>".$riga['titolo']."</td><td>".$riga['autore']."</td><td>".$riga['casaeditrice']."</td>\n";
echo "</tr>\n";
}
echo "</table>\n";
}
mysql_close($db);
}
?> |
ciao! ____________________________________________________________ ZobaZ - web design & sounds
www.myspace.com/zobaz_it
www.youtube.com/zobazDOTit
www.zobaz.it
 |
|
| Torna in cima |
|
|
|
|
Non puoi inserire nuovi Topic in questo forum Non puoi rispondere ai Topic in questo forum Non puoi modificare i tuoi messaggi in questo forum Non puoi cancellare i tuoi messaggi in questo forum Non puoi votare nei sondaggi in questo forum Non puoi allegare files in questo forum Non puoi downloadare gli allegati in questo forum
|
|