tableau sous php avec base mysql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : tableau sous php avec base mysql

Re: tableau sous php avec base mysql

par Patriboom » 13 août 2010, 17:26

Je ne suis pas sûr de bien comprendre le problème que tu rencontres, car les résultats affichés dans la page à laquelle tu réfères semblent correspondre à ton souhait.

Ceci dit, je soupçonne que tu veuilles faire du tri à plusieurs niveaux. Il conviendrait alors d'utiliser array_multisort
Pour ma part, je privilégierais un tri en MySQL. En MySQL, tu pourrais faire un GROUP BY peut-être, tu aurais alors accès à des additions, des comptages.

Autre solution possible, tu pourrais simplement te mettre un compteur dans ta boucle WHILE et bâtir un tableau ayant la valeur de compteur comme première dimension,
exemple:
$compte = 0;
while ($row=mysql_fetch_assoc($result)) {
     if ($row['evttime'] != $Donnees[$compte][0]['evttime'] ) { $compte = $compte + 1; }
     $tab[$compte][] = $row;
}

tableau sous php avec base mysql

par albinszten2 » 12 août 2010, 08:55

bonjour


j'ai une base de donnée en mysql avec 1 table et 3 champs.
1champ evttime qui est la date (datetime)
1champ evtcellule qui est le numero des variables enregistrées (bigint)
1champ evtvalue qui est la valeur desvariables enregistrées (décimal)

cette table me plais pas car j'aimerais avoir un tableau avec une colonne date (ok je l'es deja), une colonne variable1 (venant d'evtcellule), une colonne variable2 (venant d'evtcellule)....colonne variable 19. et dans ces colonnes variables j'aimerais avoir la valeur (venant d'evtvalue).

mais je n'y arrive pas...

voici un exemple de ce que j'ai fait pour le moment :
<?php
$link = mysql_connect("140.68.50.50", "external", "external")
    or die("Impossible de se connecter : " . mysql_error());
echo 'Connexion réussie';

 
$colonnes = array();
 
$sql = "SELECT evttime, evtcellule, evtvalue FROM DT ORDER BY evttime";
$result = mysql_query($sql);
 
while ($row=mysql_fetch_assoc($result)) {
     $tab[$row['evttime']][$row['evtcellule']] = $row['evtvalue'];
     if (!in_array($row['evtcellule'], $colonnes)) { $colonnes[] = $row['evtcellule']; }
}
 
sort ($colonnes);
 
echo '<table>
           <tr>
              <th></th>';
for ($i = $evtrange['min']; $i<= $evtrange['max']; $i++) {
           echo '<th>'  . $i .  '</th>';
}
foreach ($tab as $key=>$value) {
    echo '<tr>
               <td>' . $key . '</td>';
    foreach ($colonnes as $c) { 
           echo '<td>' . (isset($value[$c]) ? $value[$c] : "" . '</td>');
    }
    echo '</tr>';
}
echo '</table>';
mysql_close($link);
?>
voici aussi un extrait de la requete mysql qui donne :
http://cjoint.com/?imiwyS7ICq