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

PHP & Base de données Discussion :

Afficher les résultats sur 3 colones et 2 lignes


Sujet :

PHP & Base de données

  1. #1
    Meewix
    Invité(e)
    Par défaut Afficher les résultats sur 3 colones et 2 lignes
    Bonjour à tous,

    Je ne comprend pas comment faire pour afficher mes résultats sur 3 colonnes et 2 lignes avec une boucle WHILE.
    J'arrive bien à la faire en liste sur une ligne mais pas de cette manière...

    Voici mon code qui affiche ne ligne :
    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
    			require("./pass/config.inc.php");
     
    			// connexion à la base
    			$db = mysql_connect($HostName, $UserName, $UserPass) or die ('Erreur de connexion '.mysql_error());
     
    			// sélection de la base  
    			mysql_select_db($MysqlBdd,$db) or die ('Erreur de selection '.mysql_error());
     
    			// requête SQL qui récupère tous les enregistrements
    			$select = 'SELECT ID FROM annonces LIMIT 6';
    			$result = mysql_query($select,$db) or die ('Erreur : '.mysql_error() );
    			$total = mysql_num_rows($result);
     
    			if($total) {
    				// début du tableau
    					echo '
    					  <table width="100%">
    							<tr>
    						';
    						while($row = mysql_fetch_array($result))
    							{
    							echo'<td>'.$row['ID'].'</td>';
    							}
    					echo'
    							</tr>
    						</table>';
    					// fin du tableau.
    			}
    				else
    					echo 'PROBLEME';
     
    			// on libère le résultat
    			mysql_free_result($result);
    			?>
    Si vous avez une piste car là je ne trouve pas d'infos...

    Merci de votre aide

    Meewix

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 120
    Points : 124
    Points
    124
    Par défaut
    Bonsoir,

    vous pouvez faire quelquechose comme ceci :
    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
     
    // Nombres de colonnes max
    $NB_COLS = 3;
    $i = 0;
    echo "<table width='100%'>\n";
    while($row = mysql_fetch_array($result))
    {
    	if ($i == 0)
    	echo "<tr>\n";
     
            echo "<td>".$row['ID']."</td>\n";
     
    	if (++$i == $NB_COLS) {
    		echo "</tr>\n";
    		$i = 0;
    	}
    }
    echo "</tr>\n";
    echo "</table>";

  3. #3
    Meewix
    Invité(e)
    Par défaut
    Impec !

    Merci beaucoup pour ton aide

  4. #4
    Meewix
    Invité(e)
    Par défaut
    Pour Archive !

    Voici le code qui affiche des résultats sur une page de cette manière : 3 colonnes sur 2 lignes + une pagination
    A vous de modifier en conséquence votre code :
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    			<?php
    			require("./pass/config.inc.php");
     
    			// connexion à la base
    			$db = mysql_connect($HostName, $UserName, $UserPass) or die ('Erreur de connexion '.mysql_error());
     
    			// sélection de la base  
    			mysql_select_db($MysqlBdd,$db) or die ('Erreur de selection '.mysql_error());
     
    /********************************** DEBUT PAGINATION *************************************/
    			// on va afficher 6 résultats par page, vous pouvez modifier ce chiffre selon votre souhait
    			$userperpage = 6;
    			//Nombre indiquant le départ de la requete
    			$start = isset($_GET['start'])?$_GET['start']:0;
    			// Nom de la page
    			$page = basename(__FILE__);
    			// Compte les enregistrements
    			$select = 'SELECT count(*) as total FROM annonces';
    			// DEBUT > Protection des caractères spéciaux d'une commande SQL
    			mysql_real_escape_string($annonces);
    			// FIN > Protection des caractères spéciaux d'une commande SQL
    			$result = mysql_query($select,$db) or die ('Erreur : '. mysql_error());
    			$row = mysql_fetch_array($result);
    			$total2 = $row['total'];
    /********************************** FIN PAGINATION *************************************/
     
    			if($total2 > 0) {
    				// requête SQL qui récupère tous les enregistrements
    				$select = "SELECT * FROM annonces LIMIT  ".$start.",".$userperpage."";
    				$result = mysql_query($select,$db) or die ('Erreur : '.mysql_error() );
    				$total = mysql_num_rows($result);
    				// Nombres de colonnes max
    				$NB_COLS = 3;
    				$i = 0;
    				echo "<table width='100%' border='1'>\n";
    				while($row = mysql_fetch_array($result))
    				{
    					if ($i == 0)
    					echo "<tr>\n";
    				 	echo "<td>".$row['id_annonce']."</td>\n";
    					if (++$i == $NB_COLS) {
    						echo "</tr>\n";
    						$i = 0;
    					}
    				}
    				echo "</table>";
    			}
    				else
    					echo "PROBLEME";
     
    /********************************** DEBUT PAGINATION N° *************************************/
    			// Génération des liens pour l'affichage des pages
    			echo '<br /><div align="center">Page : ';
    			$nb_pages = ceil( $total2 / $userperpage );
    			for($i = 0 ; $i < $nb_pages ; $i++)
    			{
    				if ($start != $i * $userperpage) {
    					echo '<a href="?start='. ($i * $userperpage) .'">'. ($i + 1) .'</a>&nbsp;';
    				} else {
    					echo ($i + 1) .'&nbsp;';
    				}
    			}
    			echo'</div>';
    /********************************** FIN PAGINATION N° *************************************/
     
    			// on libère le résultat
    			mysql_free_result($result);
    			?>
    Modifier le " $userperpage " pour afficher le nb de résultats que vous souhaitez !

    Voilou
    Dernière modification par Meewix ; 30/10/2006 à 23h37.

Discussions similaires

  1. Afficher les résultats sur une seule ligne
    Par arnovodao dans le forum Langage SQL
    Réponses: 1
    Dernier message: 18/07/2013, 14h49
  2. Réponses: 4
    Dernier message: 09/11/2009, 15h56
  3. [MySQL] Afficher les résultats de requête sur pages 1,2,3
    Par karenv5 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/01/2008, 17h31
  4. [SQL] Afficher les résultats d'une requête sur plusieurs pages
    Par mealtone dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/09/2006, 13h20
  5. Afficher un résultat sur deux critères du même champ
    Par julien6660 dans le forum Access
    Réponses: 2
    Dernier message: 20/04/2006, 11h30

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