Page 1 sur 5

affichage bdd

Posté : 17 mai 2005, 10:21
par Justone
Bonjour a tous,

j'ai une table sous phpMyAdmin
l'affichage est sous forme de tableau

je voudrais avoir le meme affichage mais dans une page web

cmt puis je faire?

merci pour votre aide...

Posté : 17 mai 2005, 10:26
par zeus
<html>
  <head>
    <title>page</title>
  </head>
  <body>
    <table>
      <tr>
        <td>Nom</td>
        <td>Prenom</td>
      </tr>
<?php
$str_requete ="SELECT nom, prenom FROM table";
$o_result = mysql_query($str_requete;)

while ($a_result = mysql_fetch_array($o_result, MYSQL_ASSOC)) {
  echo "<tr>";
  echo "<td>".$a_result["nom"]."</td>";
  echo "<td>".$a_result["prenom"]."</td>";
  echo "</tr>";
}
?>
    </table>
  </body>
</html>
Et 1 affichage en tableau, 1 !!!!

Tu n'as plus qu'a adapter ton code à ta bdd et au type d'affichage que tu veux !!!

Posté : 17 mai 2005, 10:46
par Justone
<table border="1"> 
      <tr> 
        <td>Jour</td> 
        <td>Mois</td>
		<td>Annee</td> 
		<td>Type</td>
		<td>Downtime in SLA</td>
		<td>Total Downtime</td>
      </tr> 
<?php 
require_once('../Connections/arnis01.php');
mysql_select_db("arnis01");  
$str_requete ="SELECT jour, mois, annee, type, sla, total FROM sla"; 
$o_result = mysql_query($str_requete);

while ($a_result = mysql_fetch_array($o_result, MYSQL_ASSOC)) { 
  echo "<tr>"; 
  echo "<td>".$a_result["jour"]."</td>"; 
  echo "<td>".$a_result["mois"]."</td>"; 
  echo "<td>".$a_result["annee"]."</td>"; 
  echo "<td>".$a_result["type"]."</td>"; 
  echo "<td>".$a_result["sla"]."</td>"; 
  echo "<td>".$a_result["total"]."</td>"; 
  echo "</tr>"; 
} 
?> 
</table>
Sas tu comment faire pour ranger mon tableau par date.
C a d d'abord l'année puis le mois puis le jour.

Merci

Posté : 17 mai 2005, 10:49
par zeus
Pense bienà ce que tu dit !!! En lisant ta question, tu trouve la réponse !!! C'est pas pour t'embeter, c'est pour que tu y arrive tout seul :
Sas tu comment faire pour ranger mon tableau par date.
C a d d'abord l'année puis le mois puis le jour.
Ton tableau est construit dans l'ordre des enregistrements retournés par ta requête : si tu veux changer l'ordre de ton tableau, change l'ordre de tri de ta requête
$str_requete ="SELECT jour, mois, annee, type, sla, total FROM sla ORDER BY annee, mois, jour"; 
Sachant que SQL fait le tri selon le 1er parm puis en cas d'égalité, le 2eme ...

Posté : 17 mai 2005, 10:49
par Cyrano
:shock: dis-moi un truc justone, un doute me gagne: ta question est sérieuse ??? Tu ne sais pas inverser deux lignes pour avoir l'affichage dans l'ordre de ton goût ???

L'ordre de l'affichage est indépendant de l'ordre dans lequel les valeurs sont récupérées. Que MySQL renvoie des champs dans un ordre ou un autre n'a pas d'importance, tu récupère des variables qui sont déjà initialisées. Libre à toi ensuite de mettre ton code html avec le contenu que tu veux dans l'ordre que tu veux..

Posté : 17 mai 2005, 10:49
par slipndi
Bonjour
essaye de rajouter dans ta requte :
$str_requete ="SELECT jour, mois, annee, type, sla, total FROM sla ORDER BY annee, mois, jour"; 
ca te trira déja par année ! ;)

Bon ben jme suis fait devancé:(

Posté : 17 mai 2005, 10:51
par zeus
Cyrano, je pense que tu n'a pas compris la question !!!

Il voulait surement parler de rangement des enregistrements et non pas de l'ordre des colonnes :wink:

Posté : 17 mai 2005, 10:55
par Justone
Merci pour vos réponses.

C'est juste que je ne connais pas le maniement des requetes : select, from, order by, sum, count, ... tout ca est nouveau pour moi.
Mais c'est vrai que sur ce coup la, j'aurai du trouver!

Mais en faisant order by mois, le probleme est que par exemple Mai sera avant Mars, or c'est l'inverse!

Posté : 17 mai 2005, 10:57
par Cyrano
Cyrano, je pense que tu n'a pas compris la question !!!

Il voulait surement parler de rangement des enregistrements et non pas de l'ordre des colonnes :wink:
Je n'ai fait que lire ce qu'il a écrit:
Sas tu comment faire pour ranger mon tableau par date.
C a d d'abord l'année puis le mois puis le jour.
Il voulait sûrement.... mais peut-être pas: je me garde toujours autant que possible de faire des interprétations à priori, ça peut éviter de répondre à côté de la question. Si la question avait été correctement formulée, il est probable que la réponse aurait été appropriée ;)

Posté : 17 mai 2005, 10:59
par slipndi
Ben alors tu crée une table mois, avec id_mois nom_mois que tu lie avec ton autre table et tu l'apelle aussi lors de ta requete ca donnerai :
$str_requete ="SELECT sla.jour, mois.nom_mois, sla.annee, sla.type, sla.sla, sla.total FROM sla,mois ORDER BY sla.annee, mois.id_mois, sla.jour";
une solutions comme une autre je sais pas si c'est la meilleure;)

Posté : 17 mai 2005, 11:01
par zeus
D'accord Cyrano, excuse moi !!!

Sinon, Justone, soit tu enregistres tes mois en chiffres (01, 02, 03, ...) soit tu ne doit pas pouvoir trier selon les mois si ils sont enregistrés en français.

Je me renseigne

Posté : 17 mai 2005, 11:04
par slipndi
autre solutions qui vient de me traverser l'esprit, tu enregistre les mois en chiffre dans ta bdd, et tu les interprette en php
c'est à dire
if( $tab['mois']==1)
{
  $mois=janvier
  echo($mois);
}
c'est pas mal aussi je supose;)

Posté : 17 mai 2005, 11:07
par iclo
Et si on utilisait un des types fournit par MySql pour stocker des dates ? C'est pas à ça qu'ils servent ? :P :P

Posté : 17 mai 2005, 11:09
par pjl
Il y a surtout un pb de conception de la table.
Quel est l'intéret de stocker une date sur 3 champs alors qu'il existe des champs spécifiques pour stocker les dates.

Posté : 17 mai 2005, 11:10
par slipndi
ah oué aussi :oops: :oops: j'y ai même pas pensé :oops: