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

Langage PHP Discussion :

[Tableaux] Probleme de recuperation de données


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 266
    Points : 113
    Points
    113
    Par défaut [Tableaux] Probleme de recuperation de données
    Merci de bien vouloir m'aider.

    Dans ma base de donnée, j'ai une table ou il y a 2 champs, lun s'appelant CONTENU, l'autre THEME. Je cherche à ce que mon site PhP affiche le contenu d'une news dont le theme est sport. Voici mon code mais sa ne marche pas. Si vous avez une suggestion

    <? mysql_connect("localhost","root","");
    mysql_select_db("news");

    $reponse = mysql_query("SELECT contenu FROM news WHERE theme=sport");
    while ($donnees = mysql_fetch_array ($reponse) )
    {

    echo $donnees['theme'];?> : <?echo $donnees['contenu'];

    }

    mysql_close();
    ?>



    Je crois que c'est à cause de ma fonction fetch-array...
    Ne pourrais je pas afficher directement le contenu à partir de $reponse??

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    where theme='sport'

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 266
    Points : 113
    Points
    113
    Par défaut
    Merci de cette correction, mais il me met toujours la même erreur:

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    met un avant ton while

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 266
    Points : 113
    Points
    113
    Par défaut Aller plus loin...
    Plus de complication pour moi petit débutant que je suis.

    En fait, j'ai une premiere page avec une zone texte ou l'utilisateur rentre le nom du theme voulu, puis valide. Le theme entré est passé dans l'autre page dans la variable $_POST['theme']
    La deuxieme page doit afficher le contenu de la table en fonction du theme entré par l'utilisateur.

    Voici mon code, la zone en gras représente la syntaxe que je ne sais pas ecrire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <? 	mysql_connect("localhost","root",""); 
    	mysql_select_db("test");
     
     
    	$reponse = mysql_query("select contenu from news [b]where theme='$_POST['prenom']'[/b]");
    echo mysql_error(); 
    while($ligne=mysql_fetch_array($reponse)){ 
       echo $ligne["contenu"]; 
    ?><br/><?
    } 
    ?>

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 266
    Points : 113
    Points
    113
    Par défaut
    desolé pour ce nouveau post, mais j'avais mis répondre et le nouveau titre en a créer un nouveau.

    Je débute hein...

  7. #7
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    alors,

    comme tu auras pou le constater le gras ne marche pas dans code.

    mais c est un bon point tu utilise code maintenant.

    je ne repondrais plus a tes questions tant que tu feras de nouveaux posts et ne restera pas dans l'original.

    si tu n'as pas encore compris,

    ARRETES LE MULTIPOST ET RESTE DANS LE TOPIC D ORIGINE



    [EDIT]

    oui tu debutes dans le forum avec tes 109 messages

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 266
    Points : 113
    Points
    113
    Par défaut
    ohhhhhhhhhhhhh

    Faut pas le prendre comme ça, et puis je t'ai dis que je voulais rester dans mon topic, j'ai mis repondre mais le titre que j'ai rentré a créé un autre topic....

    S'il te plait.. si tu détiens la clef de mon probleme...

  9. #9
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ben commence par me donner ton erreur qui s affiche dans l autre post

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 266
    Points : 113
    Points
    113
    Par défaut
    Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING'

    correspondant à la ligne

    $reponse = mysql_query("select contenu from news where theme='$_POST['prenom']'");



    L'erreur vient de $_POST['prenom'] qui est le nom de la vrariable où est stocké le theme choisit par l'utilisateur.

    ($_POST['prenom'] avec ou sans '' entre, ca marche pas)

  11. #11
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    Citation Envoyé par siddh
    ben commence par me donner ton erreur qui s affiche dans l autre post

  12. #12
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    dans un accés de bonté je vais te repondre ici mais essayes un peu de respecter les regles du forum si tu veux qu on t aide.

    si tout le monde fais comme toi c est le gros #####

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse = mysql_query("select contenu from news where theme='".$_POST['prenom']."'");
    il faut concatener ta variable car c est un tableau.

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 266
    Points : 113
    Points
    113
    Par défaut
    l'erreur de l'autre post est réglée, mais avant j'imposait le thème SPORT dans la ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse = mysql_query("select contenu from news where theme='sport'");
    Maintenant je désire que le thème soit celui entré par l'utilisateur dans la zone texte de la page d'avant, recueuilli dans la variable $_POST['theme']

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse = mysql_query("select contenu from news where theme=$_POST['theme']");
    mais ceci ne marche pas et il saffiche l'erreur associée:

    Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING'

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 266
    Points : 113
    Points
    113
    Par défaut
    ok je vais tester merci

  15. #15
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Salut !

    -> Topics fusionnés

    Les tableaux ne sont pas interprétés dans les chaines avec doubles quotes.
    Il faut utiliser les . (points) pour fusionner le tableau à la chaine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse = mysql_query("select contenu from news where theme=".$_POST['theme']);
    Perso, j'encadre toujours les valeurs des paramètres des requêtes par des simples quotes,
    et je termine toujours une requête avec un ; même si cela n'est pas vraiment nécessaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse = mysql_query("select contenu from news where theme='".$_POST['theme']."';");
    De plus, ce code génèrera une erreur si il n'ya pas eu de post. Soit tu testes préalablement l'existence du tableau avec isset avant de l'utiliser dans la requête, soit tu utilises @ pour éviter l'affichage d'erreur. Dans ce dernier cas, si le tableau n'existe pas, le résultat sera une chaine vide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse = mysql_query("select contenu from news where theme='".@$_POST['theme']."';");

    Lien tout en bas à gauche de cette fenêtre

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

Discussions similaires

  1. Probleme de recuperation de données
    Par lilli1407 dans le forum Struts 1
    Réponses: 7
    Dernier message: 26/09/2006, 17h52
  2. [Dates] probleme de recuperation de données
    Par carmen256 dans le forum Langage
    Réponses: 1
    Dernier message: 08/08/2006, 12h43
  3. Probleme de recuperation de données javascript --> formulaire --> php
    Par kowabunga dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 27/07/2006, 10h18
  4. [Tableaux] probleme de recuperation de données
    Par nebil dans le forum Langage
    Réponses: 18
    Dernier message: 07/07/2006, 17h27
  5. [Tableaux] probleme de recup des données
    Par Tr@nkill dans le forum Langage
    Réponses: 8
    Dernier message: 05/04/2006, 10h59

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