IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

tableau sur 4 colonnes


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Inscrit en
    Août 2004
    Messages
    499
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 499
    Par défaut tableau sur 4 colonnes
    Bonjour,
    j'ai un tableau html qui doit avoir 4 colonnes, Mais mon tableau php est vrariable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    $nb_colonnes=4;
    foreach ($result as $ligne)
    {
    		for($j=1;$j<=$nb_colonnes;$j=$j+1)
    		{?>
    		<td>
    			<a href="http://www.mmmm.com/images/">
    				<img src="img/ttt.png" alt="' />
    				 :: date de mise en ligne:<?php echo date('d/m/Y à H\hi', $timePhoto);?>
    			</a><br />
    			<label for="'.$nom.'">Voter</label><br />
    			<input type="radio" name="votePhotos[]" id="<?php echo $id;?>" value="<?php echo $nom;?>" />
    		</td><?php
    		}
    }?>
    Merci

  2. #2
    Membre chevronné Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Par défaut
    derien

    tu peut être plus précis sur ton problème?

  3. #3
    Membre éclairé
    Inscrit en
    Août 2004
    Messages
    499
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 499
    Par défaut
    Le code complet de mon tableau, il devrai s'afficher sur 4 colonnes et 3 lignes, mais le tout s'affiche sur une ligne, je ne comprend pas pourquoi ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <table summary="tableau de photo hebdomadaire sur lesquels vous devez votez grace au bouton radio" border="1" style="width:400px;"><?php 
    $nb_colonnes=4;
    $nb_lignes=3;?>
    <tr><td><form action="<?php echo $_SERVER['PHP_SELF'];?>" method="GET"></td></tr><?php
    	for($j=1;$j<=$nb_colonnes;$j=$j+1)
    	{
    		echo '<tr>';
    		for($j=1;$j<=$nb_colonnes;$j=$j+1)
    		{
    			foreach ($result as $ligne)
    			{
    				$extension=$ligne['extension'];
    				$timePhoto=$ligne['date_photo'];
    				$id=$ligne['id_photo'];
    				$nom=$ligne['nom'];
    				$vue=$ligne['vues'];
    				if($timePhoto > $moinsUneSemaine)
    				{?>
    					<td>
    						<a href="http://www.confidentielles.com/images/photos/<?php echo $ligne['user_id'];?>-
    						<?php echo $timePhoto.'.'.$extension;?>">
    							<img src="<?php echo $nom.'.'.$extension;?>'" alt="<?php echo $nom;?> heigth="100" width="100" />
    							 <br />date de mise en ligne:<?php echo date('d/m/Y à H\hi', $timePhoto);?>
    						</a><br />
    						<label for="'.$nom.'">Voter</label><br />
    						<input type="radio" name="votePhotos[]" id="<?php echo $id;?>" value="<?php echo $nom;?>" />
    					</td><?php
    				}?>
    				<?php
    			}
    		}
    		echo '</tr>';
    	}?>
    </tr>
    <tr><td><input style="float:right;" type="submit" value="Votez" /></td></tr>
    <tr><td></form></td></tr>
    </table>

  4. #4
    Membre éclairé
    Inscrit en
    Août 2004
    Messages
    499
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 499
    Par défaut
    Le code encore plus complet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    $moinsUneSemaine=mktime(0, 0, 0, date("m"), date("d")-7 , date("Y")); //timestamp date - 7 joursj
    ////////////////////////////////////////////////////////////
    // trie par ordre descendant les vues de 0 à 11 // limit 1, 11
    $sql="SELECT * FROM photos WHERE date_photo>=$moinsUneSemaine order by vues asc limit 12";
    //$sql="SELECT * FROM photos WHERE vues BETWEEN CURRENT_DATE- 6 AND CURRENT_DATE";
    $result= $connection->select($sql);?>
    <div id="conteneur" style="width:400px;border:3px solid #E5E8E9; padding:20px;">
    <p>Si vous n’arrivez pas à lire ce mail, <a href="http://www.confidentielles.com/images/photos/">cliquez ici</a></p>
    <h3>Les confiportaits de la semaine</h3>
    <p>Votez pour le portrait de la semaine. Le portrait gagnant gagne 200 confies !!!</p>
    <p>Cochez la case de votre portrait préféré et cliquez sur « votez »</p>
    <table summary="tableau de photo hebdomadaire sur lesquels vous devez votez grace au bouton radio" border="1" style="width:400px;"><?php 
    $nb_colonnes=4;
    $nb_lignes=2;?>
    <tr><td><form action="<?php echo $_SERVER['PHP_SELF'];?>" method="GET"></td></tr><?php
    	for($j=1;$j<=$nb_colonnes;$j=$j+1)
    	{
    		echo '<tr>';
    		for($j=1;$j<=$nb_colonnes;$j=$j+1)
    		{
    			foreach ($result as $ligne)
    			{
    				$extension=$ligne['extension'];
    				$timePhoto=$ligne['date_photo'];
    				$id=$ligne['id_photo'];
    				$nom=$ligne['nom'];
    				$vue=$ligne['vues'];
    				//if($timePhoto > $moinsUneSemaine)
    				//{?>
    					<td>
    						<a href="http://www.confidentielles.com/images/photos/<?php echo $ligne['user_id'];?>-
    						<?php echo $timePhoto.'.'.$extension;?>">
    							<img src="<?php echo $nom.'.'.$extension;?>'" alt="<?php echo $nom;?> heigth="100" width="100" />
    							 <br />date de mise en ligne:<?php echo date('d/m/Y à H\hi', $timePhoto);?>
    						</a><br />
    						<label for="'.$nom.'">Voter</label><br />
    						<input type="radio" name="votePhotos[]" id="<?php echo $id;?>" value="<?php echo $nom;?>" />
    					</td><?php
    				//}?>
    				<?php
    			}
    		}
    		echo '</tr>';
    	}?>
    <tr><td><input style="float:right;" type="submit" value="Votez" /></td></tr>
    <tr><td></form></td></tr>
    </table>

  5. #5
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut
    Bonjour

    Tu avais placé ta boucle deux fois dans le code, enlève en une :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for($j=1;$j<=$nb_colonnes;$j=$j+1)
    Voici le code que j'ai testé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <table summary="tableau de photo hebdomadaire sur lesquels vous devez votez grace au bouton radio" border="1" style="width:400px;">
    <?php 
    $nb_colonnes=4;
    $nb_lignes=3;?>
     
    <tr>
    <td>
     
    <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="GET">
     
    </td>
     
    </tr>
     
    <?php
    	for($j=1;$j<=$nb_colonnes;$j++)
    	{
    		echo '<tr>';
    // A ENLEVER	for($j=1;$j<=$nb_colonnes;$j=$j+1)
    //		{
     
    			for($zz=1; $zz<4; $zz++) {
    ?>
    	<td>
    <?php echo $zz; ?>
    	</td>
     
    				<?php
    			}
    //		}
    		echo '</tr>';
    	}?>
    </tr>
    <tr><td><input style="float:right;" type="submit" value="Votez" /></td></tr>
    <tr><td></form></td></tr>
    </table>
    PS : pense à indenter un peu ton code autrement on y vois rien.

    Naturellement j'ai modifié un peu le code car je ne pouvais pas afficher tes données que tu cherchait dans la bdd, je les ai modifié par une boucle for... A toi de reprendre, mais il suffit juste d'enlever la seconde boucle for que tu as placé...

  6. #6
    Membre éclairé
    Inscrit en
    Août 2004
    Messages
    499
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 499
    Par défaut
    SA ne fonctionne pas, mes variable viennent d'une base.
    Mon code à changé j'ai réussi à afficher une seul colonne ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <table summary="tableau de photo hebdomadaire sur lesquels vous devez votez grace au bouton radio" border="1" style="width:400px;"><?php 
    ?>
    <tr><td><form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST"></td></tr><?php
    $compteur=1;
    for($i=0; $i<6; $i++)
    {
    	if($compteur == 6)
    	{		
    		foreach ($result as $ligne)
    		{
    			echo '<tr>';
    			$extension=$ligne['extension'];
    			$timePhoto=$ligne['date_photo'];
    			$id=$ligne['id_photo'];
    			$nom=$ligne['nom'];
    			$vue=$ligne['vues'];?>
    			<td>
    				<a href="http://www.confidentielles.com/images/photos/<?php echo $ligne['user_id'];?>-
    				<?php echo $timePhoto.'.'.$extension;?>">
    					<img src="<?php echo $nom.'.'.$extension;?>'" alt="<?php echo $nom;?> heigth="100" width="100" />
    					 <br />date de mise en ligne:<?php echo date('d/m/Y à H\hi', $timePhoto);?>
    				</a><br />
    				<label for="'.$nom.'">Voter</label><br />
    				<input type="radio" name="votePhotos[]" id="<?php echo $id;?>" value="<?php echo $nom;?>" />
    			</td><?php
    			echo '</tr>';
    		}
    	}
    	else
    		$compteur++;
    	}?>
    <tr><td><input style="float:right;" type="submit" value="Votez" /></td></tr>
    <tr><td></form></td></tr>
    </table>

  7. #7
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut
    Tu n'as pas suivi mon exemple

    Dans ton nouveau code tu places les <tr> dans le foreach, or le contenu du foreach est exécuté à chaque fois que php trouve une donnée dans le tableau, donc places tes <tr> avant le foreach.

    L'exemple que je t'ai donné plus fonctionne bien chez moi, inspires t'en.

  8. #8
    Membre éclairé
    Inscrit en
    Août 2004
    Messages
    499
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 499
    Par défaut
    ce que tu ne comprend pas c'est que je récupère des champs d'une table.
    donc sa ne fonctionne pas ce que tu m'a expliqué j'avais déjà essayer avec de poster.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <table summary="tableau de photo hebdomadaire sur lesquels vous devez votez grace au bouton radio" border="1" style="width:400px;">
    <?php
    $nb_colonnes=4;
    $nb_lignes=3;
    for($j=1;$j<=$nb_colonnes;$j++)
    {
    	for($zz=1; $zz<4; $zz++)
    	{
    		foreach ($result as $ligne)
    		{?>
    			<tr>
    				<td>
    					<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="GET"><?php
    						$id_photo=$ligne['id_photo'];
    						$nom=$ligne['nom'];
    						$extensionPhoto=$ligne['extension'];
    						$user_id=$ligne['user_id'];
    						$timePhoto=$ligne['date_photo'];
    						$vue=$ligne['vues'];?>
     
    						<?php echo $id_photo.'<br>'.$nom.$zz;?>
     
    						<a href="http://www.confidentielles.com/images/photos/<?php echo $ligne['user_id'];?>-
    						<?php echo $timePhoto.'.'.$extension;?>">
    							<img src="<?php echo $nom.'.'.$extension;?>'" alt="<?php echo $nom;?>" heigth="100" width="100" />
    							 <br />date de mise en ligne:<?php echo date('d/m/Y à H\hi', $timePhoto);?>
    						</a>
     
    						<label for="<?php echo $nom;?>">Voter</label><br />
    						<input type="radio" name="votePhotos" id="<?php echo $nom;?>" value="<?php echo $nom;?>" />
    						<input type="hidden" name="id_photo" value="<?php echo $id_photo;?>" />
    						<input type="hidden" name="extensionPhoto" value="<?php echo $extensionPhoto;?>" />
    						<input type="hidden" name="user_id" value="<?php echo $user_id;?>" />		
    						<input type="submit" style="float:right;" value="Votez" />
    					</form>
    				</td>
    			</tr><?php
    		}
    	}
    }?>
     
    </table>
    Merci

  9. #9
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut
    J'avais bien compris que tu cherchais des données dans une table

    Mais j'avais en effet pas pu tester sur la récupération d'une base de données, et je pensais que mon essai était pertinent, mais non.

    Bon j'espère que cet essai est plus pertinent, c'est du bricolage je trouve, mais essaye et dis moi si ça te conviens, ensuite tu pourra toujours améliorer. Bien sur j'ai du modifier un peu le code pour pouvoir essayer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?php
     
    $tab = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
     
    ?>
    <table summary="tableau de photo hebdomadaire sur lesquels vous devez votez grace au bouton radio" border="1" style="width:400px;">
    <?php
     
    	echo '<tr>';
    $z = 1;
    $zz = 1;
    		foreach ($tab as $ligne)
    		{
     
    ?>
     
    				<td>
     
    <?php echo $ligne; ?>
     
    				</td>
    <?php
    			if ($z == 12) { break; }
    			if ($zz == 4) { $zz = 1; echo '</tr><tr>'; }
    $z++;
    $zz++;
     
    		}
     
    	echo '</tr>';
     
     
    ?>
     
    </table>

Discussions similaires

  1. [XIR2] Tableau sur deux colonnes
    Par raoudi57 dans le forum Webi
    Réponses: 8
    Dernier message: 03/09/2013, 14h11
  2. affichage d'un tableau sur 2 colonne
    Par kate59 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 22/09/2008, 22h35
  3. Réponses: 1
    Dernier message: 19/03/2008, 17h32
  4. [Tableaux] Afficher un tableau sur plusieurs colonnes
    Par sliderman dans le forum Langage
    Réponses: 5
    Dernier message: 04/01/2008, 15h46
  5. Forcer la scission d'un tableau sur deux colonnes
    Par JannyBoop dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 0
    Dernier message: 08/12/2007, 04h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo