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 :

recuperer des données dans un tableau


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut recuperer des données dans un tableau
    Bonsoir,
    Je suis particulierement novice.
    J'ai une base de données avec une table et plusieurs champs.
    Aprés avoir selectionné une zone géographique, le visiteur choisit, dans un formulaire, une activité.
    A partir de ces renseignements, j'aimerais qu'apparaissent les données correspondant à cette requete.
    J'ai ecris ça:
    if (isset($_POST['metier'])) {

    // lancement de la requête
    $sql = 'SELECT nom FROM artisanat WHERE metier = "'.$_POST['metier'].'"';

    // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

    // on récupère le résultat sous forme d'un tableau
    $data = mysql_fetch_array($req);

    // on libère l'espace mémoire alloué pour cette interrogation de la base
    mysql_free_result ($req);
    mysql_close ();

    // on affiche le résultat
    echo 'pour l\'activite : '.$data['metier'];
    }
    else {
    echo 'Choisissez l\'activite dans la liste:';
    }


    ?>

    <form name="FORM1" method="post" action="[(#URL_PAGE{zone_13_33b})]">
    <select name="metier" onchange="document.FORM1.submit();">
    <option value="carrelage">Carrelage</option>
    <option value="charpente">Charpente</option>
    <option value="Serrurerie-M‚tallerie">Serrurerie-Metallerie</option>
    <option value="TRAVAUX PUBLICS">TRAVAUX PUBLICS</option>
    <option value="Zinguerie">Zinguerie</option>
    </select>

    Dans la page résultat:
    if (isset($_POST['metier'])) {

    // lancement de la requête
    $sql = 'SELECT raison_sociale,nom,adr,adr2,cp,commune,telephone,fax FROM artisanat WHERE metier = "'.$_POST['metier'].'"';

    // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

    // on récupère le résultat sous forme d'un tableau
    while ($data = mysql_fetch_array($req))
    // on affiche les résultats
    echo 'Raison sociale : <strong>'.$data['raison_sociale'].'</strong><br />';
    echo 'Nom : <strong>'.$data['nom'].'</strong><br />';
    echo 'Son adresse : '.$data['adr'].'<br />'.$data['adr2'].'<br />'.$data['cp'].'&nbsp;&nbsp;'.$data['commune'].'<br />';
    echo 'Telephone : <strong>'.$data['telephone'].'</strong><br />';
    echo 'Fax : '.$data['fax'].'<br /><br/>';
    }
    else {
    echo 'Il n\'existe aucun professionnel correspondant à votre demande';
    }

    // on libère l'espace mémoire alloué pour cette interrogation de la base
    mysql_free_result ($req);
    mysql_close ();

    Et au résultat ...Pas grand chose.
    Si vous avez une idée pour m'aider à ranger tout ça dans un tableau.
    Merci bien.

  2. #2
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Juin 2009
    Messages : 104
    Points : 120
    Points
    120
    Par défaut
    avant de répondre
    la même chose en code afin de mieux lire et pouvoir aider :
    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
    <?php
    if (isset($_POST['metier'])) {
     
    // lancement de la requête
    $sql = 'SELECT nom FROM artisanat WHERE metier = "'.$_POST['metier'].'"';
     
    // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
    // on récupère le résultat sous forme d'un tableau
    $data = mysql_fetch_array($req);
     
    // on libère l'espace mémoire alloué pour cette interrogation de la base
    mysql_free_result ($req);
    mysql_close ();
     
    // on affiche le résultat
    echo 'pour l\'activite : '.$data['metier'];
    }
    else {
    echo 'Choisissez l\'activite dans la liste:';
    }
     
     
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <form name="FORM1" method="post" action="[(#URL_PAGE{zone_13_33b})]">
    <select name="metier" onchange="document.FORM1.submit();">
    <option value="carrelage">Carrelage</option>
    <option value="charpente">Charpente</option>
    <option value="Serrurerie-M‚tallerie">Serrurerie-Metallerie</option>
    <option value="TRAVAUX PUBLICS">TRAVAUX PUBLICS</option>
    <option value="Zinguerie">Zinguerie</option>
    </select>
    Dans la page résultat:
    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
    <?php
    if (isset($_POST['metier'])) {
     
    // lancement de la requête
    $sql = 'SELECT raison_sociale,nom,adr,adr2,cp,commune,telephone,fax FROM artisanat WHERE metier = "'.$_POST['metier'].'"';
     
    // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
    // on récupère le résultat sous forme d'un tableau
    while ($data = mysql_fetch_array($req))
    // on affiche les résultats
    echo 'Raison sociale : <strong>'.$data['raison_sociale'].'</strong><br />';
    echo 'Nom : <strong>'.$data['nom'].'</strong><br />';
    echo 'Son adresse : '.$data['adr'].'<br />'.$data['adr2'].'<br />'.$data['cp'].'&nbsp;&nbsp;'.$data['commune'].'<br />';
    echo 'Telephone : <strong>'.$data['telephone'].'</strong><br />';
    echo 'Fax : '.$data['fax'].'<br /><br/>';
    }
    else {
    echo 'Il n\'existe aucun professionnel correspondant à votre demande';
    }
     
    // on libère l'espace mémoire alloué pour cette interrogation de la base
    mysql_free_result ($req);
    mysql_close ();
    ?>

  3. #3
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Juin 2009
    Messages : 104
    Points : 120
    Points
    120
    Par défaut
    je ne suis pas un pro, mais on ne sait jamais

    1.
    si tu as accès en direct à la DB (genre PHP my admin ou autre),
    cela te donne des résultats ?
    genre mettre
    echo $sql;
    copier et coller dans php my admin

    2.
    metier = "'.$_POST['metier'].'"'
    ne serait pas mieux en
    metier LIKE "'.$_POST['metier'].'"'
    ?

    suis loin d'être une top star, mais d'expérience, tester la requête en direct dans MySql m'aide à corriger nombre d'erreurs.

Discussions similaires

  1. [Conception] Recuperer des données dans un tableau dynamique
    Par Tartanjet dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/09/2006, 01h28
  2. [MySQL] Formatage des données dans un tableau
    Par dunbar dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/06/2006, 09h52
  3. [MySQL] Stocker des données dans un tableau
    Par LadyArwen dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 02/02/2006, 11h40
  4. Réponses: 3
    Dernier message: 05/12/2005, 03h30
  5. Réponses: 3
    Dernier message: 22/02/2004, 21h09

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