Récupération de données entre fichiers et base de données
J’essaie de développer un site où chaque page puisse être modifiée par quelqu’un qui sera ensuite sélectionné selon user/password.
Les données de la page sont créées dans une table « contenu », avec les champs id, titre, photo, dirigeant, texte, infos.
Le contenu de la page index correspond à id 1.
Sur la page index, un lien « M » envoie sur une page de formulaire (gestion.php) où je dois récupérer les données de la page pour les mettre à jour.
Et c’est là que j’ai un problème :
J’essaie de passer l’id sous une variable idmodif dans l’adresse :
<a href="admin/gestion.php?idmodif=1">M</a>
Mais je n’arrive pas à la récupérer et afficher les données lui correspondant dans la bd.
Voici mon code dans le fichier fonctions.php:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
function modifcontenu($id) {
$id=$_GET["idmodif"];
// on récupère les données de la BD
$resultat = mysql_query("SELECT * FROM contenu");
// on récupère la ligne de données correspondant à $id
$ligne = mysql_fetch_array($resultat);
//on récupère les données de chaque champ
$titre = $ligne["titre"];
$photo = $ligne["photo"];
$texte = $ligne["texte"];
$dirigeant = $ligne["dirigeant"];
$infos = $ligne["infos"];
}
Et celui dans le fichier gestion.php :
$msg = "";
if (isset($_POST["envoyer"])) {
$msg = insertcontenu();
if ($msg === true) {
header("Location: ../index.php");
break;
}
}
else if (isset($_GET["idmodif"])) {
modifcontenu($_GET["idmodif"]);
} |
Et pour chaque champ du formulaire :
<input name="titre" type="text" value="<? echo $titre ?>"/>
Merci d'avance pour votre aide, :lol:
modif intégrée sans résultat
Merci pour ton aide et ton code.
J'ai intégré la modif, mais les champs ne récupèrent toujours pas les données et dans les 2 premiers champs, j'ai la syntaxe suivante:
<br /><b>Notice</b>: Undefined variable: titre in <b>g:\program files\easyphp1-8\www\asollainville\admin\gestion.php</b> on line <b>33</b><br />
Comment se fait-il que ma variable titre soit non définie ?
je ne trouve pas mon erreur de déclaration.
Je suis débutante et j'ai du mal à savoir dans quel fichier positionner correctement les syntaxes.
Merci d'avance,
passage de données via variables
Merci pour l'aide !
J'ai essayé de donner une valeur à $id mais toujours pas de résultats.
j'ai donc une erreur de syntaxe quelque part.
J'ai vérifié ma table "contenu", elle contient bien les champs :
id, titre, photo, dirigeant, texte, info.
je pense ne pas déclarer correctement les valeurs dans les bons fichiers, je résume :
index.php - je passe dans l'url du lien modifier vers le fichier gestion.php, la variable idmodif = 1
J'ai vérifié, elle y est: http://localhost/gestion.php?idmodif=1
Maintenant, comment la récupérer et l'attribuer à $id pour sélectionner la bonne ligne du tableau de ma base de données, c'est là que je coince.
dans gestion.php, je déclare :
$id = $_GET["idmodif"];
Ensuite, faut-il seulement maintenant que je replace une ligne :
$ligne = mysql_query("SELECT * FROM contenu WHERE id='$id'");
Si ensuite j'écris:
echo $ligne["titre"];
cela devrait-il me renvoyer le titre de la ligne $id (en l'occurrence 1)?
Ou alors le problème vient du fichier fonctions.php qui contient les fonctions getcontenu ():
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| function getcontenu () {
$res = mysql_query("SELECT * FROM contenu ORDER BY id");
return $res;
}
modifcontenu ():
function modifcontenu($id) {
// on récupère les données de la BD
$resultat = mysql_query("SELECT * FROM contenu WHERE id ='$id'");
// on récupère la ligne de données correspondant à $id
$ligne = mysql_fetch_array($resultat);
//on récupère les données de chaque champ
$titre = $ligne["titre"];
$photo = $ligne["photo"];
$texte = $ligne["texte"];
$dirigeant = $ligne["dirigeant"];
$infos = $ligne["infos"];
} |
Désolée, je n'ai pas encore tout saisi dans le passage de données d'un fichier à un autre...