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 :

Problème de Select en php bizarre!!! [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é
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Par défaut Problème de Select en php bizarre!!!
    Bonjour

    j 'ai un souci de sélection. Je voudrai sélectionner les num_menu ayant la
    même valeur que $cat. Normalement avec ce que j ai fait dessous cela devrai marcher. Mais non c'est bizarre.
    Au lieu de m'afficher :
    Test :la valeur 5
    5
    5
    Il m'affiche :
    Test :la valeur 5
    Test :les valeurs Resource id #3

    Quelqu'un peux me resoudre le problème ?

    ci-dessous la table le code php et le résultat bizarre :

    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
    29
    30
    31
    32
    33
    34
    35
     
    -- phpMyAdmin SQL Dump
    -- version 2.6.1
    -- http://www.phpmyadmin.net
    -- 
    -- Serveur: localhost
    -- Généré le : Mardi 04 Avril 2006 à 13:44
    -- Version du serveur: 4.1.9
    -- Version de PHP: 4.3.10
    -- 
    -- Base de données: `essai`
    -- 
     
    -- --------------------------------------------------------
     
    -- 
    -- Structure de la table `fr_calcul`
    -- 
     
    CREATE TABLE `fr_calcul` (
      `num_demande` int(11) NOT NULL default '0',
      `num_menu` int(11) NOT NULL default '0',
      `quantite_totale` int(11) NOT NULL default '0',
      `point` int(11) NOT NULL default '0',
      KEY `num_demande` (`num_demande`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
     
    -- 
    -- Contenu de la table `fr_calcul_qte_pr_variant`
    -- 
     
    INSERT INTO `fr_calcul` VALUES (51, 4, 0, 0);
    INSERT INTO `fr_calcul` VALUES (52, 4, 0, 0);
    INSERT INTO `fr_calcul` VALUES (53, 5, 0, 0);
    INSERT INTO `fr_calcul` VALUES (54, 5, 0, 0);
    2.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <? session_start() ?>
    <?
    $db = mysql_connect("localhost","root","");
          mysql_select_db("essai");
    $cat = $_POST['categorie'];
    echo "Test :la valeur $cat<br>"; 
    $a = mysql_query("SELECT num_menu FROM fr_calcul WHERE num_menu = $cat");
    echo "Test :les valeurs $a<br>";
    ?>
    résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Test :la valeur 5
    Test :les valeurs Resource id #3

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 214
    Par défaut
    Valeurs de retour

    Pour les requêtes du type SELECT, SHOW, DESCRIBE ou EXPLAIN, mysql_query() retournera une ressource en cas de succès, ou FALSE en cas d'erreur.

    Pour les autres types de requêtes, UPDATE, DELETE, DROP, etc., mysql_query() retourne TRUE en cas de succès ou FALSE en cas d'erreur.

    La ressource de résultat retournée doit être passée à la fonction mysql_fetch_array(), et les autres fonctions permettant d'explorer le résultat des tables, pour accéder aux données retournées.

    Utilisez mysql_num_rows() pour trouver le nombre de lignes retournées pour une requête du type SELECT ou mysql_affected_rows() pour trouver le nombre de lignes affectées par les requpetes du type DELETE, INSERT, REPLACE, ou UPDATE.

    mysql_query() échouera et retournera FALSE si l'utilisateur n'a pas les autorisations nécessaire pour accéder à la (aux) table(s) référencée(s) par la requête.
    Extrait du manuel PHP.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 55
    Par défaut
    pour reutiliser ta variable il faut stocker les champs selectionner

    list($nummenu)=mysql_fetch_row($a)){

    a mettre en dessous de ta requete


    et tu ferme avec } quand tu as fini avec la variable

  4. #4
    Membre chevronné Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <? session_start() ?>
    <?
    $db = mysql_connect("localhost","root","");
          mysql_select_db("essai");
    $cat = $_POST['categorie'];
    echo "Test :la valeur $cat<br>";
    $res = mysql_query("SELECT num_menu FROM fr_calcul WHERE num_menu = $cat");
    $a=mysql_result($res,'num_menu');
    echo "Test :les valeurs $a<br>";
    ?>

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Par défaut rep
    mysql_fetch_objet()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <? session_start() ?>
    <?
    $db = mysql_connect("localhost","root","");
          mysql_select_db("essai");
    $cat = $_POST['categorie'];
    echo "Test :la valeur $cat<br>"; 
    $sql = "SELECT num_menu FROM fr_calcul_qte_pr_variant where num_menu = $cat";
    $cyril = mysql_query($sql);
    $row = mysql_fetch_object($cyril,$db);
    if (isset($row->num_menu)){ echo "$row->num_menu"; }
    else { echo "pas de valeur" ; }
    ?>
    résultat (pas normal on il y a deux lignes)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Test :la valeur 5
    pas de valeur
    avec mysql_fetch_array()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <? session_start() ?>
    <?
    $db = mysql_connect("localhost","root","");
          mysql_select_db("essai");
    $cat = $_POST['categorie'];
    echo "Test :la valeur $cat<br>"; 
    $sql = "SELECT num_menu FROM fr_calcul_qte_pr_variant where num_menu = $cat";
    $cyril = mysql_query($sql);
    $row = mysql_fetch_array($cyril,$db);
    if (isset($row->num_menu)){ echo "$row->num_menu"; }
    else { echo "pas de valeur";  }
    ?>
    résultat idem

    idem pour mysql_num_rows.

    La je craque tu peux me donner le bon code complet svp!!!

  6. #6
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    bonjour,

    le code complet?
    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
     
    <? session_start() ?>
    <?
    $db = mysql_connect("localhost","root","");
          mysql_select_db("essai");
    $cat = $_POST['categorie'];
    echo "Test :la valeur $cat<br>";
    $sql = "SELECT num_menu FROM fr_calcul_qte_pr_variant where num_menu=".$cat;
    $cyril = mysql_query($sql);
    if (mysql_num_rows($cyril) != 0) {
       while ($row = mysql_fetch_array($cyril,$db)) {
          if (isset($row['num_menu'])){ echo $row['num_menu']; }
          else { echo "pas de valeur";  }
       }
    }
     
    ?>

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Par défaut Rep
    Merci à tous !!!

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

Discussions similaires

  1. [MySQL] Problème de doublons en créant un form select en php/mysql
    Par onoff_5 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/09/2012, 11h25
  2. [MySQL] problème Select requete PHP
    Par coralie.bella dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 16/05/2010, 02h08
  3. [MySQL] Problème Select-->Insert PHP
    Par antoine1504 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 09/12/2009, 15h43
  4. [MySQL] Problém de selection PHP Mysql
    Par outasga dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/12/2009, 10h22
  5. Problème de select via le php
    Par Colbix dans le forum Langage SQL
    Réponses: 4
    Dernier message: 05/05/2008, 23h10

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