Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. 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
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
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.


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
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

PM Quote