Problème modifiaction PDO
Fermé
Tandou
Messages postés
2
Date d'inscription
mardi 25 août 2015
Statut
Membre
Dernière intervention
26 août 2015
-
Modifié par jordane45 le 26/08/2015 à 00:44
Firoxyd Messages postés 97 Date d'inscription mardi 23 juin 2015 Statut Membre Dernière intervention 28 juin 2017 - 26 août 2015 à 08:02
Firoxyd Messages postés 97 Date d'inscription mardi 23 juin 2015 Statut Membre Dernière intervention 28 juin 2017 - 26 août 2015 à 08:02
A voir également:
- Problème modifiaction PDO
- Login php pdo - Forum PHP
- Mysqli_query pdo - Forum Webmastering
- Pdo - Astuces et Solutions
- Formulaire de connexion php pdo ✓ - Forum PHP
- Afficher résultat requête sql php pdo - Forum Webmastering
4 réponses
Firoxyd
Messages postés
97
Date d'inscription
mardi 23 juin 2015
Statut
Membre
Dernière intervention
28 juin 2017
47
Modifié par Firoxyd le 25/08/2015 à 17:58
Modifié par Firoxyd le 25/08/2015 à 17:58
Salut,
Apparemment tu n'initialises pas ta variable d'id dans le cas de l'update.
Merci d'utiliser les balises de code, c'est difficile à lire en l'état.
Apparemment tu n'initialises pas ta variable d'id dans le cas de l'update.
Merci d'utiliser les balises de code, c'est difficile à lire en l'état.
Tandou
Messages postés
2
Date d'inscription
mardi 25 août 2015
Statut
Membre
Dernière intervention
26 août 2015
Modifié par jordane45 le 26/08/2015 à 00:46
Modifié par jordane45 le 26/08/2015 à 00:46
Page FournisseurAjout
Page FournisseuModif
Même quand j'initialise ça ne marche pas merci
<?php
session_start();
?>
<?php
$error = array();
$nom='';
$telephone='';
$bp='';
try
{
$db= new PDO('mysql:host=localhost;dbname=ges_vente','root','');
if(!empty($_POST))
{
$nom=$_POST['nom'];
$telephone=$_POST['telephone'];
$bp=$_POST['bp'];
{
$select=$db->prepare("INSERT INTO fournisseur VALUES('','$nom','$telephone','$bp')");
$select->execute();
}
}
}
catch (Exception $e)
{
echo $e->getTraceAsString();
}
if(isset($_GET['idsupp']))
{
$id=$_GET['idsupp'];
$delete=$db->prepare("DELETE FROM fournisseur WHERE idfourni=$id" );
$delete->execute();
}
if(isset($_GET['idmodif']))
{
$id=$_GET['idmodif'];
$nom=$_POST['nom'];
$telephone=$_POST['telephone'];
$bp=$_POST['bp'];
$update=$db->prepare("UPDATE fournisseur SET nom='$nom',telephone='$telephone',bp='$bp' WHERE idfourni=$id");
$update->execute();
}
?>
<!DOCTYPE <html>
<html>
<head>
<meta charset="utf-8"/>
<link rel="stylesheet" href="../style/style.css" />
<title>Ajouter Fournisseur</title>
</head>
<body>
<h3>Ajouter un nouveau Fournisseur </h3>
<form method='POST' action=''>
<label class=""> Nom: </label>
<input name="nom" type="text" size="20" value='<?=$nom?>'/>
<label class="">N° tél:</class>
<input type="text" name="telephone" size="20" value='<?=$telephone?>'/>
<label class="">BP:</label>
<input type="text" name="bp" id="bp" size="20" value='<?=$bp?>'/>
<input type="submit" name="submit" value="Ajouter"/>
<input type="reset" value="Annuler">
</form>
<table width="100%" border="2" cellspacing="1" cellpadding="5">
<tr>
<th>Nom</th>
<th>N°Tél</th>
<th>BP</th>
</tr>
<?php
$sql = $db->prepare('SELECT * FROM fournisseur');
$sql -> execute(array());
$tab = array();
while ($lignes = $sql -> fetch(PDO::FETCH_ASSOC))
{
echo '<tr>';
$tab['idfourni'] = $lignes['idfourni'];
$tab['nomfourni'] = $lignes['nomfourni'];
$tab['telfourni'] = $lignes['telfourni'];
$tab['bpfourni'] = $lignes['bpfourni'];
echo '<td>'.$tab['nomfourni'].'</td>';
echo '<td>'.$tab['telfourni'].'</td>';
echo '<td>'.$tab['bpfourni'].'</td>';
echo '<td><a href=FournisseurModif.php?idmodif='.$tab['idfourni'].'>Modifier</a></td>';
echo '<td><a href=FournisseurAjout.php?idsupp='.$tab['idfourni'].'>Supprimer </a></td>';
echo '</td>';
}
echo '</tr>';
?>
</table>
</body>
</html>
Page FournisseuModif
<?php
session_start();
?>
<?php
try
{
$db= new PDO('mysql:host=localhost;dbname=ges_vente','root','');
} catch (Exception $e)
{
echo $e->getTraceAsString();
}
if ($_GET['idmodif']){
$id=$_GET['idmodif'];
$select=$db->prepare("SELECT*FROM fournisseur WHERE idfourni=$id");
$select->execute();
$data=$select->fetch(PDO::FETCH_OBJ);
}
?>
<!DOCTYPE <html>
<html>
<head>
<meta charset="utf-8"/>
<link rel="stylesheet" href="../style/style.css" />
<title>Modifier Fournisseur</title>
</head>
<body>
<h3>Modifier un Fournisseur </h3>
<form method='POST' action=''>
<label class=""> Nom: </label>
<input value="<?php echo $data->nomfourni?>" name="nom" type="text" size="20" /> <br/>
<label class="">N° tél:</class>
<input value="<?php echo $data->telfourni?>"type="text" name="telephone" size="20"/> <br/>
<label class="">BP:</label>
<input value="<?php echo $data->bpfourni?>" type="text" name="bp" id="bp" size="20"/> <br/>
<input type="submit" name="submit" value="Modifier"/>
<input type="reset" value="Annuler">
</form>
</body>
</html>
Même quand j'initialise ça ne marche pas merci
| EDIT : Ajout du LANGAGE dans les balises de code.
Explications disponibles ICI Merci d'y penser dans tes prochains messages. |
jordane45
Messages postés
37253
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mars 2023
4 551
26 août 2015 à 00:56
26 août 2015 à 00:56
Bonjour,
Donc.. d'après ce que tu nous dis .. c'est l'update qui ne fonctionne pas ?
Essayes avec ce code :
Donc.. d'après ce que tu nous dis .. c'est l'update qui ne fonctionne pas ?
Essayes avec ce code :
//-------------------------------------------------------------------
// Récupération "propre" des variables (à placer au début de ton script..
//-------------------------------------------------------------------
$id=!empty($_GET['idmodif'])?$_GET['idmodif']:NULL;
$nom=isset($_POST['nom'])?$_POST['nom']:NULL;
$telephone=isset($_POST['telephone'])?$_POST['telephone']:NULL;
$bp=isset($_POST['bp'])?$_POST['bp']:NULL;
//-------------------------------------------------------------------
// Traitement UPDATE:
//-------------------------------------------------------------------
if($id){
try{
$sql = "UPDATE fournisseur
SET nom=:nom
,telephone=:telephone
,bp=:bp
WHERE idfourni=:id";
$params = array(":nom"=>$nom , ":telephone"=>$telephone , ":bp"=>$bp , ":id"=>$id);
$update=$db->prepare($sql);
$update->execute($params);
}catch(Exception $e){
echo "<br>Erreur :". $e->getMessage();
echo "<br>Requete:" .$sql ;
echo "<br>Params :<br>";
print_r($params);
}
}
jordane45
Messages postés
37253
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mars 2023
4 551
26 août 2015 à 01:00
26 août 2015 à 01:00
Par contre.. je viens de voir dans ton second code.....
Peux tu m'expliquer pourquoi d'un côté .. le nom de tes champs semblent être du genre :
"nomfourni" .. "telfourni" ... et de l'autre "nom", "telephone" ....
.. ne te serais tu pas trompé dans ta requête d' UPDATE ?
Peux tu m'expliquer pourquoi d'un côté .. le nom de tes champs semblent être du genre :
"nomfourni" .. "telfourni" ... et de l'autre "nom", "telephone" ....
.. ne te serais tu pas trompé dans ta requête d' UPDATE ?
Firoxyd
Messages postés
97
Date d'inscription
mardi 23 juin 2015
Statut
Membre
Dernière intervention
28 juin 2017
47
26 août 2015 à 08:02
26 août 2015 à 08:02
Ne manquerait-il pas également un input hidden pour l'id dans le formulaire de modif ?
<input value="<?php echo $id ?>" name="idmodif" type="hidden"