Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - Update non funzionante
Forum - PHP - Update non funzionante

Avatar
Grubby (Ex-Member)
Rookie


Messaggi: 27
Iscritto: 25/08/2010

Segnala al moderatore
Postato alle 11:42
Lunedì, 07/03/2011
Ciao a tutti
Spiego brevemente il mio problema, vediamo se qualcuno riesce ad aiutarmi :)

In un pannello di controllo, per moderare dei topic, ho previsto una funzione modifica.
Il link modifica richiama una pagina edit.php con all'interno una select (per visualizzare il topic da modificare) e un update (per confermare le modifiche).

Ora, i problemi essenzialmente sono 2:
1- quando vado a disporre i dati estrapolati dal db all'interno dei componenti nella pagina (textarea per il testo e input type=submit per il titolo e il nick) le stringhe aggiungono un <br> all'inizio (es. mia stringa nel db "ciao..."; risultato nella pagina     " ciao...")
2- quando vado a confermare le modifiche il db non aggiorna i suoi valori

è un po' che ci ragiono e non ne sono ancora venuto a capo, anche perchè la sintassi mi sembra corretta.

Select
Codice sorgente - presumibilmente PHP

  1. $query = @mysql_query("SELECT Topics.ID, Topics.NICK, Topics.TITOLO, Topics.TESTO
  2.                       FROM Topics
  3.                       WHERE ID = '".$ID."' ");
  4. $ID = array();
  5. $Nick = array();
  6. $Titolo = array();
  7. $Testo = array();
  8.  
  9. while($row = mysql_fetch_array($query))
  10. {
  11.         $ID[] = $row['ID'];
  12.         $Nick[] = $row['NICK'];
  13.         $Titolo[] = $row['TITOLO'];
  14.         $Testo[] = $row['TESTO'];
  15. }


dopodiché stampo i valori così come sono all'interno dei componenti.

Update
Codice sorgente - presumibilmente PHP

  1. $query = "UPDATE Topics
  2.                SET
  3.                 ID = 'NULL',
  4.                 NICK = ' $_POST[Autore] ',  
  5.                 DATA = ' $data ',
  6.                 ORA = ' $ora ',  
  7.                 TITOLO = ' $_POST[Titolo] ',  
  8.                 TESTO = ' $_POST[Testo] '                  
  9.                WHERE
  10.                 ID = '".$ID."' ";



Il codice non mi da nessun errore, davvero non capisco dove sbaglio :d
Qualcuno riesce ad aiutarmi???
Grazie in anticipo





Ultima modifica effettuata da Grubby il 07/03/2011 alle 11:48


Io non voglio essere un prodotto del mio ambiente, voglio che il mio ambiente sia un mio prodotto....
PM Quote
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1704
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 13:09
Lunedì, 07/03/2011
Il mio consiglio e quello di studiarti almeno un pò l'sql evitando di usare il codice generato da phpmyadmin,

te lo consiglio vivamente, perché copiare ed incollare non andrai da nessuna parte,

Testo quotato


$query = "UPDATE Topics                 SET                  ID = 'NULL',                  NICK = ' $_POST[Autore] ',                    DATA = ' $data ',                  ORA = ' $ora ',                    TITOLO = ' $_POST[Titolo] ',                    TESTO = ' $_POST[Testo] '                                   WHERE                  ID = '".$ID."' ";



hai inserito una semplice query string in una variabile tutto qui,
non hai dato nessun comando al mysql per farti eseguire la query

invece di usare $query usa mysql_query.


PM Quote
Avatar
Grubby (Ex-Member)
Rookie


Messaggi: 27
Iscritto: 25/08/2010

Segnala al moderatore
Postato alle 14:05
Giovedì, 10/03/2011
Testo quotato

Postato originariamente da Thejuster:

Il mio consiglio e quello di studiarti almeno un pò l'sql evitando di usare il codice generato da phpmyadmin,




Scusa se rispondo solo ora.
Hai ragione, sicuramente dovrei studiare l'sql, il problema è che non ho tempo...

Comunque mi ero dimenticato 2 righe dell'update
Codice sorgente - presumibilmente PHP

  1. $query = "UPDATE Topics
  2.                SET
  3.                 ID = 'NULL',                
  4.                 NICK = ' $_POST[Autore] ',  
  5.                 DATA = ' $data ',
  6.                 ORA = ' $ora ',  
  7.                 TITOLO = ' $_POST[Titolo] ',  
  8.                 TESTO = ' $_POST[Testo] '                  
  9.                WHERE
  10.                 ID = " . $varID . " ";
  11.  
  12.       @mysql_query($query)or die (mysql_error());
  13.       @mysql_close();



Ho risolto modificando ID in varID, perchè ID veniva usata da un'altra parte.
Grazie comunque per la risposta


Io non voglio essere un prodotto del mio ambiente, voglio che il mio ambiente sia un mio prodotto....
PM Quote