Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1089 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  pb while dans tableau - Débutant

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pb while dans tableau - Débutant

n°1062221
machineths
Posté le 27-04-2005 à 09:17:28  profilanswer
 

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
 

mood
Publicité
Posté le 27-04-2005 à 09:17:28  profilanswer
 

n°1062231
GaSPaRD77
Posté le 27-04-2005 à 09:26:27  profilanswer
 

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
 
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


 
T'as pas l'impression de mettre du html directement dans le php ?
 

Citation :


while ($data = mysql_fetch_array($result))
{<tr>
<td align=center> <?php echo $data['site_inter']; ?></td>


 
Tu n'as pas fermé ta première balise php ...

n°1062236
Fiiies1
Jase From Outta Space
Posté le 27-04-2005 à 09:29:09  profilanswer
 

- Tu ouvres ta balise <table> où dans ton code ?
 
- Avant le while, écrit ça :
 

Code :
  1. echo "<table>";


 
- Après le while et avant le "?>", écrit ça :
 

Code :
  1. echo "</table>";


 
- Dans ton while, je trouverai plus clair de mettre cela :
 

Code :
  1. While ($data = mysql_fetch_array($result))
  2. {
  3.    echo "<tr>";
  4.    echo "<td align=center> $data['site_inter']</td>";
  5.    Ainsi de suite...
  6.    echo "</tr>";
  7. }


n°1062244
cesarr89
Posté le 27-04-2005 à 09:34:10  profilanswer
 

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?

n°1062252
machineths
Posté le 27-04-2005 à 09:37:14  profilanswer
 

oué c mieux merci

n°1062253
machineths
Posté le 27-04-2005 à 09:37:59  profilanswer
 

si le mysql_connect il est avant dans le code

n°1062254
Fiiies1
Jase From Outta Space
Posté le 27-04-2005 à 09:38:46  profilanswer
 

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 :
  1. <?php
  2. // Paramètre de connexion à la base de données
  3. $host="***";
  4. $database="***";
  5. $user="***";
  6. $pass="***";
  7. //on effectue la connexion
  8. @mysql_connect("$host","$user","$pass" );
  9. //Selection de la base de données qui porte le meme nom que votre login
  10. $GLOBALS ['select_base'] = @mysql_selectdb("$database" );
  11. ?>


 
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.

n°1062255
cesarr89
Posté le 27-04-2005 à 09:39:01  profilanswer
 

Ok, et c'est bon, ca fonctionne alors?

n°1062261
cesarr89
Posté le 27-04-2005 à 09:41:47  profilanswer
 

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.

n°1062265
machineths
Posté le 27-04-2005 à 09:46:22  profilanswer
 

<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>

mood
Publicité
Posté le 27-04-2005 à 09:46:22  profilanswer
 

n°1062270
machineths
Posté le 27-04-2005 à 09:49:07  profilanswer
 

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

n°1062271
GaSPaRD77
Posté le 27-04-2005 à 09:50:51  profilanswer
 

Fait
 

Code :
  1. echo "<td align=center>".$data['site_inter']."</td>";

n°1062272
Fiiies1
Jase From Outta Space
Posté le 27-04-2005 à 09:51:05  profilanswer
 

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.

n°1062275
cesarr89
Posté le 27-04-2005 à 09:52:46  profilanswer
 

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>";  

n°1062278
GaSPaRD77
Posté le 27-04-2005 à 09:53:41  profilanswer
 

J'avais pas vu qu'il avait pas mis les balises php :)

n°1062280
cesarr89
Posté le 27-04-2005 à 09:54:15  profilanswer
 

C'est clair, t'es sur que ce que tu as mis provoque juste ca comme erreur?
Il manque les balises PHP

n°1062284
machineths
Posté le 27-04-2005 à 09:58:47  profilanswer
 

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>";  
}
?>

n°1062285
cesarr89
Posté le 27-04-2005 à 10:01:02  profilanswer
 

C'est bon ca fonctionne ou pas?
La balise [C.O.D.E] stp

n°1062286
machineths
Posté le 27-04-2005 à 10:01:19  profilanswer
 

ca marche nikel

n°1062289
machineths
Posté le 27-04-2005 à 10:01:45  profilanswer
 

merci bien à tous !!!!!!!
kool :-)

n°1062294
cesarr89
Posté le 27-04-2005 à 10:04:14  profilanswer
 

Ok de rien.

n°1062303
GaSPaRD77
Posté le 27-04-2005 à 10:13:14  profilanswer
 

Code :
  1. echo "<td align=center>".'$data['site_inter']'."</td>";


 
Pourquoi as-tu encore rajouté des quotes avant et après $data ???


Message édité par GaSPaRD77 le 27-04-2005 à 10:13:26
n°1062305
cesarr89
Posté le 27-04-2005 à 10:15:15  profilanswer
 

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.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  pb while dans tableau - Débutant

 

Sujets relatifs
tableau 100% sa marche mais euuuuh lire pour comprendre le prob ...lien englobant un tableau
SWT / TableauLancer une macro après modification d'un tableau croisé?
existence valeur dans un tableau ?Quel language est le plus simple d'apprentissage pour un debutant ???
Je voudrais utilisé une boucle whilefonction qui renvoie un tableau de données
PHP Array_unshit Tableau associatifsupprimer les vides dans un tableau
Plus de sujets relatifs à : pb while dans tableau - Débutant


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR