variable session dans base
Posté : 07 sept. 2006, 23:56
par YVES
Bonjour,
J'ai 1 petit soucis avec une sauvegarde de variable de session en base,
<?php
session_start() ;
?>
<?php
$sql = "UPDATE membres SET stock1='objet/rien.gif' WHERE id = ".$id;
$_SESSION['stock1']='./objet/rien.gif';
$sql = "UPDATE membres SET qstock1=0 WHERE id = ".$id;
$_SESSION['qstock1']=0;
header("Location: page_membre.php");
mysql_close();
?>
ca fonctionne très bien
à l'écran mais la sauvegarde en base de données ne fonctionne pas...
Posté : 08 sept. 2006, 00:15
par Truc
Salut,
Tu peux regrouper les 2 mise à jour des champs dans une seule requête
$sql = "UPDATE membres SET stock1='objet/rien.gif', qstock1=0 WHERE id = ".$id;
Tu as oublié une étape... que doivent faire les requêtes ?

Posté : 08 sept. 2006, 00:15
par Shrell
Si on suit uniquement ce que fait le morceau de code que tu nous proposes, c'est normal, pour faire un accès à mysql il ne faut pas seulement définir la requete (ce que tu fais quand tu écris $sql = "UPDATE membres SET stock1='objet/rien.gif' WHERE id = ".$id; ), mais la faire parvenir à la base de données en utilisant mysql_query()
Ensuite, pourquoi dis tu que tu sauvegardes tes variables de session dans ta base alors que tu les définis après avoir fait ta requete?
Posté : 16 sept. 2006, 17:20
par YVES
Ca y est, c'est résolu.....
$sql= " SELECT stock1 FROM membres WHERE id = ". $id;
$res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
while ($data = mysql_fetch_array($res))
{
$sql = "UPDATE membres SET objetutil1= stock1, stock1='./images/rien.jpg', qobjetutil1=qstock1, qstock1=0, uobjetutil1=ustock1 WHERE id = ".$id;
mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
if($res)
{
$_SESSION['objetutil1']= $_SESSION['stock1'];
$_SESSION['stock1']= './images/rien.jpg';
$_SESSION['ustock1']= $_SESSION['ustock1'];
$_SESSION['qobjetutil1']= $_SESSION['qstock1'];
$_SESSION['qstock1']= $_SESSION['qstock1']=0;
$_SESSION['uobjetutil1']= $_SESSION['ustock1'];
header("Location: page_membre.php");
}
mysql_close();
?>