Modification bdd en PHP
Résolu/Fermé
Dominique
-
13 août 2009 à 13:06
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 17 août 2009 à 17:37
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 17 août 2009 à 17:37
A voir également:
- Modification bdd en PHP
- Suivi de modification word - Guide
- Logiciel gratuit modification pdf - Guide
- Easy php - Télécharger - Divers Web & Internet
- Modification dns - Guide
- Modification d'écriture - Guide
11 réponses
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
13 août 2009 à 14:16
13 août 2009 à 14:16
Bonjour,
Il te suffit de glisser l'identifiant du film dans ton formulaire, sous forme cachée bien sûr, comme ceci :
Bien sûr il faut t'assurer de sélectionner l'identifiant du film dans ta requête SQL, de manière à pouvoir l'envoyer dans le formulaire.
Ensuite, dans ton script de traitement 'modifierFilm3.php', tu n'auras plus qu'à récupérer l'identifiant du film en question via :
Il te suffit de glisser l'identifiant du film dans ton formulaire, sous forme cachée bien sûr, comme ceci :
echo '<form action="modifierFilm3.php" method="post"> echo '<input type="hidden" id="idFilm" value="'.$row['id_film'].'"/>'; echo '<input type = submit value ="modifier"></form>';
Bien sûr il faut t'assurer de sélectionner l'identifiant du film dans ta requête SQL, de manière à pouvoir l'envoyer dans le formulaire.
Ensuite, dans ton script de traitement 'modifierFilm3.php', tu n'auras plus qu'à récupérer l'identifiant du film en question via :
<?php $idFilm = ""; if ( isset($_POST['idFilm']) && !empty($_POST['idFilm']) ) $idFilm = $_POST['idFilm']; $sql = ".... WHERE id_film = '".$idFilm."' .... "; ?>
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
13 août 2009 à 16:44
13 août 2009 à 16:44
Certes, mais ta remarque ne fait pas vraiment avancer...
Peux-tu donner tout le code de ta page, c'est à dire requete SQL incluse.
Idem pour le code de ton script de modification.
Merci.
Peux-tu donner tout le code de ta page, c'est à dire requete SQL incluse.
Idem pour le code de ton script de modification.
Merci.
$idFilm = "";
if ( isset($_POST['idFilm']) && !empty($_POST['idFilm']) )*/
$idFilm = $_POST['idFilm'];
echo ' ID '.$idFilm.' du Film <br>';
$query = "select nom from Films WHERE ID like '".$idFilm."'";
$resultat = mysql_query($query);
$num_res = mysql_num_rows($resultat);
echo ' il y a '.$num_res.' résultat';
for($i=0; $i<$num_res;$i++){
$row = mysql_fetch_array($resultat);
echo 'le nom du film est : '.$row[0];
}
le problème c'est que row[0] qui doit contenir le nom du film mais ne contient rien!!
if ( isset($_POST['idFilm']) && !empty($_POST['idFilm']) )*/
$idFilm = $_POST['idFilm'];
echo ' ID '.$idFilm.' du Film <br>';
$query = "select nom from Films WHERE ID like '".$idFilm."'";
$resultat = mysql_query($query);
$num_res = mysql_num_rows($resultat);
echo ' il y a '.$num_res.' résultat';
for($i=0; $i<$num_res;$i++){
$row = mysql_fetch_array($resultat);
echo 'le nom du film est : '.$row[0];
}
le problème c'est que row[0] qui doit contenir le nom du film mais ne contient rien!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
17 août 2009 à 11:23
17 août 2009 à 11:23
Bonjour,
Si la variable $idFilm est vide c'est que l'erreur est avant le script de traitement.
Le code que tu viens de mettre c'est celui de la page de traitement suite à ton formulaire si je ne me trompe pas. J'ai mal précisé, ce que voulais c'est le code entier de ton formulaire, requête SQL de sélection incluse.
Si la variable $idFilm est vide c'est que l'erreur est avant le script de traitement.
Le code que tu viens de mettre c'est celui de la page de traitement suite à ton formulaire si je ne me trompe pas. J'ai mal précisé, ce que voulais c'est le code entier de ton formulaire, requête SQL de sélection incluse.
@$db = mysql_connect(host, user) or die("Impossible de se connecter : " . mysql_error());
mysql_select_db('maTable');
$query = "select * from Film where Nom like '%".$film."%'";
$res = mysql_query($query) or die("requête fausse");
$num_res = mysql_num_rows($res);
if($num_res == 0){
echo ' <B><CENTER>Ce film n existe pas!</CENTER></B> <br>';
}else{
echo '<table>';
echo '<tr><td width=20%></td><td width=80%></td></tr>';
for($i=0; $i<$num_res;$i++){
$row = mysql_fetch_array($res);
echo '<tr><td rowspan="6">';
$image = htmlspecialchars(stripslashes($row['Image']));
echo '<img src = '.$image.'>';
echo '</td><td> <B>';
echo htmlspecialchars(stripslashes($row['Nom']));
echo '</B></td></tr>';
echo '<tr><td><i>';
echo htmlspecialchars(stripslashes($row['Annee']));
echo '</i></td></tr>';
echo '<tr><td><i>';
echo htmlspecialchars(stripslashes($row['Genre']));
echo '</i></td></tr>';
echo '<tr><td><i>';
echo htmlspecialchars(stripslashes($row['Realisateur']));
echo '</i></td></tr>';
echo '<tr><td><i>';
echo htmlspecialchars(stripslashes($row['Acteur']));
echo '</i></td></tr>';
echo '<tr><td><i>';
echo strtoupper(htmlspecialchars(stripslashes($row['Type'])));
echo '</i></td></tr>';
echo '<tr><td colspan ="2">';
echo htmlspecialchars(stripslashes($row['Resume']));
echo '</td></tr>';
echo '<tr><td colspan ="2">';
echo ' ';
echo '</td></tr>';
echo '<TR><TD colspan = "3"><CENTER>';
echo '<form action="modifierFilm3.php" method="post">';
echo '<input type="hidden" id="idFilm" value="\'.$row[\'ID\'].\'"/>';
echo '<input type = submit value ="modifier"></form>';
echo '</TD></TR>';
...
ca c'est le code où il y a la liste des films la personne clique sur le bouton correspondant au film.
$idFilm = "";
if ( isset($_POST['idFilm']) && !empty($_POST['idFilm']) )
$idFilm = $_POST['idFilm'];
$query = "select Nom from Film WHERE ID like '".$idFilm."'";
$res = mysql_query($query);
$num_res = mysql_num_rows($res);
for($i=0; $i<$num_res;$i++){
$row = mysql_fetch_array($res);
echo 'le nom du film est : '.$row[0].' <br>';
}
mysql_select_db('maTable');
$query = "select * from Film where Nom like '%".$film."%'";
$res = mysql_query($query) or die("requête fausse");
$num_res = mysql_num_rows($res);
if($num_res == 0){
echo ' <B><CENTER>Ce film n existe pas!</CENTER></B> <br>';
}else{
echo '<table>';
echo '<tr><td width=20%></td><td width=80%></td></tr>';
for($i=0; $i<$num_res;$i++){
$row = mysql_fetch_array($res);
echo '<tr><td rowspan="6">';
$image = htmlspecialchars(stripslashes($row['Image']));
echo '<img src = '.$image.'>';
echo '</td><td> <B>';
echo htmlspecialchars(stripslashes($row['Nom']));
echo '</B></td></tr>';
echo '<tr><td><i>';
echo htmlspecialchars(stripslashes($row['Annee']));
echo '</i></td></tr>';
echo '<tr><td><i>';
echo htmlspecialchars(stripslashes($row['Genre']));
echo '</i></td></tr>';
echo '<tr><td><i>';
echo htmlspecialchars(stripslashes($row['Realisateur']));
echo '</i></td></tr>';
echo '<tr><td><i>';
echo htmlspecialchars(stripslashes($row['Acteur']));
echo '</i></td></tr>';
echo '<tr><td><i>';
echo strtoupper(htmlspecialchars(stripslashes($row['Type'])));
echo '</i></td></tr>';
echo '<tr><td colspan ="2">';
echo htmlspecialchars(stripslashes($row['Resume']));
echo '</td></tr>';
echo '<tr><td colspan ="2">';
echo ' ';
echo '</td></tr>';
echo '<TR><TD colspan = "3"><CENTER>';
echo '<form action="modifierFilm3.php" method="post">';
echo '<input type="hidden" id="idFilm" value="\'.$row[\'ID\'].\'"/>';
echo '<input type = submit value ="modifier"></form>';
echo '</TD></TR>';
...
ca c'est le code où il y a la liste des films la personne clique sur le bouton correspondant au film.
$idFilm = "";
if ( isset($_POST['idFilm']) && !empty($_POST['idFilm']) )
$idFilm = $_POST['idFilm'];
$query = "select Nom from Film WHERE ID like '".$idFilm."'";
$res = mysql_query($query);
$num_res = mysql_num_rows($res);
for($i=0; $i<$num_res;$i++){
$row = mysql_fetch_array($res);
echo 'le nom du film est : '.$row[0].' <br>';
}
En fait l'ID du film je l'ai sur la 1er page, mais c'est quand je la "transmets" avec le bouton que je le perd! Quand je clique sur le bouton j affiche une nouvelle page et quand je veux afficher l'ID du film il est vide
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
17 août 2009 à 17:04
17 août 2009 à 17:04
Re,
Si tu cherches la ligne de code de ton formulaire (sur le champ invisible) comme ceci :
Ca donne quoi ?
Tu as bien un champ "ID" dans ta table qui fait référence à l'identifiant du film au moins ? (on ne sais jamais)
Si tu cherches la ligne de code de ton formulaire (sur le champ invisible) comme ceci :
echo '<input type="hidden" id="idFilm" name="IdFilm" value="'.$row['ID'].'"/>';
Ca donne quoi ?
Tu as bien un champ "ID" dans ta table qui fait référence à l'identifiant du film au moins ? (on ne sais jamais)
Voila ai réussi en faisant comme ca:
$dataID = htmlspecialchars(stripslashes($row['ID']));
echo '<TR><TD colspan = "3"><CENTER>';
echo '<form action="modifierFilm3.php" method="post">';
echo '<input type="hidden" name="idFilm" value="'.$row['ID'].'">';
$dataID = htmlspecialchars(stripslashes($row['ID']));
echo '<TR><TD colspan = "3"><CENTER>';
echo '<form action="modifierFilm3.php" method="post">';
echo '<input type="hidden" name="idFilm" value="'.$row['ID'].'">';
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
17 août 2009 à 17:37
17 août 2009 à 17:37
Mum... bizarre, je ne vois pas en quoi l'ajout de la ligne
changerait quelque chose puisque tu stock le résultat dans un variable que tu n'utilise pas (a moins que tu ai fait une erreur de recopie du formulaire ?)
$dataID = htmlspecialchars(stripslashes($row['ID']));
changerait quelque chose puisque tu stock le résultat dans un variable que tu n'utilise pas (a moins que tu ai fait une erreur de recopie du formulaire ?)