[php] afficher des resultats ds une grille....

trik59 Messages postés 244 Date d'inscription   Statut Membre Dernière intervention   -  
maily Messages postés 7560 Statut Contributeur -
Salut,

je voudrais savoir Comment faire pour afficher des resultats d'une requete sql, dans une grille, avec plusieurs colonne (identifiant) et tout se qui suit... cela en langage php ??

9 réponses

  1. ad_creative Messages postés 21 Statut Membre 14
     
    essaye un truc du style ( à modifié selon tes besoins ..)

    $result = mysql_query($query) or die("Et merde ...");

    // Afficher des résultats dans un tableau
    // exemple : id , nom , prenom ..
    // y a moyen de le faire par code ca aussi ..

    echo "<table><tr>";
    echo "<td>ID</td>";
    echo "<td>NOM</td>";
    echo "<td>PRENOM</td>";
    echo "</tr>";

    // boucle sur le résultat de ta requete ..
    while ($ligne = mysql_fetch_assoc($result))
    {
    // nouvelle ligne dans le tableau
    echo "<tr>";
    echo "<td>".$ligne['id']."</td>";
    echo "<td>".$ligne['nom']."</td>";
    echo "<td>".$ligne['prenom']."</td>";
    // fin de ligne
    echo "</tr>";
    }

    // fin du tableau
    echo "</table>";

    Voilà .. @+
    1
  2. Looping94510 Messages postés 197 Date d'inscription   Statut Membre 48
     
    ca se fait en php, mais par contre tu utilise koi comme base de donnée (mysql, postgresql........), ca change un peu en fonction des base.........
    0
    1. trik59 Messages postés 244 Date d'inscription   Statut Membre Dernière intervention   39
       
      j'utilise une base mysql...

      merci!
      0
  3. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    Et bien tu récupère les résultats de ta requête, et tu créé un tableau HTML à l'aide de php

    echo '<table>'
    etc.

    C'est à cela que sert php: construire du HTML à la volée.
    0
    1. trik59 Messages postés 244 Date d'inscription   Statut Membre Dernière intervention   39
       
      j'ai essayer de le faire! seb! mais cela ne fonctionne pas du moins je n'arrive pas a le faire marcher ce tableau!!

      grrr j'ai meme essayer: ce qui est sur le site http://www.commentcamarche.net/php/phpform.php3

      pareil je n'arrive pas! pourkoi ?




      merci
      0
    2. maily Messages postés 7560 Statut Contributeur 453
       
      C'est quoi l'erreur?
      C'est quoi ton code?

      on peut pas t'aider si on ne sait pas quelle erreur apparait...
      0
  4. trik59 Messages postés 244 Date d'inscription   Statut Membre Dernière intervention   39
     
    le resultat de ma requete, je l'ai recuperer ds une variable:

    $resultat = requeteSQL($requete);

    * je creer un tablo en html, a part, 'c'est fait),
    et apres il faut faire, quoi?
    moi j'ai voulu tester la methode, qui se trouve a l'adresse si dessus, mais sa marche pas, ché pô si je peut faire sa!?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. maily Messages postés 7560 Statut Contributeur 453
     
    Peux tu mettre ton code en entier silteplé? Et surtout ta requête, merci.
    0
  7. Looping94510 Messages postés 197 Date d'inscription   Statut Membre 48
     
    Perso je taff plutot sur postgresql mais je voudrai savoir pourkoi tu fai un echo "<table>", en html pour creer un tableau c plus comme ca..........

    <html>
    <head>Tableau</head>
    <body>
    <table> //creation tableau
    <tr> //ligne 1
    <td>J'aime le pain</td> //premiere case
    <td>et le vin</td> //deuxieme case
    </tr> //fin ligne 1
    <tr> //ligne 2
    <td>moi l'eau</td> // premiere case
    <td> moi la biere</td> // deuxieme case
    </tr> // fin ligne 2
    </table> // fin tableau
    </body>
    <html>

    dc apres t'adapte en faisant un
    while (condition)
    {
    <tr>
    <td>id[i]</td>
    .....
    </tr>
    }

    ou un truc comme ca........perso en postgresql, je fai un pg_num_row pour voir si ya kelke chose dans le resultat de la requete apres un while $varible = pg_fetch_array(resultat requete)
    je met met condition a afficher et ca marche............

    bonne chance
    0
  8. trik59 Messages postés 244 Date d'inscription   Statut Membre Dernière intervention   39
     
    j'en peut plus.... j'essay, je reessay! toujour la mem chose!

    voila je met mon code, jesper que c'est lisible:

    require ("include/sqlp.inc");
    require ("include/fonctions.php");
    require ("include/chaines.inc");

    //j'appel ma page html(formulaire)
    $my_page = retrieveFile("templates/renouvmates.tpl");

    $lerr = "";
    $err="";

    if (isOkPOST("choix")){ //saisie faite
    $choix = $_POST["choix"];
    $nbra = $_POST["nbra"];
    $nbrs = $_POST["nbrs"];

    ...

    (ici ce trouve tous mes contrôles et calculs...)
    ...
    ...

    //Début de ma requete!

    if ($err == 0){
    $requete = "SELECT division.id_div, division.nom_div, type_mat.id_sorte_mat, materiel.statut, count( * ) nbr_PC
    FROM materiel, type_mat, division
    WHERE type_mat.id_sorte_mat = $smat
    AND materiel.statut = \"A\"
    AND materiel.id_type_mat = type_mat.id_type_mat
    AND materiel.id_div = division.id_div
    AND materiel.date_livraison <=\"$ddate\"
    GROUP BY division.id_div;";

    $resultat = requeteSQL($requete);
    $i = 0;

    if(mysql_num_rows($resultat))
    {
    while($tab = mysql_fetch_row($resultat))

    {

    //Variables ou ya les resultats de chaque "identifiant" (/colonne)

    $liste["count( * ) nbr_ucs"][$i] = $tab[4];
    $liste["materiel.statut"][$i] = $tab[3];
    $liste["type_mat.id_sorte_mat"][$i] = $tab[2];
    $liste["division.nom_div"][$i] = $tab[1];
    $liste["division.id_div"][$i] = $tab[0];
    $i++;
    }
    }

    (j'affiche le resultat,mais l'un en dessous de l'autre, C'EST PA CE QUE JE VEUT! en faite

    je croi que c'est a partir de la que je doit creer ma grille?

    echo "<PRE>";
    print_r($liste);
    echo "</PRE>";

    voila si cela peut m'aider, merci pour tout !!

    cordialament....
    0
    1. ad_creative Messages postés 21 Statut Membre 14
       
      faut lire ... :(

      a la place de ..

      // ---------------------------------------

      if(mysql_num_rows($resultat))
      {
      while($tab = mysql_fetch_row($resultat))

      {

      //Variables ou ya les resultats de chaque "identifiant" (/colonne)

      $liste["count( * ) nbr_ucs"][$i] = $tab[4];
      $liste["materiel.statut"][$i] = $tab[3];
      $liste["type_mat.id_sorte_mat"][$i] = $tab[2];
      $liste["division.nom_div"][$i] = $tab[1];
      $liste["division.id_div"][$i] = $tab[0];
      $i++;
      }
      }

      // ---------------------------------------


      met ca ...

      // ---------------------------------------

      if(mysql_num_rows($resultat))
      {
      echo "<table>";

      while($tab = mysql_fetch_row($resultat))

      {

      //Variables ou ya les resultats de chaque "identifiant" (/colonne)

      // nouvelle ligne
      echo "<tr>";
      echo "<td>".$tab[4]."</td>";
      echo "<td>".$tab[3]."</td>";
      echo "<td>".$tab[2]."</td>";
      echo "<td>".$tab[1]."</td>";
      echo "<td>".$tab[0]."</td>";
      echo "</tr>";
      }
      echo "</table>";
      }

      // ---------------------------------------


      voir si tu as vraiment besoin de ta variable $liste .... (??)
      perso il est vrai drole ton code ... ;)
      0
  9. maily Messages postés 7560 Statut Contributeur 453
     
    echo "<table>";
    echo "<tr><td>division.id_div</td><td> division.nom_div</td><td>  type_mat.id_sorte_mat</td><td> materiel.statut, count( * ) nbr_PC </td></tr>"; 
    while($tab = mysql_fetch_row($resultat))
    {
    echo "<tr><td>"
                .$tab[0]
                ."</td><td>"
                .$tab[1]
                ."</td><td>"
                .$tab[2]
                ."</td><td>"
                .$tab[3]
                ."</td><td>"
                .$tab[4]
                ."</td></tr>";
    
    } 
    echo "</table>";


    et tu enlèves le code
    echo "<PRE>";
    print_r($liste);
    echo "</PRE>";

    0
    1. trik59 Messages postés 244 Date d'inscription   Statut Membre Dernière intervention   39
       
      olala la jcommence a reprendre gout au php,
      enfin c'est un peuti peut plus mieux!!
      voila sque cela donne (petit apercu)


      29 A 2 DPP 43
      12 A 2 DAPEC 45
      1 A 2 RAPE 46
      2 A 2 SAIA 47
      3 A 2 DAETP 48
      21 A 2 DPET 49
      26 A 2 DPATOSS 50



      Comment je peut faire pour espacer les colonnes?...j'ai essayer la balise <br> entre les $tab, sa me fait des erreurs...
      ensuite j'essayerai de paser a la grille !


      encore merci!
      0
  10. Looping94510 Messages postés 197 Date d'inscription   Statut Membre 48
     
    dsl, mais comme ta pas l'air de t'en sortir, voila un morceau de mon code sur une page, php postgresql, normalment, je dis bien normalment t'as a remplacer les pg_... par mysql_....

    // Connection à la base
    include('connection.php');
    ?>

    <html>
    <head>
    <title> AFFICHE PS ET E-MAIL</title>
    </head>
    <body bgcolor='#002B88' background='../images/backgroundPC.gif' topmargin='0' leftmargin='0' LINK='#0033CC' VLINK='#0033CC' ALINK='#0033CC'>

    <?php
    $specialisation = $spelib;

    // 00 et 07 represente les ps qui sont a la retraite et ceux qui n'ont plus le droit d'exercer......
    $rsmail ="select tie_tiers, tie_nommar, tie_prenom, com_libcomm, act_mail from detailps
    Where spe_lib ='$specialisation'
    and (act_natex <> '00' and act_natex <> '07')
    order by tie_tiers";

    $resultat=pg_exec($connect,$rsmail);

    $i=0;
    if (pg_numrows($resultat) != 0)
    { ?>
    <div align='center'>
    <center><table border='0' width='350' cellspacing='0' cellpadding='0' height='0' style='margin-left: 30px'>
    <tr align='center'>
    <td valign='middle' align='center' height='0'><div align='center'><p><font color='#6633CC' face='Arial' size='4' style='bgcolor: #F4A460'><b><i>LISTE DES PS TROUVES</b></i></font></td ></tr>
    </table>
    </div>
    <div align='center'>
    <center><table border='0' width='380' cellspacing='0' cellpadding='0' height='5' style='margin-left: 20px'>
    <tr align='left'>
    <td valign='middle' align='center'><div align='center' width='400'><p><font color='#9932C' face='Arial' size='2'><b>Possédant un e-mail ou non</b></font></td>
    </tr>
    </table>
    <table border='1' width='780' bordercolordark='#808080' cellspacing='1' bordercolor='#C0C0C0' bordercolorlight='#C0C0C0' height='30' bgcolor='#FFFFFFF'>
    <tr>
    <th width='10%' bgcolor='#9999CC'><strong><font face='Arial' size='2'> Numero de PS </font></strong></th>
    <th width='20%' bgcolor='#9999CC'><strong><font face='Arial' size='2'> Nom </font></strong></th>
    <th width='15%' bgcolor='#9999CC'><strong><font face='Arial' size='2'> Prenom </font></strong></th>
    <th width='30%' bgcolor='#9999CC'><strong><font face='Arial' size='2'> Ville </font></strong></th>
    <th width='25%' bgcolor='#9999CC'><strong><font face='Arial' size='2'> E-mail </font></strong></th>
    </tr>

    <?php
    for ($i=0;$i<pg_numrows($resultat);$i++)
    {
    $row=pg_fetch_array($resultat,$i);

    ?>

    <tr>
    <td style='border: 1 outset #000099' width='10%' align='center' checked='false' BGCOLOR='#CCCCCCCC'><font face='Arial' size='2' align ='center'><?php echo $row['tie_tiers']; ?></font></td>
    <td style='border: 1 outset #000099' width='20%' align='center' checked='false' BGCOLOR='#FFFFCC'><font face='Arial' size='2'><?php echo $row['tie_nommar']; ?></font></td>
    <td style='border: 1 outset #000099' width='15%' align='center' checked='false' BGCOLOR='#FFFFCC'><font face='Arial' size='2'><?php echo $row['tie_prenom']; ?></font></td>
    <td style='border: 1 outset #000099' width='30%' align='center' checked='false' BGCOLOR='#FFFFCC'><font face='Arial' size='2'><?php echo $row['com_libcomm']; ?></font></td>
    <td style='border: 1 outset #000099' width='25%' align='center' checked='false' BGCOLOR='#FFFFCC'><font face='Arial' size='2'><?php echo $row['act_mail']; ?></font></td>
    </tr>
    <?php
    }
    ?>
    </center></div>
    <div align="center">
    <table border="0">
    <tr>
    <br>
    <td align="Center">

    <a href="Javascript:history.go(-1)"><img src="../images/retour.gif" alt="Retour" border="" width="80" height="28"></a><p></td>
    </tr>
    </table>
    </center>
    <?php } else { ?>
    <p align="center">
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="35%" id="AutoNumber1">
    <tr>
    <br>
    <td width="35%" bgcolor="#C0C0C0">
    <p align="center"><b><font color="#9933FF" size="3">Professionnel de Santé non trouvé</font></b></td>
    </tr>
    </table>
    </center></div>
    <div align="center">
    <table border="0">
    <tr>
    <br>
    <td align="Center">
    <a href="Javascript:history.go(-1)"><img src="../images/retour.gif" alt="Retour" border="" width="80" height="28"></a><p></td>
    </tr>
    </table>
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="35%" id="AutoNumber1">
    <tr>
    <td width="30%" bgcolor="#C0C0C0">
    <p align="center"><b><font color="#9933FF" size="2">Cliquer sur le bouton Retour</font></b></td>
    </tr>
    </table><a href="file:///%%NETWORK%%/Réseau global/Serri"></a>
    </center>
    <?php } ?>

    </body>
    </html>
    0