2010-06-27 4 views
1

Salut im essayant de construire un foreach de sorte de, qui extrairait ($ _ POST) puis utf8_decode chaque poste ainsi je ne dois pas faire ceci manuellement pour chaque $ variable, est-il facile de faire une telle fonction, im fatigué .. merci pour toute aide.en utilisant l'extrait pour extraire les variables post dollar

+0

Pourquoi avez-vous besoin de utf8_decode() les données en premier lieu? Pourquoi pas, par exemple encoder les données entrantes comme «iso-8859-1» depuis le début? Que faites-vous avec les données après? –

+0

Pourquoi avez-vous besoin d'extraire toutes les variables POST? –

+0

parce que jquery ajax ne semble pas être flexible si vous voulez choisir un charset diffrenet que UTF – tetris

Répondre

4

Au lieu d'écrire toutes les variables en question à la main, vous pouvez simplement nommer les noms de champs, en utilisant cette fonction simple pour produire Instruction SET:

function dbSet($fields) { 
    $set=''; 
    foreach ($fields as $field) { 
    if (isset($_POST[$field])) { 
     $set.="`$field`='".mysql_real_escape_string($_POST[$field])."', "; 
    } 
    } 
    return substr($set, 0, -2); 
} 

et de l'utilisation aussi simple que:

$fields = explode(" ","name surname lastname address zip fax phone"); 
$query = "UPDATE $table SET ".dbSet($fields)." WHERE id=$id"; 

Neat, hein?

+0

yep a l'air cool, par le façon im assez nouveau à PHP, ce que le substr ($ set, 0, -2); est pour? – tetris

+0

@tada: il supprime le dernier "," à la fin de la variable $ set. – Cesar

+0

Nice, mais cela nécessite encore 'utf8_decode()' ing ou 'iconv()' comme demandé par l'OP;) –

Questions connexes