<tr data-row-id="<?=$row['info_id'];?>">. Mes deux cellules ont le même id (la même ligne) dans la table infos. Vu que dans le where de mon update je fais référence avec ce même id. Du coup quand je fais une modification dans une des cellules il l'enregistre toujours dans la première par defaut. Est-ce qu'il y a une alternative pour je puisse utiliser l'id mais distinguer mes cellules? Merci.
UPDATE infos SET info_titre = 'Je suis le titre de la cellule' WHERE info_id='1'
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionUPDATE infos SET info_titre = 'Je suis le titre de la cellule' WHERE info_id='1'
En fait mon problème est que les 2 cellules ont le même id dans ma table. C-à-d qu'elles représentent les contenus de mes colonnes
Du coup il y a un seul id pour mes 2 cellules
col-index='1'
data-index='1'
data['index'] = $(this).attr('col-index');
data['index'] = $(this).data('index');
UPDATE infos SET ".$columns[$colIndex]." = '".$colVal."'
J'ai même enlevé la condition where pour tester
UPDATE infos SET info_titre = 'Je suis le titre de la cellule' WHERE info_id='1'
$columns = array( 0 =>'info_titre', 1 => 'info_contenu' );
UPDATE infos SET info_contenu = 'Je suis le titre de la cellule' WHERE info_id='1'
Puisque je n'arrive pas à me faire comprendre malgré les explications
$columns = array(
0 =>'info_titre',
1 => 'info_contenu'
);
Maintenant quand tu fais un update tu précises toujours la condition where pour indiquer dans quel champ tu veux apporter de modifications
Or les 2 champs info_titre et info_contenu dans la table infos sont référencés par un même id (= 1).
La structure de ma table infos est : info_id, info_titre et info_contenu
UPDATE infos SET info_titre = 'Je suis le titre de la cellule' WHERE info_id='1'
UPDATE infos SET info_contenu = 'Je suis le contenu de la cellule' WHERE info_id='1'
Maintenant trop assez parler. Si tu penses que mon problème n'est pas là, donnes-moi un exemple de code pour que je puisse tester et corrige
<?php // Fichier : ajax_request.php //---------------------------------------// // connexion à la db require_once('db.php'); //define index of column $columns = array( 0 =>'info_titre', 1 => 'info_contenu'); //récupération "propre" des variable) $colVal = isset($_POST['val']) ? $_POST['val'] : ""; $colIndex = !empty($_POST['index']) ? $_POST['index'] : 0; $rowId = !empty($_POST['id']) ? $_POST['id'] : NULL; // Si un id est bien passé en paramètres if($rowId){ //préparation de la requete et des variables $sql = "UPDATE infos SET ".$columns[$colIndex]." = :colVal WHERE info_id = :rowId"; $datas = array(":colVal"=>$colVal , ":rowId"=>$rowId); //exécution de la requete try{ $req = $db->prepare($sql); $req->execute($datas); $msg = array('status'=>false ,'msg'=>'Saisie enregistrꥠavec success !' ,'debug'=>""); }catch(Exception $e){ //erreur dans la requete $msg = array( 'status'=>true ,'msg'=>'Erreur ! '.$e->getMessage() ,'debug'=>array("requete"=>$sql,"datas"=>$datas) ); } }else{ //pas d'ID $msg = array('status'=>true ,'msg'=>"Erreur ! ID de ligne vide !!" ,'debug'=>$_POST); } // send data as json format echo json_encode($msg);