Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/08/2006, 09h22   #1
Candidat au titre de Membre du Club
 
Inscription : novembre 2005
Messages : 78
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 78
Points : 12
Points : 12
Par défaut [SQL] Align left ?

salut à tous,

je viens de créer une pages de résutats qui retourne des enregistrements suite à une requête. En gros j'affiche toutes les entreprises concernées par ma requête ainsi que les employés appartenant à chaque entreprise. Mon probleme est le suivant: les coordonnées du premier employé s'affiche bien à gauche dans mon tableau tandis que les coordonnées des employés suivants se décale vers la droite dans la case et ceci de plus en plus à chaque employé.

J'ai bien un align left pour chaque case et je ne vois pas d'où cela peut venir.

Pour exemple voici le code qui correspond à une case de mon tableau:
Citation:
<tr bgcolor="#FFFFFF">
<td><div align="left"><strong>Email</strong></div></td>
<td><div align="left" class="Style2"><?php echo $row_rsContacts['CO_email']; ?></div></td>
</tr>
Est ce que cela peut venir de ma boucle "do" ou est-ce autre chose?

Merci d'avance.
benoitinfrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2006, 09h32   #2
Rédacteur
 
Avatar de Yoshio
 
Homme
Inscription : septembre 2005
Messages : 1 741
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : Belgique

Informations forums :
Inscription : septembre 2005
Messages : 1 741
Points : 1 497
Points : 1 497
Pourquoi mettre des <div> ?

soit tu met des div soit tu met des tableau mais les 2 en même temps ...
Yoshio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2006, 09h33   #3
Expert Confirmé
 
Avatar de yiannis
 
Inscription : septembre 2005
Messages : 1 499
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : septembre 2005
Messages : 1 499
Points : 2 563
Points : 2 563
Bonjour,

si tu utilises un tableau pourquoi utilises tu des div?
je ne pense pas que le probleme vienne de la, mais moi j'aurai fais comme cela:
Code :
1
2
3
4
5
 
<tr bgcolor="#FFFFFF">
<td align="left"><strong>Email</strong></td>
<td align="left" class="Style2"><?php echo $row_rsContacts['CO_email']; ?></td>
</tr>
au dujet de ta boucle "do" (pourquoi pas while?), on ne peut rien dire sans la voir

EDIT: GRILLED....
__________________
"Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN
yiannis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2006, 09h46   #4
Candidat au titre de Membre du Club
 
Inscription : novembre 2005
Messages : 78
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 78
Points : 12
Points : 12
oki,

je viens de modifier mon code comme yiannis me l'a dit mais ca ne change rien. Je ne connais pas trop la signification des balises car je créé mes page avec dreamweaver (et je debug à la main ).

mon code est le suivant:
Citation:


<?php
do {

$req_contacts
= "SELECT * FROM contacts WHERE CO_EN_raisonSociale LIKE '%" .
$row_rsGeneral
['EN_raisonSociale'] . "%'";

$rsContacts
= mysql_query($req_contacts, $conn_clients) or die(mysql_error());

$row_rsContacts
= mysql_fetch_assoc($rsContacts);

?>


<table width="95%"**border="0" cellspacing="0" cellpadding="0">

<tr bgcolor="#FF0000">
**<th colspan="2" scope="col"><h2 class="Style1"><?php echo $row_rsGeneral['EN_raisonSociale']; ?></h2></th>
</tr>

<tr bgcolor="#FFFFCC">
**<td width="45%" align="left"><strong>Adresse</strong></td>
**<td width="55%" align="left"><?php echo $row_rsGeneral['EN_adresse']; ?></td>
</tr>

</table>


<?php do {?>

<table width="95%"**border="0" cellspacing="0" cellpadding="0">

<tr bgcolor="#000000">
**<th colspan="2" scope="col"><span class="Style1">Contacts</span></th>
</tr>

<tr bgcolor="#FFFFFF">
**<td align="left"><strong>Civilité</strong></td>
**<td align="left" class="Style2"><?php echo $row_rsContacts['CO_civilite']; ?></td>
</tr>

<tr bgcolor="#CCCCCC">
**<td align="left"><strong>Nom</strong></td>
**<td align="left" class="Style2"><?php echo $row_rsContacts['CO_nom']; ?></td>
</tr>

</table>

<?php } while ($row_rsContacts = mysql_fetch_assoc($rsContacts)); ?>

</form>
<p>

<?php } while ($row_rsGeneral = mysql_fetch_assoc($rsGeneral)); ?>


</form>
</p>
benoitinfrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2006, 09h57   #5
Expert Confirmé
 
Avatar de yiannis
 
Inscription : septembre 2005
Messages : 1 499
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : septembre 2005
Messages : 1 499
Points : 2 563
Points : 2 563
pourquoi fas tu un do?
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 
<?php
 
$req_contacts = "SELECT * FROM contacts WHERE CO_EN_raisonSociale LIKE '%" .$row_rsGeneral['EN_raisonSociale'] . "%'";
 
$rsContacts = mysql_query($req_contacts, $conn_clients) or die(mysql_error());
?>
 
 
<table width="95%"**border="0" cellspacing="0" cellpadding="0">
<?php
while ($row_rsContacts = mysql_fetch_assoc($rsContacts)) {
?>
<tr bgcolor="#FF0000">
<th colspan="2" scope="col"><h2 class="Style1"><?php echo $row_rsGeneral['EN_raisonSociale']; ?></h2></th>
</tr>
 
<tr bgcolor="#FFFFCC">
**<td width="45%" align="left"><strong>Adresse</strong></td>
**<td width="55%" align="left"><?php echo $row_rsGeneral['EN_adresse']; ?></td>
</tr>
 
</table>
 
 
<?php do {?>
 
<table width="95%"**border="0" cellspacing="0" cellpadding="0">
 
<tr bgcolor="#000000">
**<th colspan="2" scope="col"><span class="Style1">Contacts</span></th>
</tr>
 
<tr bgcolor="#FFFFFF">
**<td align="left"><strong>Civilité</strong></td>
**<td align="left" class="Style2"><?php echo $row_rsContacts['CO_civilite']; ?></td>
</tr>
 
<tr bgcolor="#CCCCCC">
**<td align="left"><strong>Nom</strong></td>
**<td align="left" class="Style2"><?php echo $row_rsContacts['CO_nom']; ?></td>
</tr>
<?php
}
?>
</table>
 
</form>
<p>
__________________
"Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN
yiannis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2006, 10h10   #6
Candidat au titre de Membre du Club
 
Inscription : novembre 2005
Messages : 78
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 78
Points : 12
Points : 12
je fais un do car ma requete dois renvoyée plusieurs enregistrements et que je veux tous les afficher. ma boucle est donc:

DO....

WHILE....
benoitinfrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2006, 10h16   #7
Expert Confirmé
 
Avatar de yiannis
 
Inscription : septembre 2005
Messages : 1 499
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : septembre 2005
Messages : 1 499
Points : 2 563
Points : 2 563
non, un while suffit
essaies le code que j'ai reecrit au dessus
__________________
"Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN
yiannis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2006, 10h19   #8
Candidat au titre de Membre du Club
 
Inscription : novembre 2005
Messages : 78
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 78
Points : 12
Points : 12
désolé mais ca ne me renvoi plus que le premier enregsitrements trouvé. mais mon problème était juste un souci au niveau de l'alignement des coordonées des employés. A chaque employé supplémentaire ses coordonnées se décalent vers la droite alors que le code est toujours le meme dans ma boucle.
benoitinfrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2006, 11h24   #9
Candidat au titre de Membre du Club
 
Inscription : novembre 2005
Messages : 78
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 78
Points : 12
Points : 12
je viens de trouver la solution. Le truc c'est que les cases du tableau s'adapte à la longueur de ce qu'elles contiennent. En gros plus votre chaine de caractère sera petite plus votre case se décalera à droite. pour résoudre le problème vous devez intégrer dans la balise <td> un "width" qui dimensionnera votre case de facon statique.

Cela donnera un truc du genre:
Citation:
<tr bgcolor="#FFFFCC">
<td width="40%" align="left"><strong>Adresse</strong></td>
<td width="60%" align="left"><?php echo $row_rsGeneral['EN_adresse']; ?></td>
</tr>
merci pour mon aide et celle des autres biensur

bye
benoitinfrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2006, 11h24   #10
Rédacteur
 
Avatar de Yoshio
 
Homme
Inscription : septembre 2005
Messages : 1 741
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : Belgique

Informations forums :
Inscription : septembre 2005
Messages : 1 741
Points : 1 497
Points : 1 497
forcément si tu copie bêtement le code HTML ...

exemple :

Code :
1
2
3
4
5
6
7
8
 
$query = mysql_query('SELECT * FROM contacts WHERE CO_EN_raisonSociale LIKE "%'.$row_rsGeneral['EN_raisonSociale'].'%"');
while ($data = mysql_fetch_array($query)) {
      echo '<tr bgcolor="#FFFFFF">';
      echo '<td align="left"><strong>Email</strong></td>
      echo '<td align="left" class="Style2">'.$data['CO_email'].'</td>';
      echo '</tr>';
}
Ca va te renvoyer tout naturellement tous les champ de ta db qui correspond à la requete sql.

le <b>SELECT *</b> est à déconseiller. Tu ne retourne qu'un champ donc inutile de le prendre tous ...


EDIT : Apparament tu as résolu ton prob. Enfin pas grave tu devrais éviter les do...while pour ce gerne de chose. Ca sert pas a ca un do ... while
Yoshio est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h47.


 
 
 
 
Partenaires

Hébergement Web