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] erreur php pour mettre le listing de 2 table dans un tableau


Sujet :

Langage PHP

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 [Tableaux] erreur php pour mettre le listing de 2 table dans un tableau
    re:

    J'ai un problème pour afficher les lignes contenues dans deux tables dans un tableau.

    Pouvez-vous me donner le code correct ?

    les messages d'erreurs sont :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\tentative\essai.php on line 10
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\tentative\essai.php on line 18
     
    Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\tentative\essai.php on line 26
    2.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
     
    <? session_start() ?>
    <?
    $db = mysql_connect("localhost","root","");
          mysql_select_db("tentative");
    $cat = 4;
    $ver = mysql_query("SELECT num_menu FROM fr_calcul_qte_p WHERE num_menu = $cat");
    $a = mysql_result($ver,'num_menu');
    $select = "SELECT a.num_demande,à.num_menu,a.prenom,a.nom,c.num_demande,c.quantite_totale,c.point FROM a.num_menu = $a AND a.num_demande = c.num_demande";
    $res = mysql_query($select,$db);
    $af = mysql_num_rows($res);
        echo '<table bgcolor="#FFFFFF" border="1" align="center">'."\n";
           echo '<tr>';
           echo '<td bgcolor="#669999"><b><u>nom</u></b></td>';
           echo '<td bgcolor="#669999"><b><u>prenom</u></b></td>';
    	   echo '<td bgcolor="#669999"><b><u>quantite_totale</u></b></td>';
           echo '<td bgcolor="#669999"><b><u>point</u></b></td>';
           echo '</tr>'."\n";   
        while($row = mysql_fetch_array($af)) 
    	 { echo '<tr>';
           echo '<td bgcolor="#CCCCCC">'.$row["nom"].'</td>';
           echo '<td bgcolor="#CCCCCC">'.$row["prenom"].'</td>';
           echo '<td bgcolor="#CCCCCC">'.$row["quantite_totale"].'</td>';
           echo '<td bgcolor="#CCCCCC">'.$row["point"].'</td>';
           echo '</tr>'."\n"; }
        echo '</table>'."\n";
        mysql_free_result($af);
    ?>
    base tentative 2 tables :

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    -- phpMyAdmin SQL Dump
    -- version 2.6.1
    -- http://www.phpmyadmin.net
    -- 
    -- Serveur: localhost
    -- Généré le : Mardi 04 Avril 2006 à 16:28
    -- Version du serveur: 4.1.9
    -- Version de PHP: 4.3.10
    -- 
    -- Base de données: `tentative`
    -- 
     
    -- --------------------------------------------------------
     
    -- 
    -- Structure de la table `fr_calcul_qte_p`
    -- 
     
    CREATE TABLE `fr_calcul_qte_p` (
      `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_p`
    -- 
     
    INSERT INTO `fr_calcul_qte_p` VALUES (51, 4, 55, 2896);
    INSERT INTO `fr_calcul_qte_p` VALUES (52, 4, 23, 1263);
    INSERT INTO `fr_calcul_qte_p` VALUES (53, 5, 75, 5896);
    INSERT INTO `fr_calcul_qte_p` VALUES (54, 5, 36, 769);
     
    -- --------------------------------------------------------
     
    -- 
    -- Structure de la table `fr_user`
    -- 
     
    CREATE TABLE `fr_user` (
      `num_demande` int(11) NOT NULL auto_increment,
      `num_session` text NOT NULL,
      `num_menu` text NOT NULL,
      `date_demande` text NOT NULL,
      `date_demande_fin` text NOT NULL,
      `prenom` text NOT NULL,
      `nom` text NOT NULL,
      PRIMARY KEY  (`num_demande`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=55 ;
     
    -- 
    -- Contenu de la table `fr_user`
    -- 
     
    INSERT INTO `fr_user` VALUES (51, '4', '4', '03 Apr 3 21 : 15 : 57', '', 'cyril', 'gidoin');
    INSERT INTO `fr_user` VALUES (52, '4', '4', '03 Apr 3 21 : 17 : 46', '', 'alain', 'bersnard');
    INSERT INTO `fr_user` VALUES (53, '4', '5', '03 Apr 3 21 : 18 : 36', '', 'didier', 'leonard');
    INSERT INTO `fr_user` VALUES (54, '4', '5', '03 Apr 3 21 : 19 : 17', '', 'Pierre', 'Marson');

  2. #2
    Membre émérite Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Par défaut
    salut
    c'est ta requete SQL qui n'est pas bonne.
    ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT a.num_demande,à.num_menu,a.prenom,a.nom,c.num_demande,c.quantite_totale,c.point FROM a.num_menu = $a AND a.num_demande = c.num_demande";
    est particulierement horrible !
    je pense que ça a plus de chances de marcher avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT a.num_demande,a.num_menu,a.prenom,a.nom,c.num_demande,c.quantite_totale,c.point FROM fr_calcul_qte_p c,fr_user a WHERE a.num_menu = $a AND a.num_demande = c.num_demande";

  3. #3
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Oulà il y a moult choses bizarres dans ton code.

    Déjà dans ta requête tu a oublié le WHERE.

    Ensuite tu fais mysql_fetch_array($af)) mais $af sembler être le résultat d'un requête et pas une requête SQL.

  4. #4
    Membre éclairé Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Par défaut
    enleve $db dans mysql_query

    mais $res= mysql_query($select)

    et ensuit c'est mysql_num_rows($res) et mysql_fetch_array($res) mais avant tout assure toit que tes requetes SQL sont bonnes en les exécutant directement dans phpMyAdmin

  5. #5
    Membre émérite Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Par défaut
    Citation Envoyé par JWhite
    tu fais mysql_fetch_array($af)) mais $af sembler être le résultat d'un requête et pas une requête SQL
    Euh, pas vraiment mais il y a quand même une grosse erreur
    Je m'étais arreté à la requete sans regarder le reste ... :-s
    en fait $af est un entier representant le nombre de lignes renvoyées par la requete.
    donc la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while($row = mysql_fetch_array($af))
    est archi-fausse
    il faut mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while($row = mysql_fetch_array($res))

  6. #6
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Oui Hervé je plussoie mais c'est vrai qu'il y a tellement de trucs bizarres que j'ai mis que ce qui me choquait le plus, en tout cas un détour par la FAQ ferait le plus grand bien à Carmen

  7. #7
    Membre éclairé Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Par défaut
    Oui moi aussi j'ai essayé de faire au plus gros et compléter vos réponses mais il ya tellement de choses de fausses dans ce script...

  8. #8
    Membre confirmé Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Par défaut Re: erreur php pour mettre le listing de 2 table dans un tab
    Salut !

    pour commencer evites de copier coller tout ton code, ca ne sert a rien car personne n'a le temps de tout lire, sauf si quelqu'un te le demande pour aller plus loin dans ton pb et dans ce cas seulement !

    dans les fait, tu as deja des erreurs de syntaxe dans ton code php :

    Citation Envoyé par carmen256
    $ver = mysql_query("SELECT num_menu FROM fr_calcul_qte_p WHERE num_menu = $cat");
    tu écrit $cat dans un string il faut que tu concatene ta reque te avec la valeur de $cat

    ensuite mysql_query prend deux parametres, ta requete comme un string et ta connexion ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $sql = "SELECT num_menu FROM fr_calcul_qte_p WHERE num_menu =". $cat   //mieux vaut lecrire proprement avant pour eviter les erreurs
    $ver = mysql_query($sql,$db); //soit dis en passant nappelle pas ta connexion db c'est trompeur
    voila commence deja par ca et relance le script en verra ensuite !

    WD

  9. #9
    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 reponse
    Qu'elle la solution mysql_fetch_array() ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\tentative\essai.php on line 18
    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
     
    <? session_start() ?>
    <?
    $db = mysql_connect("localhost","root","");
          mysql_select_db("tentative");
    $cat = 4;
    $ver = mysql_query("SELECT num_menu FROM fr_calcul_qte_p WHERE num_menu = $cat");
    $a = mysql_result($ver,'num_menu');
    $select = "SELECT a.num_demande,a.num_menu,a.prenom,a.nom,c.num_demande,c.quantite_totale,c.point FROM fr_calcul_qte_p c,fr_user a WHERE a.num_menu = $a AND a.num_demande = c.num_demande";
    $res = mysql_query($select);
    $af = mysql_num_rows($res);
        echo '<table bgcolor="#FFFFFF" border="1" align="center">'."\n";
           echo '<tr>';
           echo '<td bgcolor="#669999"><b><u>nom</u></b></td>';
           echo '<td bgcolor="#669999"><b><u>prenom</u></b></td>';
    	   echo '<td bgcolor="#669999"><b><u>quantite_totale</u></b></td>';
           echo '<td bgcolor="#669999"><b><u>point</u></b></td>';
           echo '</tr>'."\n";   
        while($row = mysql_fetch_array($af)) 
    	 { echo '<tr>';
           echo '<td bgcolor="#CCCCCC">'.$row["nom"].'</td>';
           echo '<td bgcolor="#CCCCCC">'.$row["prenom"].'</td>';
           echo '<td bgcolor="#CCCCCC">'.$row["quantite_totale"].'</td>';
           echo '<td bgcolor="#CCCCCC">'.$row["point"].'</td>';
           echo '</tr>'."\n"; }
        echo '</table>'."\n";
    ?>

  10. #10
    Membre éclairé Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Par défaut
    mysql_fetch_array($res)

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

Discussions similaires

  1. Dédié : affichage des erreurs php pour tous les domaines
    Par renaud26 dans le forum Administration système
    Réponses: 2
    Dernier message: 30/05/2008, 18h14
  2. [Tableaux] erreur php ?
    Par caro_tpl dans le forum Langage
    Réponses: 1
    Dernier message: 11/10/2006, 12h14
  3. [Tableaux] erreur bbcode pour sortie
    Par speedylol dans le forum Langage
    Réponses: 2
    Dernier message: 02/09/2006, 23h51
  4. [Tableaux] Structure PHP pour variable complexe
    Par winnie82 dans le forum Langage
    Réponses: 2
    Dernier message: 14/06/2006, 14h53
  5. Réponses: 6
    Dernier message: 20/05/2006, 11h42

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