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

  1. #1
    Membre habitué
    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
    Points : 126
    Points
    126
    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 éclairé 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 : 42
    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
    Points : 799
    Points
    799
    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
    Points : 3 115
    Points
    3 115
    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 actif Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Points : 237
    Points
    237
    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 éclairé 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 : 42
    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
    Points : 799
    Points
    799
    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
    Points : 3 115
    Points
    3 115
    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 actif Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Points : 237
    Points
    237
    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 habitué Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Points : 189
    Points
    189
    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 habitué
    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
    Points : 126
    Points
    126
    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 actif Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Points : 237
    Points
    237
    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, 17h14
  2. [Tableaux] erreur php ?
    Par caro_tpl dans le forum Langage
    Réponses: 1
    Dernier message: 11/10/2006, 11h14
  3. [Tableaux] erreur bbcode pour sortie
    Par speedylol dans le forum Langage
    Réponses: 2
    Dernier message: 02/09/2006, 22h51
  4. [Tableaux] Structure PHP pour variable complexe
    Par winnie82 dans le forum Langage
    Réponses: 2
    Dernier message: 14/06/2006, 13h53
  5. Réponses: 6
    Dernier message: 20/05/2006, 10h42

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