Mince j'ai essayé ça, cela devrait marcher mais pourtant toujours rien ne s'ecrit dans Mysql :
1 2 3 4 5 6 7
|
$columns = implode(",",array_keys($data));
var_dump($columns);
$escaped_values = array_map('intval', array_values($data));
$values = implode(",", $escaped_values);
var_dump($escaped_values);
$sql = "INSERT INTO evaluations (idevaluation,".$columns.") VALUES (null,".$values.")"; |
Mes colonnes ne sont pas dans l'ordre dans $columns, mais je me dit que ca devrait marcher quand même tant que cela correspond à l'ordre de $values,ce qui est le cas... Je sêche :
http://stackoverflow.com/questions/1...ent-are-not-in
J'ai fait un echo de ma requête sql et j'ai ça :
INSERT INTO evaluations (idevaluation,noteglobale,service,ambiance,attente,caisses,cuisines,toilettes,idintervenant,idresto) VALUES (null,1,1,1,1,1,1,1,3,2)
ARGHHH : Edit : Normal j'avais nommé ma requête sql $sql au lieu de l'appeller $q , oui ça marche maintenant ! Niquel !
Voici le code définitif qui fonctionne et qui génére une requête sql à partir de la réception de données JSON du front end :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| /*Function qui insère les notes d un resto: */
function insert_evaluation() {
/* Récupération des données POST */
$data = json_decode(file_get_contents("php://input"), true);
/* Traitement des données pour les mettre dans la requête INSERT - Séparation en noms de colonnes(strings) et en valeurs(int) */
$columns = implode(",",array_keys($data));
$escaped_values = array_map('intval', array_values($data));
$values = implode(",", $escaped_values);
/* SQL. */
$q = "INSERT INTO evaluations (idevaluation,".$columns.") VALUES (null,".$values.")";
$qry = mysql_query($q);
if ($qry) {
$arr = array('msg' => "Impression enregistree avec succès!!!", 'error' => '');
$jsn = json_encode($arr);
// print_r($jsn);
} else {
$arr = array('msg' => "", 'error' => 'Erreur dans la mise à jour de l enregistrement');
$jsn = json_encode($arr);
// print_r($jsn);
}
exit();
} |
Reste à le faire aussi sur un update mais pas sur que cela soit possible !
Plus rien à écrire ! J'adore !
Partager