mise en forme PHP

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

14 déc. 2005, 12:53

Apparemment $i reste à 0.
Donc fais des vérifications :
echo $i à l'intérieur de la boucle for et avant ton test if
S'il reste à zéro, interroge toi sur la longueur du tableau $data['heure'] (en pratique fais afficher le count($data['heure'] avant la boucle for)

Eléphant du PHP | 90 Messages

14 déc. 2005, 13:54

ca s'approche....

<style> 
            .maclass1 {background-color: #FFF000;} 
            .maclass2 {background-color: #000fff;}
</style> 
 
<?php

			mysql_connect('localhost','root','');
			mysql_select_db('v3_essai');
	
			$requete='SELECT heure,type,prix FROM ag_fev1 ORDER BY ID';
	
	$var = mysql_query($requete) or die;
	while ($data=mysql_fetch_assoc($var))
	{
	?>

  

<table width="530" border="0" cellpadding="0" cellspacing="0">
<tr>
<?php echo count($data['heure']);
        for ($i=0; $i <= +1; $i++)
        { 
            if ($i % 2) 
			{
                echo '<tr><td width="90" height="40" valign="top" class="maclass1">' . $i . ' - ' . $data['heure'] . '</td>';
				echo '<td width="350" valign="top" class="maclass1">' . $i . ' - ' . $data['type'] . '</td>';
				echo '<td width="90" valign="top" class="maclass1">' . $i . ' - ' . $data['prix'] . '</td></tr>';
				
            } 
            else 
            { 
                echo '<tr><td width="90" height="40" valign="top" class="maclass2">' . $i . ' - ' . $data['heure'] . '</td>';
				echo '<td width="350" valign="top" class="maclass2">' . $i . ' - ' . $data['type'] . '</td>';
				echo '<td width="90" valign="top" class="maclass2">' . $i . ' - ' . $data['prix'] . '</td></tr>';
            } 
        } 
        
		?>
		
</tr>
</table>

<?
		}
		
		mysql_close();
		
	?> 
qui donne : http://sceno.fr/v3/index.php?page=ag_fev06

c'est nickel, juste un problème, chaque événement est inscrit en doublon... j'avance, je recule ou je stagne à votre avis ??!

Mammouth du PHP | 19672 Messages

14 déc. 2005, 14:00

Un détail m'intrigue:
//...
for ($i=0; $i <= +1; $i++)
//...
C'est quoi le +1 ??
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 90 Messages

14 déc. 2005, 14:23

chais pas, je fais plein de tentatives, j'ai remarqué qu'en mettant ca, ca se rapprochait plus de ce que je voulais au final ! :-"

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

14 déc. 2005, 14:29

Attention, Zorro arrive :
tu dois abondonner ton for parcequ'il est inutile puisque tu as déjà le while indiponsable pour pomper toutes les lignes résultats de la requête.

il te suffit $i comptant les lignes dans le while et d'un saut par 2 pour appliquer les 2 styles alternatifs.

En suite, la table HTML doit être ouverte avant la boucle et fermée après.

Correction:
<style> 
            .maclass1 {background-color: #FFF000;} 
            .maclass2 {background-color: #000fff;} 
</style> 

<table width="530" border="0" cellpadding="0" cellspacing="0">
<?php 
//Début de la table HTML

     //Ouvrir la base de données et exécuter SQL
     mysql_connect('localhost','root',''); 
     mysql_select_db('v3_essai'); 
     $requete='SELECT heure,type,prix FROM ag_fev1 ORDER BY ID'; 
     $var = mysql_query($requete) or die; 
    
     //compteur de lignes initialisé
    $i = 0;
    
    //Parcourir toutes les lignes du résultat de la requête
    while ($data=mysql_fetch_assoc($var)) 
    { 
        //Appliquer les styles alternatifs selon un pas de 2 lignes
        if ($i % 2)  // veut dire $i est un multiple de 2
            { 
                //Appliquer le style maclass1
                echo '<tr><td width="90" height="40" valign="top" class="maclass1">' . $i . ' - ' . $data['heure'] . '</td>'; 
                echo '<td width="350" valign="top" class="maclass1">' . $i . ' - ' . $data['type'] . '</td>'; 
                echo '<td width="90" valign="top" class="maclass1">' . $i . ' - ' . $data['prix'] . '</td></tr>'; 
                 
            } 
            else 
            { 
                 //Appliquer le style maclass2
                 echo '<tr><td width="90" height="40" valign="top" class="maclass2">' . $i . ' - ' . $data['heure'] . '</td>'; 
                echo '<td width="350" valign="top" class="maclass2">' . $i . ' - ' . $data['type'] . '</td>'; 
                echo '<td width="90" valign="top" class="maclass2">' . $i . ' - ' . $data['prix'] . '</td></tr>'; 
            } 
    
   //Compter une ligne imprimée
   $i++;
         
   } //fin du while
    
    //Fermer la base de données
    mysql_close(); 

//Fin de la table
?> 
</table>	

Modifié en dernier par sadeq le 14 déc. 2005, 14:39, modifié 1 fois.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 90 Messages

14 déc. 2005, 14:38

ca parait tellement logique d'un coup la :agenouille:

merci beaucoup sadek! :pouce: