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

SQL Procédural MySQL Discussion :

probleme mysql avec les tableaux [Débutant(e)]


Sujet :

SQL Procédural MySQL

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 8
    Points : 13
    Points
    13
    Par défaut probleme mysql avec les tableaux
    Bonjour à tous,

    Excusez moi, j’ai un problème d’affichage de tableau,
    Je cherche à afficher dans un tableau de 3 lignes et 4 colonnes, les mois et les n° pour chaque année comme ceci :

    Janvier Février Mars Avril
    N°1 N°3 N°5 N°7
    N°2 N°4 N°6 N°8

    Mai Juin Juillet Août
    N°9 N°11 N°13 N°15
    N°10 N°12 N°14 N°16

    ----

    Seulement voilà un petit problème: Les informations se placent toutes sur une même ligne, déformant ainsi le design de la page.

    Je voudrai savoir comment faire pour les afficher correctement.

    le 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
    <?php
     
    	if (isset($_GET['annee'])){
    	$an=$_GET['annee'];
    	echo "<center> ANNEE ".$an."</center><br><br>"; 
    	echo "Choisir un n°: <br><br>";
     
    	$req = mysql_query("SELECT DISTINCT id_jo, num_jo, date_jo, type_jo FROM jo where DATE_FORMAT(date_jo,'%Y')='$an' ORDER BY date_jo ASC;"); 
    	$res = mysql_num_rows($req);
    	$i=0; $mois = ""; $j=0; $lien = "";
     
    	echo "<table border=1 ><tr>";
    	WHILE ($i < $res){ 
     
    		$id = mysql_result($req,$i,"id_jo");
    		$num = mysql_result($req,$i,"num_jo");
    		$type = mysql_result($req,$i,"type_jo");
    		$dat = mysql_result($req,$i,"date_jo");
    		list($year, $month, $day) = explode("-", $dat);
    		$months = array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin",
        	"Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
    		$aux = $months[$month-1];
     
    		if ($aux != $mois) { if ($mois != '') echo "<td valign='top' align='center' width=10% height=1 ><font color='blue'>".$mois."<br><br>".$lien."</font></td>"; $mois = $aux; $lien = ""; $j++;}
     
    		$lien .= "\r\n <a href=rechercheannee3.php?n=$id>$type n° $num</a>&nbsp;&nbsp;<br> \r\n"; 
     
    		$i++;
     
    		} echo "<td valign='top' align='center' width=33% height=1><font color='blue'>".$mois. "<br><br>".$lien."</td></font></tr></table>";
    		}
    	mysql_close(); 
    	?>

    Merci d’avance.

  2. #2
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut
    A mon avis il manque quelques <tr>

    C'est cette balise qui fera le saut de ligne dans une présentation sous forme de tableau.
    Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.

  3. #3
    Membre actif Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Points : 258
    Points
    258
    Par défaut
    Oui, Il faut faire un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <table>
    <?
    while(...){
    echo "<tr><td>..........</td></tr>";
    }
    ?>
    </table>
    donc mettre les <tr> dans la boucle while.
    c'est effectivement cette balise qui te permet de faire 1 saut de ligne.
    C'est curieux chez les marins ce besoin de faire des phrases !

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Points : 126
    Points
    126
    Par défaut
    fais plutot comme ca c'est un exemple

    listing.php
    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
     
    <?php
    session_start();
    mysql_connect("localhost","root","");
    mysql_select_db('test');
    $require('fonction_tableau.php');
    $sql = "SELECT nom,prenom,age,sexe FROM inscr";
    $exec = mysql_query($sql);
    while($res = mysql_fetch_object($exec)){
    $af=array()
    $i=0
    $tableau[$i][0]=$res->nom;
    $tableau[$i][1]=$res->prenom;
    $tableau[$i][2]=$res->age;
    $tableau[$i][3]=$res->sexe;
    $i++
    }
    $_SESSION['af']=$af;
    <html>
    <head></head>
    <body>
    <table border="1" algin='center'>
    <tr><td colspan='4' align='center'>test</td>
    <td>Nom</td>
    <td>Prenom</td>
    <td>Age</td>
    <td>Sexe</td>
    </tr>
    <?php afficher_test($af);
    </table>
    </body>
    </html>
    fonction_tableau.php
    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
     
    <?php
    function afficher_test($af){
    	$taille = sizeof($af);
    	if ($taille-1 <= 4){$limite = $taille-1;}
    	else {$limite = 4;}
    	//-----------------------------------
    	for ($i = 0; $i <= $limite+4; $i++){
    		if  ($af[$i][0] != 0){
    		echo "<tr><td colspan='1'>";
    		echo $af[$i][0];
    		echo "</td><td colspan='1'>";
    		echo $af[$i][1];
    		echo "</td><td colspan='1'>";
            echo $af[$i][2];
    		echo "</td><td colspan='1'>";
    		echo $af[$i][3];
    		echo "</td></tr>";
    }}}
    ?>
    Voila !!!

Discussions similaires

  1. problemes avec les tableaux et macros
    Par Aniss00 dans le forum C
    Réponses: 4
    Dernier message: 15/10/2014, 19h53
  2. probleme avec les tableaux
    Par Ahmad1994 dans le forum C
    Réponses: 6
    Dernier message: 26/05/2014, 14h06
  3. probleme avec les tableaux
    Par heeedi dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 22/05/2009, 10h17
  4. [Langage] Probleme avec les tableaux dynamiques
    Par wawa84 dans le forum Langage
    Réponses: 7
    Dernier message: 19/11/2008, 17h18
  5. Problemes de memoires avec les tableaux: outOfMemoryError
    Par Battosaiii dans le forum Langage
    Réponses: 7
    Dernier message: 16/07/2006, 16h50

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