Modifier champs mysql selon condition

Résolu/Fermé
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 - 31 mars 2012 à 12:07
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 - 31 mars 2012 à 13:08
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 :
$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:

5 réponses

maka54 Messages postés 699 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 4 décembre 2016 80
31 mars 2012 à 12:31
"UPDATE manifestations SET pg_encours='O' WHERE id=".$row3['id']
0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
Modifié par t671 le 31/03/2012 à 12:43
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 ...............
0
maka54 Messages postés 699 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 4 décembre 2016 80
31 mars 2012 à 12:55
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']."'"
0
maka54 Messages postés 699 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 4 décembre 2016 80
31 mars 2012 à 12:57
$select3="SELECT id,date FROM manifestations WHERE ORDER BY date ASC"; 	


et j'avais pas fais attention, mais ajoute id dans ta requete
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
31 mars 2012 à 13:08
Ouaiiiiiis................ Merci maka54 !!!!!! ;o))

Effectivement, si je rajoute "id" dans la requête de SELECT, ça fonctionne mieux ................ ;o))

Merci et à ++
0