Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
finchè inserisco campi tutto va bene, dal momento in cui cancello un campo succede il finimondo:
cancello i campi e va tutto bene finchè non ne inserisco uno nuovo!
dal momento che inserisco un nuovo campo si crea una confusione con la chiave primaria che crea problemi quando vado a cancellare un ulteriore campo, ad esempio voglio eliminare il 1° e invece mi elimina il 3°.
se avete tempo di provarlo 5 secondi capirete che è + facile capire il problema che spiegarlo. chi mi dice dove sbaglio?
grazie in anticipo
Ultima modifica effettuata da NickoMaiden il 01/06/2010 alle 15:23
sinceramente non riesco a trovare il problema pur avendo letto il sergente ben 3 volte.
ma posso dirti che vedo abbastanza chiasso nel codice.
ti direi semplicemente di provare a riscriverlo.
prova a rifarlo magari omettendo l'html e testando prima di tutto le query
cercando di capire dove sia il problema.
dalla forma delle query mi sembra di vedere l'output generato da phpmyadmin e non una query fatta manualmente.
personalmente farei connettere il database in anticipo prima che entri nella pagina
all'inizio della pagina in modo che rimanga sempre connesso per tutta la sessione.
Codice sorgente - presumibilmente Plain Text
$host = 'localhost';
$db = '';
$user = '';
$pass = '';
$connect = mysql_connect($host,$user,$pass);
mysql_select_db($db,$connect);
prova ad usare una forma semplice di query
Codice sorgente - presumibilmente Plain Text
mysql_query("INSERT INTO Rubrica (nome,cognome,numero) VALUES ('$nome','$cognome','$numero'");
almeno prova con una semplice query e controlla se tutto funziona bene.
magari semplifica un pò anche la query di stampa anziché usare quel metodo prova questo
bhe si il codice è incasinato soprattutto perchè è la prima cosa che ho tentato di realizzare in php.
ora mi metto a riscriverlo comunque usando le indicazioni che mi hai dato.
le query le ho generate con phpmyadmin ma non perchè non conosco l'sql, ma per evitare di commettere errori.
non ho capito tanto bene la stampa che hai fatto tu:
echo"<tr><td> NOME </td><td>COGNOME</td><td>TELEFONO</td><td>ELIMINA</td></tr>";
// fin qui ci siamo
while($row=mysql_fetch_array($sql)){// mi spieghi esattamente che fa qui che non riesco a capire? cioè non ci dovrebbe essere un indice per passare da riga a riga?
echo"<tr><td>";echo"$row[nome]";
echo"<tr><td>";echo"$row[cognome]";
echo"<tr><td>";echo"$row[telefono]";
echo"<tr><td>";
echo"$row[telefono]";
echo"<a href='lawl.php?canc=$id'>Elimina</a>";
}
}
Ultima modifica effettuata da NickoMaiden il 01/06/2010 alle 15:37
infatti il ciclo while fa tutto lui
non serve un indice perchè stampa a video tutto il contenuto riga per riga
poi se tu che in quella riga puoi scegliere anche quale campo vedere o non.
while($row = mysql_fetch_array($sql)) {
nella variabile $row và tutta la riga della tabella compreso nome,cognome,numero ecc. ecc.
quindi $row diventa un array come dice la sintassi stessa.
quindi recupero dall'array il valore della seguente riga
echo $row[nome];
successivamente se ci sono più righe il valore $row[nome] cambia
così eviti di farti tutto quel ciclo inutile
infatti il ciclo while fa tutto lui
non serve un indice perchè stampa a video tutto il contenuto riga per riga
poi se tu che in quella riga puoi scegliere anche quale campo vedere o non.
while($row = mysql_fetch_array($sql)) {
nella variabile $row và tutta la riga della tabella compreso nome,cognome,numero ecc. ecc.
quindi $row diventa un array come dice la sintassi stessa.
quindi recupero dall'array il valore della seguente riga
echo $row[nome];
successivamente se ci sono più righe il valore $row[nome] cambia
così eviti di farti tutto quel ciclo inutile