Page 1 sur 1

requête update

Posté : 12 avr. 2005, 11:50
par Darkbibou
Salut tt le monde,

Voila je voudrai mettre à jour le champ d'une table grâce à une requête dans un fichier PHP mais je n'arrive pas à trouver la bonne syntaxe:

Voici mon code :

<?

// récupération des données depuis la page HTML pour PHP4 ou supérieur

$entreprise_name= $_POST['entreprise_update'];
$renouvellement_stage= $_POST['renouvellement'];

// boucle de test/remplissage

// msg d'erreur si champs formulaire non remplis

if ($entreprise_name == "" || $renouvellement_stage == ""){
echo"ERREUR: Vous devez obligatoirement remplir les champs Nom de l'entreprise et Renouvellement possible";

}else{

//connexion à la base de données:

$liendb4=mysql_connect("localhost","root","")or die("la connexion à la base a échoué");

// selection de la base à remplir:

mysql_select_db("base_stage")or die("Impossible de se connecter à la base de données");

// remplissage de la base:

$sql1="UPDATE Entreprises SET Possiblité_avenir=$renouvellement_stage";

mysql_query($sql1);

// requête de contrôle de l'affichage

$sql="SELECT Nom_entreprise,Ville,Possiblité_avenir FROM Entreprises ORDER BY Nom_entreprise";

$resultat=mysql_query($sql);
$lgn=mysql_num_rows($resultat);
$nbcol=mysql_num_fields($resultat);

echo"Verification de l'insertion avec la requete : SELECT Nom_entreprise,Ville, Possiblité_avenir FROM Entreprises ORDER BY Nom_entreprise";

echo"<BR><BR>";

echo"<TABLE border=1>";

for($i=0;$i<$lgn;$i++)
{
echo"<TR>";
for($j=0;$j<$nbcol;$j++)
{
echo"<TD>";
echo mysql_result($resultat,$i,$j);
echo"</TD>";
}
echo"</TR>";
}

echo"</TABLE>";

// Fermeture de la base

mysql_close($liendb4);

// message confirmant l'insertion des données dans la base

echo"<BR><BR>";
echo"Données insérées, pour vérifier allez dans PHPmyAdmin";

} // fin boucle de test

?>

Posté : 12 avr. 2005, 12:36
par iclo
là, il faut que tu nous en dises plus, que veut tu faire exactement comme update ??
Là seul chose qui me parait bizzare, c'est que tu mets à jour touts les champs de la table. Ne manquerait-il pas une clause where ??

Posté : 12 avr. 2005, 13:21
par zoul
Essaie en ajoutant des simples quotes autour de tes variables.
$sql1="UPDATE Entreprises SET Possiblité_avenir='$renouvellement_stage'";
Par contre, comme dit plus haut, cela va modifier toutes les occurrences "Entreprises" de ta table.

Posté : 12 avr. 2005, 13:26
par Darkbibou
Merci, les simples cote fonctionne.

Comme l'un de vous me le disait il manque une clause where mais je sai pas comment l'ecrire :S

Posté : 12 avr. 2005, 13:29
par iclo
Pour qu'on puisse t'aider il aurai fallu que tu nous dises quels sont les enregistrements que tu veux modifier ainsi que la structure exacte de la table Entreprises