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 :

Warning: mysql_fetch_assoc() expects sur listes liées [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Par défaut Warning: mysql_fetch_assoc() expects sur listes liées
    Bonjour à tous ,

    Je viens de mettre le script suivant dans ma page PHP afin d'avoir 2 listes liées.

    J'ai mis ceci avant <!DOCTYPE html PUBLIC...

    <?php

    /* Variables de connexion : ajustez ces paramètres selon votre propre environnement */
    $serveur = "localhost";
    $admin = "root";
    $mdp = "";
    $base = "centphzuone";

    $idr = isset($_POST['libelle'])?$_POST['libelle']:null;
    ?>

    et ceci dans le <Body >

    <?php

    if(isset($_POST['ok']) && isset($_POST['libel']) && $_POST['libel'] != "")

    {

    $region_selectionnee = $_POST['libelle'];

    $dept_selectionne = $_POST['libel'];

    ?>

    <p>Vous avez sélectionné le département <?php echo($dept_selectionne); ?> dans la région <?php echo($region_selectionnee); ?></p>

    <?php

    }

    ?>

    <h3>Trouver un département</h3>

    <?php

    /* On établit la connexion à MySQL avec mysql_pconnect() plutôt qu'avec mysql_connect()

    * car on aura besoin de la connexion un peu plus loin dans le script */

    $connexion = mysql_pconnect($serveur, $admin, $mdp);

    if($connexion != false)

    {

    $choixbase = mysql_select_db($base, $connexion);

    $sql1 = "SELECT `id`, `libelle`".
    " FROM `shop_categories`".
    " ORDER BY `id`";

    $rech_regions = mysql_query($sql1);

    $code_region = array();

    $region = array();

    /* On active un compteur pour les régions */

    $nb_regions = 0;

    if($rech_regions != false)

    {

    while($ligne = mysql_fetch_assoc($rech_regions))

    {

    array_push($code_region, $ligne['id']);

    array_push($region, $ligne['libelle']);



    /* On incrémente de compteur */

    $nb_regions++;

    }

    }

    ?>

    <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept">

    <fieldset style="border: 3px double #333399">

    <legend>Sélectionnez une région</legend>

    <select name="libelle" id="libelle" onchange="document.forms['chgdept'].submit();">

    <option value="-1">- - - Choisissez une région - - -</option>

    <?php

    for($i = 0; $i < $nb_regions; $i++)

    {

    ?>

    <option value="<?php echo($code_region[$i]); ?>"<?php echo((isset($idr) && $idr == $code_region[$i])?" selected=\"selected\"":null); ?>><?php echo($region[$i]); ?></option>

    <?php

    }

    ?>

    </select>

    <?php

    mysql_free_result($rech_regions);

    /* On commence par vérifier si on a envoyé un numéro de région et le cas échéant s'il est différent de -1 */



    if(isset($idr) && $idr != -1)

    {

    /* Cération de la requête pour avoir les départements de cette région */

    $sql2 = "SELECT `shop_s_categorie.id`, `shop_s_categorie.libel`".
    " FROM `shop_s_categorie`".
    " WHERE `shop_s_categorie.grandpere` = ". $idr ."".
    " ORDER BY `shop_s_categorie.id`;";

    if($connexion != false)

    {

    $rech_dept = mysql_query($sql2, $connexion);

    /* Un petit compteur pour les départements */

    $nd = 0;

    /* On crée deux tableaux pour les numéros et les noms des départements */

    $code_dept = array();

    $nom_dept = array();

    /* On va mettre les numéros et noms des départements dans les deux tableaux */

    while($ligne_dept = mysql_fetch_assoc($rech_dept))

    {

    array_push($code_dept, $ligne_dept['id']);

    array_push($nom_dept, $ligne_dept['libel']);

    $nd++;

    }

    /* Maintenant on peut construire la liste déroulante */

    ?>

    <select name="libel" id="libel">

    <?php

    for($d = 0; $d<$nd; $d++)

    {

    ?>

    <option value="<?php echo($code_dept[$d]); ?>"<?php echo((isset($dept_selectionne) && $dept_selectionne == $code_dept[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_dept[$d]." (". $code_dept[$d] .")"); ?></option>

    <?php

    }

    ?>

    </select>

    <?php

    }

    /* Un petit coup de balai */

    mysql_free_result($rech_dept);

    }

    ?>

    <br /><input type="submit" name="ok" id="ok" value="Envoyer" />

    </fieldset>

    </form>

    <?php

    /* Terminé, on ferme la connexion */

    mysql_close($connexion);

    }


    else

    {

    /* Si on arrive là, c'est pas bon signe, il faut vérifier les

    * paramètres de connexion, mot de passe, serveur pas démarré etc... */

    ?>

    <p>Un incident s'est produit lors de la connexion à la base de données, veuiillez essayer à nouveau ultérieurement.</p>

    <?php

    }

    ?>


    L'affichage est "normal" , mais quand je sélectionne un nom dans la première liste , j'ai ce message :


    Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\wamp\www\1cent\Templates\vente7005.php on line 870



    Call Stack



    #

    Time

    Memory

    Function

    Location



    1

    0.0049

    588768

    {main}( )

    ..\vente7005.php:0



    2

    0.0875

    682712

    mysql_fetch_assoc ( )

    ..\vente7005.php:870





    ( ! ) Warning: mysql_free_result() expects parameter 1 to be resource, boolean given in C:\wamp\www\1cent\Templates\vente7005.php on line 912



    Call Stack



    #

    Time

    Memory

    Function

    Location



    1

    0.0049

    588768

    {main}( )

    ..\vente7005.php:0



    2

    0.0879

    683048

    mysql_free_result ( )

    ..\vente7005.php:912

    où la ligne 870 est :

    while($ligne_dept = mysql_fetch_assoc($rech_dept))

    et la ligne 912 est :

    mysql_free_result($rech_dept);




    Merci d'avance pour vos réponses .

    HAbroc

  2. #2
    Membre éclairé
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Par défaut
    Bon ...J'ai trouvé ...

    Problème de ' dans ma requête ...

    donc mon sql1 devient :

    "SELECT id, libelle".
    " FROM shop_categories".
    " ORDER BY id";

    et idem pour le sql2 et ça fonctionne trés bien ...

    A+ pour une vraie question ...

  3. #3
    Membre émérite Avatar de Atomya Rise
    Femme Profil pro
    Développeuse Web
    Inscrit en
    Février 2009
    Messages
    443
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeuse Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 443
    Par défaut
    Pour la prochaine question, tu pourras utiliser la balise CODE s'il te plaît, car là, ma page fais 2km de long Merci

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

Discussions similaires

  1. [MySQL] Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in
    Par Sarah sh dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 08/12/2013, 18h12
  2. [AC-2010] Rafraichissement Sous-formulaire sur liste liée
    Par sardaucar dans le forum IHM
    Réponses: 8
    Dernier message: 06/11/2013, 15h23
  3. [MySQL] warning : mysql_fetch_assoc() expects parameter 1 to be resource
    Par zozoman dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 15/05/2013, 13h51
  4. [MySQL] Message d'erreur: Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean
    Par gennievre dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 19/03/2012, 03h51
  5. [AJAX] Listes déroulantes liées
    Par nbelg27 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/08/2008, 21h08

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