Modifier champs mysql selon condition
Résolu
t671
Messages postés
1476
Date d'inscription
Statut
Membre
Dernière intervention
-
t671 Messages postés 1476 Date d'inscription Statut Membre Dernière intervention -
t671 Messages postés 1476 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans mes enregistrements de la table, j'ai un champs que j'utilise comme pointeur. Il est rempli par le caractère 'O' en cas de besoin. Et un seul enregistrement de la table peut avoir ce caractère dans ce champs.
Si je supprime l'enregistrement qui contient ce caractère, l'enregistrement comportant le champs "date" minimun doit être mis à jour pour comporter ce caractère 'O'.
Voilà où j'en suis :
Dans la première partie ($select2), je teste si l'enregistrement à supprimer comporte le caractère "O" dans le champs "pg_encours".
Sur la dernière ligne ($result4), j'ai l'erreur Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in qui provient certainement de id=$row3['id']. Quelle est la bonne expression à écrire ?
Est-ce la bonne solution ?
Merci.
Dans mes enregistrements de la table, j'ai un champs que j'utilise comme pointeur. Il est rempli par le caractère 'O' en cas de besoin. Et un seul enregistrement de la table peut avoir ce caractère dans ce champs.
Si je supprime l'enregistrement qui contient ce caractère, l'enregistrement comportant le champs "date" minimun doit être mis à jour pour comporter ce caractère 'O'.
Voilà où j'en suis :
$select2 = "SELECT pg_encours FROM manifestations where id='$id'"; $result2 = mysql_query($select2,$link) or die ('Erreur : '.mysql_error() ); $row2 = mysql_fetch_array($result2); if (($row2['pg_encours']) == 'O') { $select3="SELECT date FROM manifestations WHERE ORDER BY date ASC"; $result3= mysql_query($select3,$link) or exit ('Erreur : '.mysql_error() ); $row3 = mysql_fetch_array($result3); $result4=mysql_query("UPDATE manifestations SET pg_encours='O' WHERE id=$row3['id']"); }
Dans la première partie ($select2), je teste si l'enregistrement à supprimer comporte le caractère "O" dans le champs "pg_encours".
Sur la dernière ligne ($result4), j'ai l'erreur Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in qui provient certainement de id=$row3['id']. Quelle est la bonne expression à écrire ?
Est-ce la bonne solution ?
Merci.
A voir également:
- Modifier champs mysql selon condition
- Modifier dns - Guide
- Modifier liste déroulante excel - Guide
- Excel cellule couleur si condition texte - Guide
- Modifier story facebook - Guide
- Modifier extension fichier - Guide
5 réponses
Merci maka54, mais je pense qu'il y a un souci de guillemet dans ce que tu écris : id=".$row3['id']
Et moi, je ne suis vraiment pas d'accord entre les guillemets, les doubles guillemets ...............
Et moi, je ne suis vraiment pas d'accord entre les guillemets, les doubles guillemets ...............
Merci maka54, mais je pense qu'il y a un souci de guillemet dans ce que tu écris
et tu as essayé au moins ??
si ton id est numérique, cela fonctionnera parfaitement
sinon il faut ajouter des simples quotes
"UPDATE manifestations SET pg_encours='O' WHERE id='".$row3['id']."'"
$select3="SELECT id,date FROM manifestations WHERE ORDER BY date ASC";
et j'avais pas fais attention, mais ajoute id dans ta requete
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question