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   -
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 698 Date d'inscription   Statut Membre Dernière intervention   80
 
"UPDATE manifestations SET pg_encours='O' WHERE id=".$row3['id']
0
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
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 698 Date d'inscription   Statut Membre Dernière intervention   80
 
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 698 Date d'inscription   Statut Membre Dernière intervention   80
 
$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 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
Ouaiiiiiis................ Merci maka54 !!!!!! ;o))

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

Merci et à ++
0