Affichage

Eléphant du PHP | 65 Messages

11 mai 2006, 14:05

Bonjour !

Pourriez vous m'aider sur un chtit problème ?

J'ai donc une requete SQl qui fonctionne bien mais lors de l'affichage des résultats, certaines lignes sont plus grandes :

Image

Voilà dites moi s'il vous faut le code ou autre afin d'eclaircir ce mystère :shock:

Apparement ce bug apparait clairement sur Mozilla, un peu sur IE mais pas sur Opera :(

Merci d'avance

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

11 mai 2006, 14:21

Si c'est un bug d'affichage ça n'a pas grand chose à voir avec le SQL ou les bases de données...

C'est a priori du HTML et de la mise en page
D'autant plus que tu as toi-même vu que c'était suivant le navigateur

Je déplace donc ;)

Et effectivement un peu de code ou l'url de la page pour voir le source généré serait pas du luxe je pense

Eléphant du PHP | 65 Messages

11 mai 2006, 14:52

<p align="center">
&nbsp;</p>

<div align="center">
  <center>
  <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#98F27D" width="80%" id="AutoNumber1" bgcolor="#006600">
    <tr>
      <td width="100%" colspan="2">
      <p align="center"><b><font color="#FFFFFF"><u>Halblimitierte Karten</u></font></b></td>
    </tr>
  </table>
  </center>
</div>

<?php 
// on se connecte à MySQL 
$db = mysql_connect('**', '**', '**'); 

// on sélectionne la base 
mysql_select_db('Cartes',$db); 
mysql_select_db('Versions',$db); 
mysql_select_db('Boosters',$db);

// on crée la requête SQL 
$sql = 'SELECT * FROM Cartes WHERE Limitation_US="2" ORDER BY Nom_FR ASC'; 

// on envoie la requête 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

// on fait une boucle qui va faire un tour pour chaque enregistrement 
while($data = mysql_fetch_assoc($req)) 
    { 

switch($data['Type_Carte_FR']){ 
case "Carte Monstre Normal": $couleur_rangee = "#BC9456"; break;
case "Carte Monstre à Effet": $couleur_rangee = "#AB582C"; break;
case "Carte Monstre à Effet Flip": $couleur_rangee = "#AB582C"; break;
case "Carte Monstre Rituel": $couleur_rangee = "#0D62BF"; break;
case "Carte Monstre de Rituel à Effet": $couleur_rangee = "#0D62BF"; break;
case "Carte Monstre de Fusion": $couleur_rangee = "#8B4D9D"; break;
case "Carte Monstre de Fusion à Effet": $couleur_rangee = "#8B4D9D"; break;
case "Carte Magie Normale": $couleur_rangee = "#0C8180"; break;
case "Carte Magie Continue": $couleur_rangee = "#0C8180"; break;
case "Carte Magie Jeu-Rapide": $couleur_rangee = "#0C8180"; break;
case "Carte Magie Rituelle": $couleur_rangee = "#0C8180"; break;
case "Carte Magie de Terrain": $couleur_rangee = "#0C8180"; break;
case "Carte Magie d'Equipement": $couleur_rangee = "#0C8180"; break;
case "Carte Piège Normal": $couleur_rangee = "#A24270"; break;
case "Carte Piège Continu": $couleur_rangee = "#A24270"; break;
case "Carte Piège Contre": $couleur_rangee = "#A24270"; break;
} 
    // on affiche les informations de l'enregistrement en cours 
    echo '<div align="center">
  <center>
  <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#98F27D" width="80%" id="AutoNumber1" bgcolor="#009933">
    <tr>
<td width="100%" align="center" bgcolor="'. $couleur_rangee .'">
<p align="left"><font face="Book Antiqua" size="2"><a href="http://blabla.../Banlist/DE/DetailCarteBanlistFR.php?Numero_Carte='.$data['Numero_Carte'].'">'.$data['Nom_FR'].'</a></font></td>
    </tr>
  </table>
  </center>
</div>'; 

    } 

// on ferme la connexion à mysql 
mysql_close(); 
?>
Voilà bon j'ai pas vu d'erreur mais qui sais

Merci

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

11 mai 2006, 15:01

Je pense qu'il faudrait plutôt le HTML généré

Si ta page est en ligne une URL serait encore plus pratique

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

11 mai 2006, 15:11

Tu construis un tableau, donc regarde dans le HTML généré, au niveau de la ligne où ça bug, s'il n'y a rien qui te semble bizarre déjà

Avatar du membre
ViPHP
ViPHP | 3008 Messages

11 mai 2006, 16:27

Nettoies déjà ton code.
<?php 
// on se connecte à MySQL 
$db = mysql_connect('**', '**', '**'); 

// on sélectionne la base 
mysql_select_db('Cartes',$db); 
mysql_select_db('Versions',$db); 
mysql_select_db('Boosters',$db); 

// on crée la requête SQL 
$sql = 'SELECT * FROM Cartes WHERE Limitation_US="2" ORDER BY Nom_FR ASC'; 

// on envoie la requête 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

// on fait une boucle qui va faire un tour pour chaque enregistrement 
while($data = mysql_fetch_assoc($req)) 
{
	switch($data['Type_Carte_FR'])
	{ 
		case "Carte Monstre Normal": $couleur_rangee = "#BC9456"; break; 
		case "Carte Monstre à Effet": $couleur_rangee = "#AB582C"; break; 
		case "Carte Monstre à Effet Flip": $couleur_rangee = "#AB582C"; break; 
		case "Carte Monstre Rituel": $couleur_rangee = "#0D62BF"; break; 
		case "Carte Monstre de Rituel à Effet": $couleur_rangee = "#0D62BF"; break; 
		case "Carte Monstre de Fusion": $couleur_rangee = "#8B4D9D"; break; 
		case "Carte Monstre de Fusion à Effet": $couleur_rangee = "#8B4D9D"; break; 
		case "Carte Magie Normale": $couleur_rangee = "#0C8180"; break; 
		case "Carte Magie Continue": $couleur_rangee = "#0C8180"; break; 
		case "Carte Magie Jeu-Rapide": $couleur_rangee = "#0C8180"; break; 
		case "Carte Magie Rituelle": $couleur_rangee = "#0C8180"; break; 
		case "Carte Magie de Terrain": $couleur_rangee = "#0C8180"; break; 
		case "Carte Magie d'Equipement": $couleur_rangee = "#0C8180"; break; 
		case "Carte Piège Normal": $couleur_rangee = "#A24270"; break; 
		case "Carte Piège Continu": $couleur_rangee = "#A24270"; break; 
		case "Carte Piège Contre": $couleur_rangee = "#A24270"; break; 
	}
?>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#98F27D" width="80%" id="AutoNumber1" bgcolor="#009933" align="center"> 
<tr> 
	<td align="center" bgcolor="<?php echo $couleur_rangee;?>" style="font-family: 'Book Antiqua'; font-size: 12px;"><a href="http://blabla.../Banlist/DE/DetailCarteBanlistFR.php?Numero_Carte=<?php echo $data['Numero_Carte'];?>"><?php echo $data['Nom_FR'];?></a></td> 
</tr> 
</table>
<?php
}
// on ferme la connexion à mysql 
mysql_close(); 
?>
Tu peux faire plus propre avec une feuille de styles externe.

Intégrer le style directement comme j'ai fait n'est pas conseille ;) A reprendre en externe. J'ai corrigé vite fait.