|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2003
Città: Arese(MI)
Messaggi: 321
|
[PHP] Costruisre una stringa SQL per fare l'UPDATE
Ciao a tutti,
ho un modulo con alcuni campi input di testo che invia tutti i valori dei campi (anche quelli nulli) ad una pagina PHP che sulla base di questi valori aggiorna un record di una tabella di un DB. Il problema è il seguente: La stringa SQL deve essere "UPDATE tabella SET campo1=valore1, campo2=valore2, campo3=valore3 WHERE id=stringa" Il mio form manda quindi alla pagina php i 3 valori (valore1, valore2, valore3) che io pesco con $_GET e assegno a 3 variabili. Devo fare in modo che se l'utente non inserisce un valore in uno o più dei 3 campi, la stringa UPDATE non contenga quel campo da aggiornare perchè altrimenti mi andrebbe a sovrascrivere un valore che invece l'utente non ha deciso di modificare. Come posso fare? Ero partito con una cosa del genere Codice:
$stringaSQL = "UPDATE tabella SET ";
if (!is_null($valore1) OR $valore1 != "") {
$stringaSQL = $stringaSQL . "campo1=" . $valore1 . ", ";
}
if (!is_null($valore2) OR $valore2 != "") {
$stringaSQL = $stringaSQL . "campo2=" . $valore2 . ", ";
}
if (!is_null($valore3) OR $valore3 != "") {
$stringaSQL = $stringaSQL . "campo3=" . $valore3 . ", ";
}
$stringaSQL = $stringaSQL . "WHERE id=" . $variabile;
E poi se nessuno dei campi fosse settato cosa accadrebbe? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
beh così hai 3 condizioni...
a sto punto falle tutte e 5 e risolvi tutti i problemi
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2003
Città: Arese(MI)
Messaggi: 321
|
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
|
c'è una funzione php che prende una stringa (in questo caso l'uri) e ti restituisce un array opportunamente fatto...
per esempio se tu chiami www.example.com?a=1&b=2&...&n=n la funzione, di cui non ricordo il nome, ti restituisce Array( 'a'=>1, 'b'=>2, ..., 'n'=>n ); con questo array puoi fare un for che costruisce la stringa, indipendentemente dal numero dei campi |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
ok pensavo fossero solo quei 3
allora mi sa che devi fare un update per ogni EVENTUALE variabile a meno che nn trovi la funzione per l'array di cui sopra ;9
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Nov 2003
Città: Arese(MI)
Messaggi: 321
|
Quote:
Non riesco a trovarla. |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
|
parse_str ... abbastanza ovvio come nome
http://www.php.net/manual/en/function.parse-str.php questa è anche meglio http://www.php.net/manual/en/function.parse-url.php |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Nov 2003
Città: Arese(MI)
Messaggi: 321
|
Quote:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:09.




















