Insérer et modifier en php
Résolu
Yoshi
-
Yoshi -
Yoshi -
Bonjour,
Voilà j'ai un projet de fin d'année dont le but est de faire un site pour une entreprise ou autre
Ma partie de projet est d'insérer et de modifier des réservations de gîtes mais lorsque je veux le faire, soit il me dit que la réservation est déjà insérer ou qu'il est impossible de la modifier donc je commence à m'énerver sur les scripts
Voilà celui pour insérer
body bgcolor="#000080" text="#FFFFFF" link="#FFFF00" vlink="#00FFFF">
<?php
$serveur = mysql_connect ('localhost','root') or die ('Erreur : .mysql_error()' );
mysql_select_db('gdv',$serveur);
// ISSET : teste si les zones à saisir sont bien renseignées
if (isset($_POST['nugite']))
{
$numero=$_POST['nugite'];
}
if (isset($_POST['datedeb']))
{
$datedeb=$_POST['datedeb'];
}
if (isset($_POST['datefin']))
{
$datefin=$_POST['datefin'];
}
$verif = "select * from reservation where NoGite=$numero and DateResDeb=$datedeb";
if (!$verif)
{
$sql="insert into RESERVATION (NoGite, DateResDeb, DateResFin) ";
$sql=$sql."values ($numero,'$datedeb','$datefin')";
mysql_query($sql) or die ("erreur !");
echo "reservation enregistrée";
}
else
echo "reservation deja existante"; (<---- là il me marque toujours se echo)
// on ferme la connexion à la base
mysql_close();
?>
Et là c'est la modif
<html>
<head>
</head>
<body bgcolor="#000080" text="#FFFFFF" link="#FFFF00" vlink="#00FFFF">
<?php
$NoRes=$_POST['NoRes'];
$DateResDeb=$_POST['DateResDeb'];
$DateResFin=$_POST['DateResFin'];
$NoGite=$_POST['NoGite'];
$maconnexion =mysql_connect("localhost","root","password")
or die("Connexion au serveur impossible");
$db=mysql_select_db("gdv",$maconnexion)
or die("Sélection de la base de données impossible");
$req = UPDATE SET `NoRes` = '$NoRes',`DateResDeb` = '$DateResDeb',`DateResFin` = '$DateResFin',`NoGite` = '$NoGite';
$ok=mysql_query($req);
if ($ok)
{
echo 'Requête exécutée<BR><BR> <a href="update_gite.php"> Cliquez ici pour revenir à la page précédente.';
}
else
{
echo 'Impossible d\'exécuter cette requête...';
}
mysql_close ();
?>
</body>
</html>
Donc si quelqu'un peut m'aider (sans forcer les cerveau) je doit le rendre pour jeudi!!
Merci de votre aide
Voilà j'ai un projet de fin d'année dont le but est de faire un site pour une entreprise ou autre
Ma partie de projet est d'insérer et de modifier des réservations de gîtes mais lorsque je veux le faire, soit il me dit que la réservation est déjà insérer ou qu'il est impossible de la modifier donc je commence à m'énerver sur les scripts
Voilà celui pour insérer
body bgcolor="#000080" text="#FFFFFF" link="#FFFF00" vlink="#00FFFF">
<?php
$serveur = mysql_connect ('localhost','root') or die ('Erreur : .mysql_error()' );
mysql_select_db('gdv',$serveur);
// ISSET : teste si les zones à saisir sont bien renseignées
if (isset($_POST['nugite']))
{
$numero=$_POST['nugite'];
}
if (isset($_POST['datedeb']))
{
$datedeb=$_POST['datedeb'];
}
if (isset($_POST['datefin']))
{
$datefin=$_POST['datefin'];
}
$verif = "select * from reservation where NoGite=$numero and DateResDeb=$datedeb";
if (!$verif)
{
$sql="insert into RESERVATION (NoGite, DateResDeb, DateResFin) ";
$sql=$sql."values ($numero,'$datedeb','$datefin')";
mysql_query($sql) or die ("erreur !");
echo "reservation enregistrée";
}
else
echo "reservation deja existante"; (<---- là il me marque toujours se echo)
// on ferme la connexion à la base
mysql_close();
?>
Et là c'est la modif
<html>
<head>
</head>
<body bgcolor="#000080" text="#FFFFFF" link="#FFFF00" vlink="#00FFFF">
<?php
$NoRes=$_POST['NoRes'];
$DateResDeb=$_POST['DateResDeb'];
$DateResFin=$_POST['DateResFin'];
$NoGite=$_POST['NoGite'];
$maconnexion =mysql_connect("localhost","root","password")
or die("Connexion au serveur impossible");
$db=mysql_select_db("gdv",$maconnexion)
or die("Sélection de la base de données impossible");
$req = UPDATE SET `NoRes` = '$NoRes',`DateResDeb` = '$DateResDeb',`DateResFin` = '$DateResFin',`NoGite` = '$NoGite';
$ok=mysql_query($req);
if ($ok)
{
echo 'Requête exécutée<BR><BR> <a href="update_gite.php"> Cliquez ici pour revenir à la page précédente.';
}
else
{
echo 'Impossible d\'exécuter cette requête...';
}
mysql_close ();
?>
</body>
</html>
Donc si quelqu'un peut m'aider (sans forcer les cerveau) je doit le rendre pour jeudi!!
Merci de votre aide
A voir également:
- Insérer et modifier en php
- Modifier dns - Guide
- Insérer video powerpoint - Guide
- Modifier liste déroulante excel - Guide
- Insérer signature word - Guide
- Modifier story facebook - Guide
12 réponses
Tu fais un if(!$verif) ce qui signifie que tu veux que $verif soit égal à false. $verif contient une chaîne de caractère (ta requête), donc aucun rapport ! Normal que ça ne fonctionne pas.
Ceci devrait mieux fonctionner. Tu avais oublié de faire mysql_query pour exécuter la requête. Ensuite à présent dans le if tu testes si la requête renvoie 0 résultats ou pas.
Même problème pour la seconde page. Tu as pensé au mysql_query mais tu testes son résultat comme un booléen. A remplacer par mysql_num_rowst().
$verif = "select * from reservation where NoGite=$numero and DateResDeb=$datedeb"; $req = mysql_query($verif); if (mysql_num_rows($req)==0) { $sql="insert into RESERVATION (NoGite, DateResDeb, DateResFin) "; $sql=$sql."values ($numero,'$datedeb','$datefin')"; mysql_query($sql) or die ("erreur !"); echo "reservation enregistrée"; } else echo "reservation deja existante"; (<---- là il me marque toujours se echo)
Ceci devrait mieux fonctionner. Tu avais oublié de faire mysql_query pour exécuter la requête. Ensuite à présent dans le if tu testes si la requête renvoie 0 résultats ou pas.
Même problème pour la seconde page. Tu as pensé au mysql_query mais tu testes son résultat comme un booléen. A remplacer par mysql_num_rowst().
En MySQL il me semble que les dates sont sous le format YYYY-MM-DD. Sans certitude cependant.
Sinon je ne vois pas pourquoi le problème persiste. C'est étrange.
Sinon je ne vois pas pourquoi le problème persiste. C'est étrange.
Il me marque en parse error
<html>
<head>
</head>
<body bgcolor="#000080" text="#FFFFFF" link="#FFFF00" vlink="#00FFFF">
<?php
$NoRes=$_POST['NoRes'];
$DateResDeb=$_POST['DateResDeb'];
$DateResFin=$_POST['DateResFin'];
$NoGite=$_POST['NoGite'];
$maconnexion =mysql_connect("localhost","root")
or die("Connexion au serveur impossible");
$db=mysql_select_db("gdv",$maconnexion)
or die("Sélection de la base de données impossible");
$req = UPDATE SET `NoRes` = '$NoRes',`DateResDeb` = '$DateResDeb',`DateResFin` = '$DateResFin' WHERE `NoGite` = '$NoGite';
$ok=mysql_query($req);
if ($ok)
{
echo 'Requête exécutée<BR><BR> <a href="update_gite.php"> Cliquez ici pour revenir à la page précédente.';
}
else
{
echo 'Impossible d\'exécuter cette requête...';
}
mysql_close ();
?>
</body>
</html>
je trouve pas l'erreur!!
<html>
<head>
</head>
<body bgcolor="#000080" text="#FFFFFF" link="#FFFF00" vlink="#00FFFF">
<?php
$NoRes=$_POST['NoRes'];
$DateResDeb=$_POST['DateResDeb'];
$DateResFin=$_POST['DateResFin'];
$NoGite=$_POST['NoGite'];
$maconnexion =mysql_connect("localhost","root")
or die("Connexion au serveur impossible");
$db=mysql_select_db("gdv",$maconnexion)
or die("Sélection de la base de données impossible");
$req = UPDATE SET `NoRes` = '$NoRes',`DateResDeb` = '$DateResDeb',`DateResFin` = '$DateResFin' WHERE `NoGite` = '$NoGite';
$ok=mysql_query($req);
if ($ok)
{
echo 'Requête exécutée<BR><BR> <a href="update_gite.php"> Cliquez ici pour revenir à la page précédente.';
}
else
{
echo 'Impossible d\'exécuter cette requête...';
}
mysql_close ();
?>
</body>
</html>
je trouve pas l'erreur!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Il me dit toujours "Impossible d'exécuter cette requête... " en lui demandant de modifier la date d'une réservation!
<html>
<head>
</head>
<body bgcolor="#000080" text="#FFFFFF" link="#FFFF00" vlink="#00FFFF">
<?php
$NoRes=$_POST['NoRes'];
$DateResDeb=$_POST['DateResDeb'];
$DateResFin=$_POST['DateResFin'];
$NoGite=$_POST['NoGite'];
$maconnexion =mysql_connect("localhost","root")
or die("Connexion au serveur impossible");
$db=mysql_select_db("gdv",$maconnexion)
or die("Sélection de la base de données impossible");
$req ="UPDATE reservation SET `NoRes` = '".$NoRes."',`DateResDeb` = '".$DateResDeb."',`DateResFin` = '".$DateResFin."' WHERE `NoGite` = '".$NoGite."'";
$ok=mysql_query($req);
if ($ok)
{
echo 'Requête exécutée<BR><BR> <a href="update_gite.php"> Cliquez ici pour revenir à la page précédente.';
}
else
{
echo 'Impossible d\'exécuter cette requête...';
}
mysql_close ();
?>
</body>
</html>
<head>
</head>
<body bgcolor="#000080" text="#FFFFFF" link="#FFFF00" vlink="#00FFFF">
<?php
$NoRes=$_POST['NoRes'];
$DateResDeb=$_POST['DateResDeb'];
$DateResFin=$_POST['DateResFin'];
$NoGite=$_POST['NoGite'];
$maconnexion =mysql_connect("localhost","root")
or die("Connexion au serveur impossible");
$db=mysql_select_db("gdv",$maconnexion)
or die("Sélection de la base de données impossible");
$req ="UPDATE reservation SET `NoRes` = '".$NoRes."',`DateResDeb` = '".$DateResDeb."',`DateResFin` = '".$DateResFin."' WHERE `NoGite` = '".$NoGite."'";
$ok=mysql_query($req);
if ($ok)
{
echo 'Requête exécutée<BR><BR> <a href="update_gite.php"> Cliquez ici pour revenir à la page précédente.';
}
else
{
echo 'Impossible d\'exécuter cette requête...';
}
mysql_close ();
?>
</body>
</html>
essayes comme ça:
sinon vérifie que tes noms de champs de ta table sont bien pareils que ceux de ta requette majuscules minuscules etc..
idem pour le nom de la table
$req ="UPDATE reservation SET NoRes='".$NoRes."',DateResDeb= '".$DateResDeb."',DateResFin= '".$DateResFin."' WHERE NoGite='".$NoGite."'"; $ok=mysql_query($req) or die ("Pb requette: ".mysql_error());
sinon vérifie que tes noms de champs de ta table sont bien pareils que ceux de ta requette majuscules minuscules etc..
idem pour le nom de la table
si justement un gite peut avoir plusieurs réservation comme dans un hôtel une chambre a plusieurs réservations donc je doi mettre le WHERE sur le Numéro de réservation??
c'est bon j'ai mis :
<html>
<head>
</head>
<body bgcolor="#000080" text="#FFFFFF" link="#FFFF00" vlink="#00FFFF">
<?php
$NoRes=$_POST['NoRes'];
$DateResDeb=$_POST['DateResDeb'];
$DateResFin=$_POST['DateResFin'];
$NoGite=$_POST['NoGite'];
$maconnexion =mysql_connect("localhost","root")
or die("Connexion au serveur impossible");
$db=mysql_select_db("gdv",$maconnexion)
or die("Sélection de la base de données impossible");
$req ="UPDATE reservation SET NoGite='".$NoGite."',DateResDeb= '".$DateResDeb."',DateResFin= '".$DateResFin."' WHERE NoRes='".$NoRes."'";
$ok=mysql_query($req) or die ("Pb requette: ".mysql_error());
if ($ok)
{
echo 'Requête exécutée<BR><BR> <a href="update_gite.php"> Cliquez ici pour revenir à la page précédente.';
}
else
{
echo 'Impossible d\'exécuter cette requête...';
}
mysql_close ();
?>
</body>
</html>
Et sa marche parfaitement !!
Merci à Alain_42 et Cralon pour l'aide!!!
<html>
<head>
</head>
<body bgcolor="#000080" text="#FFFFFF" link="#FFFF00" vlink="#00FFFF">
<?php
$NoRes=$_POST['NoRes'];
$DateResDeb=$_POST['DateResDeb'];
$DateResFin=$_POST['DateResFin'];
$NoGite=$_POST['NoGite'];
$maconnexion =mysql_connect("localhost","root")
or die("Connexion au serveur impossible");
$db=mysql_select_db("gdv",$maconnexion)
or die("Sélection de la base de données impossible");
$req ="UPDATE reservation SET NoGite='".$NoGite."',DateResDeb= '".$DateResDeb."',DateResFin= '".$DateResFin."' WHERE NoRes='".$NoRes."'";
$ok=mysql_query($req) or die ("Pb requette: ".mysql_error());
if ($ok)
{
echo 'Requête exécutée<BR><BR> <a href="update_gite.php"> Cliquez ici pour revenir à la page précédente.';
}
else
{
echo 'Impossible d\'exécuter cette requête...';
}
mysql_close ();
?>
</body>
</html>
Et sa marche parfaitement !!
Merci à Alain_42 et Cralon pour l'aide!!!
tu dois avoir un numéro de gite $NoGite transmis par ta demande de modif, alors utilises le comme condition: