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 :

Limiter une requête et revenir à la ligne dans un tableau [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 39
    Par défaut Limiter une requête et revenir à la ligne dans un tableau
    Bonjour, j'essaie actuellement de faire ceci (en image) :

    (voir fichier en pièce jointe ou ici)

    Les chiffres représentent les entrées de ma table.
    J'aimerais mettre en forme ces entrées dans un tableau, de telle sorte que, après chaque 3e entrée, le tableau change de colonne.
    Il peut y avoir un nombre illimité d'entrée dans ma table mais j'aimerais qu'à chaque fois donc, il n'y ai que 3 entrées par colonne et que quand il y a 3 entrées dans la colonne, le tableau change de colonne.

    J'espère avoir été clair. Comment puis-je faire ceci ?

    Merci d'avance pour votre aide.

    A+
    Images attachées Images attachées  

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 36
    Par défaut
    Salut,

    Le truc, c'est que en html tu remplie tes tableaux d'abord par les lignes, alors que toi tu veux le remplir par commande. Il faut donc trouver un subterfuge . Comme tu ne veux pas qu'il y ai plus de 3 lignes, toutes tes lignes auront le format "chiffre precedent sur la ligne + 3".

    Je me suis amusé a faire un petit code qui représente ton dessin:

    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
    <?php
    $a = 3;
    echo "<table>";
    for ($i=0; $i<3;$i++)
    	{
    	echo "<tr>";
    	for ($j=0; $j<6;$j++)
    		{
    		$add = ($a*$j)+$i;
    		echo "<td>".$add."</td>";
    		}
    	echo "</tr>";
    	}
    echo "</table>";
    ?>
    J'espere que ca pourras t'aider

  3. #3
    Membre très actif
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations forums :
    Inscription : Septembre 2008
    Messages : 168
    Par défaut
    C'est bon ce code et si le nombre limite de colonne est $nbre_limit, tu peux modifier le code de max235 ainsi:
    <?php
    $a = 3;
    $nbre_limit=10;//Par exemple 10
    echo "<table>";
    for ($i=0; $i<3;$i++)
    {
    echo "<tr>";
    for ($j=0; $j<$nbre_limit;$j++)
    {
    $add = ($a*$j)+$i;
    echo "<td>".$add."</td>";
    }
    echo "</tr>";
    }
    echo "</table>";
    ?>

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 39
    Par défaut
    Merci pour ton aide, mais à vrai dire, j'ai beau réfléchir, je ne trouve pas comment adapter ce script avec mon objectif.

  5. #5
    Membre très actif
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations forums :
    Inscription : Septembre 2008
    Messages : 168
    Par défaut
    Ton objectif?? ? peux tu essayer de t'éclaircir?

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 37
    Par défaut
    Ben ton raisonnement est juste sauf que tu as fait une petite erreure, en html on remplit d'abord les lignes TR et ensuite les colonnes...


    Bon du coup faut transformer ton tableau initiale pour faire une sorte de tableau a 3 lignes uniquement
    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
     
    //Tableau initial
    $aff = array('1', '2', '3', '4', '5', '6', '7', '8', '9', '10');
     
     
    $nbrLigne = 3; //Nombre de lignes que tu veux
     
     
    //Remplissage du nouveau tableau qui a donc $nbrLigne en fait on cree un tableau a double entree tab[ligne][colonne]
    $tab =  array();
    $first = true;
    for ($i = 0; $i < count($aff); $i++){
    	//echo $i.'   '.fmod($i, $nbrCol).'</br>';
    	//echo fmod($i, $nbrCol);
    	$j = fmod($i, $nbrLigne);
    	if (!$j){
    		if ($first){
    			$first = false;
    		}
    		else {
    			$tab[] = $col;
    			$copy = true;
    		}
    		$col = array();
    	}
    	$col[$j] = $aff[$i];
    	$copy = false;
    }
    if (!$copy) $tab[] = $col;
     
    //Affichage
    echo '<table>';
    for ($i = 0; $i < $nbrLigne; $i++)
    {
    	echo '<tr>';
    	for ($j = 0; $j < count($tab); $j++){
    	//echo $i.'   '.fmod($i, $nbrCol).'</br>';
    		echo '<td>'.$tab[$j][$i].'</td>';
    	}
     
     
    	echo '</tr>';
    }
    echo '</table>';
    Voila rapidement sur le bord du bureau...

    Oups rapidement, apres il suffit de charge$aff avec ce que tu veux ;-)

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 36
    Par défaut
    Si tu veux afficher autre chose que les numeros, tu fais un tableau classé avec les données que tu veux afficher dans le tableau. Ensuite il suffit de les afficher avec un $ton_tableau[$add].


    PS: oui j'ai fais une petite erreur que je vais modifier: les lignes avant les colonnes.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 71
    Par défaut
    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
     
    $nbLignes = 3;
    $elements=array(1,2,3,4,5,6,7,8,9,10,11,26,15,45);// pour l'exemple
    $nombreElements=count($elements);
    $nombreMaxElementParLigne=ceil($nombreElements/$nbLignes);
     
    echo "<table>";
    for ($i=0; $i<$nbLignes;$i++)
    	{
    	echo "<tr>";
    	for ($j=0; $j<$nombreMaxElementParLigne;$j++){
    			$index=($nbLignes*$j)+$i;
    		echo "<td>".(isset($elements[$index])?$elements[$index]:'')."</td>";
    	}
    	echo "</tr>";
    }
    echo "</table>";
    j'ai juste nommer tes variables^^

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 36
    Par défaut
    Merci, j'ai la facheuse tendance à donner des noms !$%#&@ a mes variables!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Oracle] Afficher les résultats d'une requète récuperé par un $post dans un tableau
    Par roswina dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 20/05/2015, 12h24
  2. Réponses: 1
    Dernier message: 14/06/2010, 11h02
  3. une requête qui selectionne la ligne max
    Par kuhnden dans le forum Access
    Réponses: 3
    Dernier message: 01/11/2005, 18h39
  4. une requête imbriquée est-elle autorisée dans un INSERT ???
    Par Ekimasu dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/08/2005, 09h21
  5. probleme bizarre de hauteur auto d'une ligne dans un tableau
    Par zax-tfh dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 17/01/2005, 23h34

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