Retour à la ligne au changement de type

Mammouth du PHP | 620 Messages

02 sept. 2010, 13:41

Bonjour,
actuellement j'affaiche sur un de mes sites differents type de produits, le tous affiché les uns deriere les autres.

je voudrai pouvoir séparrer les types afin que se soit plus claire pour l'internaute.

Par exemple actuellement j'affiche de cette façon : maison, maison, panier, panier, panier, roue, roue, roue, plante, plante.....

et je voudrai afficher comme ça :
maison :
maison, maison,
panier
panier, panier, panier,
roue
roue, roue, roue,
plante
plante, plante.....

ma requete actuelle est la suivante :
<?php 	
	$requete = mysql_query("SELECT * from IWprojet ORDER BY type"); 
	//affichage des données:
    while( $result = mysql_fetch_array( $requete ) )
	    {
		
		echo '<div class="imggauche">'.$result['type'].'<br/>'.$result['ref'].'<br/>
		<img src="mini-projets.php?f='.$result['photoref'].'"  width="160" height="110""/><br/>
		<a href=\'modifprojet.php?id=' .$result['id'].'\'><img src="../images/document_edit.png" alt="modifier les textes" border="0"></a>
		<a href=\'suppprojet.php?id=' .$result['id'].'\'><img src="../images/delete.png" alt="Supprimer" border="0"></a></div>';
		}
?>

ViPHP
ViPHP | 5462 Messages

02 sept. 2010, 13:47

en gérant avec une petite variable dans la boucle y'a moyen

Mammouth du PHP | 620 Messages

02 sept. 2010, 13:57

j'avai essayé ça mais sa fonctionne pas.
		 $type = $result['type'];
		if ($type != $result['type'])
		{
		echo '<div class="clear"></div> <h3>'.$result['type'].'</h3>'; }

Eléphanteau du PHP | 13 Messages

02 sept. 2010, 13:59

Bonjour,
en gérant avec une petite variable dans la boucle y'a moyen
C'est aussi ce a quoi je pensé ;)
$requete = mysql_query("SELECT * from IWprojet ORDER BY type"); 

// Definition du variable intermediaire
$actualType = '';

// affichage des données:
while( $result = mysql_fetch_array( $requete ) ) {

	// Si la variable intermediaire est diferente du dernier type, on saute une ligne
	if( !empty($actualType) && $actualType != $result['type'] ) {
		$actualType = $result['type'];
		echo '<br/>';
	}

	echo '<div class="imggauche">'.$result['type'].'<br/>'.$result['ref'].'<br/>
                <img src="mini-projets.php?f='.$result['photoref'].'"  width="160" height="110""/><br/>
                <a href=\'modifprojet.php?id=' .$result['id'].'\'><img src="../images/document_edit.png" alt="modifier les textes" border="0"></a>
                <a href=\'suppprojet.php?id=' .$result['id'].'\'><img src="../images/delete.png" alt="Supprimer" border="0"></a></div>';
}
http://www.ilbee.net/
Créateur de solution Internet

Mammouth du PHP | 620 Messages

02 sept. 2010, 14:09

j'ai testé ta solution mais le retour a la ligne ne se fait pas.

Eléphanteau du PHP | 13 Messages

02 sept. 2010, 14:25

Euhhh oooops effectivement ca ne peux pas marcher, si la variable $actualType est vide, on ne fais rien :).

essaye ceci
if( !empty($actualType) && $actualType != $result['type'] ) {
     $actualType = $result['type'];
     echo '<br/>';
} elseif( empty($actualType) ) {
     $actualType = $result['type'];
}
http://www.ilbee.net/
Créateur de solution Internet

Mammouth du PHP | 620 Messages

02 sept. 2010, 14:34

ok super sa fonction. reste juste un petit soucis. Si je veu afficher le type juste avant les infos le tout premier type ne s'affiche pas.

en gros au lieu d'avoir :
maison :
maison, maison,
panier
panier, panier, panier,
roue
roue, roue, roue,
plante
plante, plante.....

j'ai :
maison, maison,
panier
panier, panier, panier,
roue
roue, roue, roue,
plante
plante, plante.....

Eléphanteau du PHP | 13 Messages

02 sept. 2010, 14:51

Tu peux essayer ceci alors
if( $actualType != $result['type'] ) {
     $actualType = $result['type'];
     echo '<b>'.$result['type'].'</b> : <br/>';
}
http://www.ilbee.net/
Créateur de solution Internet