pb while dans tableau - Débutant - PHP - Programmation
Marsh Posté le 27-04-2005 à 09:26:27
machineths a écrit : Je voudrais afficher les données de ma base dans les colonnes de mon tableau à 8 colonnes avec un boucle pour afficher toutes les lignes de ma base |
T'as pas l'impression de mettre du html directement dans le php ?
Citation : |
Tu n'as pas fermé ta première balise php ...
Marsh Posté le 27-04-2005 à 09:29:09
- Tu ouvres ta balise <table> où dans ton code ?
- Avant le while, écrit ça :
Code :
|
- Après le while et avant le "?>", écrit ça :
Code :
|
- Dans ton while, je trouverai plus clair de mettre cela :
Code :
|
Marsh Posté le 27-04-2005 à 09:34:10
Il vaut mieux faire un seul echo, c'est plus rapide que plusieurs...
Au faite, tu commence direct par un mysql_select_db, mais tu as fais un mysql_connect avant?
Marsh Posté le 27-04-2005 à 09:38:46
Citation : Il vaut mieux faire un seul echo, c'est plus rapide que plusieurs... |
Exact, mais le code devient lisible par la suite?? Je suis également débutant ou noob en programmation, donc je demande .
Citation : Au faite, tu commence direct par un mysql_select_db, mais tu as fais un mysql_connect avant? |
Ah oui, je n'avais pas vu. Si en effet tu n'as pas sélectionné ta base, je te conseille de créer un fichier "connexion.php" par exemple avec ce code :
Code :
|
Puis de faire un include_once ('connexion.php'); juste avant d'effectuer tes requêtes. Ca évite de se retapper tout le code. . Bien pratique.
Marsh Posté le 27-04-2005 à 09:41:47
Pour répondre à Fiiies, c'est quoi que tu apelle lisible?
A quel niveau?
Pour le codeur, c'est peut être moins lisible, c'est vrai, surtout quand tu as 10 lignes, la vitesse gagnée est pas asser importante.
Marsh Posté le 27-04-2005 à 09:46:22
<tr bgcolor=#DDDDDD>
<table border=5>
<tr>
<td align=center colspan="8"><b>Suivi des PI vaines & évitables à J-2</b></td>
</tr>
<tr>
<td align=center colspan="1"><b>Site_TC</b></td>
<td align=center colspan="1"><b>PI évitable</b></td>
<td align=center colspan="1"><b>PI vaine</b></td>
<td align=center colspan="1"><b>Commentaires</b></td>
<td align=center colspan="1"><b>Initiales Agent</b></td>
<td align=center colspan="1"><b>Site</b></td>
<td align=center colspan="1"><b>Service</b></td>
<td align=center colspan="1"><b>Ref Client</b></td>
</tr>
while ($data = mysql_fetch_array($result))
{ echo "<tr>";
echo "<td align=center> $data['site_inter']</td>";
echo "<td align=center> $data['pi_evitables']</td>";
echo "<td align=center> $data['pi_vaines']</td>";
echo "<td align=center> $data['commentaires_anomalie']</td>";
echo "<td align=center> $data['initiales_agent']</td>";
echo "<td align=center> $data['site_agent']</td>";
echo "<td align=center> $data['service_agent']</td>";
echo "<td align=center> $data['ref_client']</td>";
echo "</tr>";
}
<tr>
<td colspan="4" align=center><INPUT TYPE="BUTTON" VALUE="pi suivante" onClick="self.location.href=('http://distri-provence.edf.fr/pi-vaines/anomalies_amont.php')"></td>
<td colspan="4" align=center><INPUT TYPE="BUTTON" VALUE="terminer" onClick="self.location.href=('http://distri-provence.edf.fr/pi-vaines/')"></td>
</tr>
</table>
</tr>
Marsh Posté le 27-04-2005 à 09:49:07
voila mon code complet pour le tableau avec les modifs
<tr bgcolor=#DDDDDD>
<table border=5>
<tr>
<td align=center colspan="8"><b>Suivi des PI vaines & évitables à J-2</b></td>
</tr>
<tr>
<td align=center colspan="1"><b>Site_TC</b></td>
<td align=center colspan="1"><b>PI évitable</b></td>
<td align=center colspan="1"><b>PI vaine</b></td>
<td align=center colspan="1"><b>Commentaires</b></td>
<td align=center colspan="1"><b>Initiales Agent</b></td>
<td align=center colspan="1"><b>Site</b></td>
<td align=center colspan="1"><b>Service</b></td>
<td align=center colspan="1"><b>Ref Client</b></td>
</tr>
while ($data = mysql_fetch_array($result))
{ echo "<tr>";
echo "<td align=center> $data['site_inter']</td>";
echo "<td align=center> $data['pi_evitables']</td>";
echo "<td align=center> $data['pi_vaines']</td>";
echo "<td align=center> $data['commentaires_anomalie']</td>";
echo "<td align=center> $data['initiales_agent']</td>";
echo "<td align=center> $data['site_agent']</td>";
echo "<td align=center> $data['service_agent']</td>";
echo "<td align=center> $data['ref_client']</td>";
echo "</tr>";
}
</table>
</tr>
mais maintenat avec les changements pour le echo, j'ai $data['site_inter'] qui s'affiche dans les colonnes
Marsh Posté le 27-04-2005 à 09:50:51
Fait
Code :
|
Marsh Posté le 27-04-2005 à 09:51:05
Où sont tes balises <?php ?> ?
Là tu essaies d'inclure des instructions de type While & echo dans de l'HTML, donc ça ne marche pas, si je ne m'abuse... ?
Ok pour "cesarr89". . Je voulais dire lisible au niveau de la ligne du echo. Si tu places toutes tes balises html à la suite dans le echo, je pensais que ça allait devenir illisible.
Marsh Posté le 27-04-2005 à 09:52:46
c'est normal, c'est entre double quotes, il faut faire :
echo "<td align=center>".$data['site_inter']."</td>"; ou
echo "<td align=center>".'$data['site_inter']'."</td>";
essaye les deux, c'est un des deux.
au lieu de:
echo "<td align=center> $data['site_inter']</td>";
Marsh Posté le 27-04-2005 à 09:54:15
C'est clair, t'es sur que ce que tu as mis provoque juste ca comme erreur?
Il manque les balises PHP
Marsh Posté le 27-04-2005 à 09:58:47
voila juste la partie en question
<?php
mysql_select_db("pi-vaines" );
$query = "select * from pi";
$result = mysql_query($query);
while ($data = mysql_fetch_array($result))
{ echo "<tr>";
echo "<td align=center>".'$data['site_inter']'."</td>";
echo "<td align=center>".'$data['pi_evitables']'."</td>";
echo "<td align=center>".'$data['pi_vaines']'."</td>";
echo "<td align=center>".'$data['commentaires_anomalie']'."</td>";
echo "<td align=center>".'$data['initiales_agent']'."</td>";
echo "<td align=center>".'$data['site_agent']'."</td>";
echo "<td align=center>".'$data['service_agent']'."</td>";
echo "<td align=center>".'$data['ref_client']'."</td>";
echo "</tr>";
}
?>
Marsh Posté le 27-04-2005 à 10:13:14
Code :
|
Pourquoi as-tu encore rajouté des quotes avant et après $data ???
Marsh Posté le 27-04-2005 à 10:15:15
C'est une erreur de ma part, je lui ai dis que c'etais soit avec soit sans mais que je me rapellais plus, n'empeche qu'il aurait du tester et tout lire avant d'appliquer.
Marsh Posté le 27-04-2005 à 09:17:28
Je voudrais afficher les données de ma base dans les colonnes de mon tableau à 8 colonnes avec un boucle pour afficher toutes les lignes de ma base
Voila mon script
<?php
mysql_select_db("pi-vaines" );
$query = "select * from pi";
$result = mysql_query($query);
while ($data = mysql_fetch_array($result))
{<tr>
<td align=center> <?php echo $data['site_inter']; ?></td>
<td align=center> <?php echo $data['pi_evitables']; ?></td>
<td align=center> <?php echo $data['pi_vaines']; ?></td>
<td align=center> <?php echo $data['commentaires_anomalie']; ?></td>
<td align=center> <?php echo $data['initiales_agent']; ?></td>
<td align=center> <?php echo $data['site_agent']; ?></td>
<td align=center> <?php echo $data['service_agent']; ?></td>
<td align=center> <?php echo $data['ref_client']; ?></td>
</tr>
}
?>
Mais j'ai le premier </td> qui s'affiche en écriture sur ma page
et la première instruction echo $data['site_inter'] ne s'affiche pas, ca fait que toute les colonnes sont décalées vers la gauche et donc il me manque la dernière colone