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

trik59 Messages postés 244 Statut Membre -  
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 ??
A voir également:

9 réponses

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
Looping94510 Messages postés 193 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
trik59 Messages postés 244 Statut Membre 39
 
j'utilise une base mysql...

merci!
0
sebsauvage Messages postés 33415 Statut Modérateur 15 663
 
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
trik59 Messages postés 244 Statut Membre 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
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
trik59 Messages postés 244 Statut Membre 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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maily Messages postés 7560 Statut Contributeur 453
 
Peux tu mettre ton code en entier silteplé? Et surtout ta requête, merci.
0
Looping94510 Messages postés 193 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
trik59 Messages postés 244 Statut Membre 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
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
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
trik59 Messages postés 244 Statut Membre 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
maily Messages postés 7560 Statut Contributeur 453
 
C'est une question d'options de tableau:
http://www.commentcamarche.net/html/htmltable.php3
0
Looping94510 Messages postés 193 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