IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Récupération de données entre fichiers et base de données [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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,

  2. #2
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut
    Tu n' a pas fais le lien avec avec la requete et l'id?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    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"];
    }

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut 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,

  4. #4
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut
    Dans ta table contenu, il y a bien le champ titre?

    Sinon essai ta requete sur MySQL avec id = 5 par exemple.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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...

  6. #6
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut
    Et comme ca, c'est pas mieux?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?
     
    include 'connexion.php';
     
    $id= $_GET['idmodif'];
    $ligne = mysql_query("SELECT * FROM contenu WHERE id='$id'");
    while ($ligne = mysql_fetch_array($ligne))
    {
      echo $ligne['nom'];
    }
     
    ?>
    mysql_query execute la requete.
    Apres, apparement tu voulais le mettre dans un tableau ($ligne['nom'])
    Donc faut lui dire de le mettre dans un tableau avec un boucle while :
    $ligne = mysql_fetch_array($ligne))

    Voili voilo

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Données récupérées ! lol
    Merci pour ton aide, j'ai réussi à récupérer les données.

    Démarche suivante, les sauvegarder à la place de celles existantes, répéter l'opération pour toutes les pages du site.

    bonne continuation,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/02/2012, 18h37
  2. Réponses: 1
    Dernier message: 07/10/2009, 16h20
  3. Réponses: 21
    Dernier message: 05/06/2006, 10h49
  4. [base de donnée] accée a la base de données sur eclipse
    Par khalidlyon dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 07/04/2005, 22h12
  5. [base de données]partage d'une base de données
    Par Scrusher dans le forum JDBC
    Réponses: 4
    Dernier message: 02/06/2004, 13h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo