[RESOLU] Afficher Tableau de X*Y avec foreach

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Afficher Tableau de X*Y avec foreach

Re: Afficher Tableau de X*Y avec foreach

par sax76 » 22 janv. 2015, 10:29

salut

oui j'ai trouvé ma connerie :(
<table border="0" > 
<tr> <p>LES LOGOS</p> </tr> 
<tr>
<?php
        $lines = file('id.radio');
        $tmp="null";
        $i=0;
        foreach ($lines as $line_num => $line) {  
                $i++;
                $monfichier = htmlspecialchars($line)."<br/>";
                list($nom, $logo)= explode('<@@>', $line);
                ?>
                <td>
                        <ul class="grid cs-style-3">
                                <li>
                                        <figure>
                                                <img src="<?php  echo "logo/".$logo ; ?>" width="250" height="250" border="0" alt="">
                                        </figure>
                                </li>
                        </ul>
                </td>                                  

                <?php 
                if(($i % 6) == 0){ echo "</tr>"; }
        } ?>
  </table>
merci a present tout marche

Re: Afficher Tableau de X*Y avec foreach

par sirakawa » 22 janv. 2015, 10:10

Il est un peu étonnant de voir des display appliqués à des éléments de tableaux, tout ça pour avoir un affichage Horizontal d'éléments d'une liste.
Et de voir un tableau sans <tr></tr> avec un simple <br>...
Il serait bien plus simple de mettre <tr> au début de chaque ligne, </tr> à la fin et de remplacer:
<ul>... mpar des <td> pour chaque image...
On peut faire la même chose avec des div

Re: Afficher Tableau de X*Y avec foreach

par sax76 » 21 janv. 2015, 23:43

bonsoir ,

ce css va me faire peter un cable :(

voici le code de base
<?php
$lines = file('id.radio');
$tmp="null";
$i=0;
foreach ($lines as $line_num => $line) {  
$i++;
    $monfichier = htmlspecialchars($line)."<br/>";
        list($nom, $logo)= explode('<@@>', $line);
        ?>
         <img src="<?php echo "logo/".$logo ; ?>" width="250" height="250" border="0" alt="">                                                
<?php 
if(($i % 6) == 0){ echo "<br />";
}
} ?>
la j'ai bien 6 images et la 7 ieme en dessous a la suite ................. ca , ca marche

des que je met l'habillage
ca va plus les images se retrouvent toutes a la suite
<table border="0" > 
<tr> <p>LES LOGOS</p> </tr> 

<?php
	$lines = file('id.radio');
	$tmp="null";
	$i=0;
	foreach ($lines as $line_num => $line) {  
		$i++;
		$monfichier = htmlspecialchars($line)."<br/>";
		list($nom, $logo)= explode('<@@>', $line);
 		?>
 		<td>
 			<ul class="grid cs-style-3">
				<li>
					<figure>
						<img src="<?php  echo "logo/".$logo ; ?>" width="250" height="250" border="0" alt="">
					</figure>
				</li>
			</ul>
                </td>                                  

		<?php 
		if(($i % 6) == 0){ echo "<br />"; }
	} ?>
  </table>


je sais pas quoi modifier dans le css pour que ca remarche
help !

Cdt

Re: Afficher Tableau de X*Y avec foreach

par sax76 » 20 janv. 2015, 22:31

<?php
$lines = file('fichier.imgg');
$tmp="null";
$i=0;
foreach ($lines as $line_num => $line) {  
$i++;
    $monfichier = htmlspecialchars($line)."<br/>";
        list($nom, $img)= explode('<@@>', $line);
        ?>
        <img src="<?php echo "logo/".$img ; ?>" width="80" height="80" border="0" alt="">
                                                 

<?php 
if(($i % 6) == 0){
echo "<br />";
}
} ?>

salut
alors ca fonctionne a merveille , sauf .................
si je met mon habillage css autour ben ca fonctionne plus
enfin j'ai bien les images mais j'ai plus le retour a la ligne apres 6 pochettes ....................................

modolu et css font pas bon menage ?
j'ai loupé un truc ? :( :(

pour infos j'ai ce module css autour des images
http://tympanus.net/Tutorials/CaptionHo ... ndex3.html

et des que je l'ajoute j'ai toutes les images a la suite :( pas de retour a la ligne apres la 6 ieme image

Re: Afficher Tableau de X*Y avec foreach

par tof73 » 20 janv. 2015, 20:55

<?php
$lines = file('fichier.imgg');
$tmp="null";
$i=0;
foreach ($lines as $line_num => $line) {  
$i++;
    $monfichier = htmlspecialchars($line)."<br/>";
        list($nom, $img)= explode('<@@>', $line);
        ?>
        <img src="<?php echo "logo/".$img ; ?>" width="80" height="80" border="0" alt="">
                                                 

<?php 
if(($i % 6) == 0){
echo "<br />";
}
} ?>

Re: Afficher Tableau de X*Y avec foreach

par sax76 » 20 janv. 2015, 18:25

Merci d'etre passé :)

en fait oui j'ai pas vraiment mis de question :)

je voudrais generer donc automatiquement un tableau de X*Y

si j'ai 22 images je voudrais afficher 6 de large par ex sur 4 lignes sachant que la 4 aura que 4 images

si la base a 36 images ca reste sur 6 lignes mais on passe auto sur 6 lignes
etc...............

Re: Afficher Tableau de X*Y avec foreach

par @rthur » 20 janv. 2015, 17:58

Ça me semble clair, même si je n'ai pas vu de question dans ton post.
En tout cas c'est la bonne approche.

Je te recommande l'utilisation de l'opérateur modulo pour savoir à quel moment insérer ton retour à la ligne.
Voici une très bonne explication en français : http://lamidudeveloppeur.fr/php/lutilis ... e-en-page/

Afficher Tableau de X*Y avec foreach

par sax76 » 20 janv. 2015, 17:13

bonjour à tous ,

je bloque sur un affichage de tableau

voici mon code
<?php
$lines = file('fichier.imgg');
$tmp="null";
foreach ($lines as $line_num => $line) {   
    $monfichier = htmlspecialchars($line)."<br/>";
 	list($nom, $img)= explode('<@@>', $line);
	?>
	<img src="<?php echo "logo/".$img ; ?>" width="80" height="80" border="0" alt="">
						 

<?php } ?>
le fichier "fichier.imgg" contient plusieurs lignes sous cette forme :
photo1<@@>1.jpg
photo2<@@>2.jpg
photo3<@@>3.jpg
photo4<@@>5.jpg
...........
photo15<@@>15.jpg
le soucis c'est que le code actuel affiche les images les une a coté des autres

si par ex mon fichier a 15 liens
je voudrais afficher 5 images sur 3 lignes
ma largeur fixe serait de 5 images par contre le nombre de ligne va changer en fonction des lignes
je vais ajouter une fonction qui va compter le nbr de lignes du fichier et ca sera le nbr d'images a afficher

j'espere etre clair :)

cdt Pascal