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 :

[Debutant] Retour à la ligne dans une boucle


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 56
    Points
    56
    Par défaut [Debutant] Retour à la ligne dans une boucle
    Bonjour,

    je cherche à faire un retour à la lgine dans une boucle.

    Voilà le code que j'ai actuellement :

    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 ("includes/connect.php");
     
    // on crée la requete SQL
    $sql = 'SELECT *,DATE_FORMAT(created, "%d/%m") AS creation FROM skins ORDER BY created DESC LIMIT 8'; 
     
    // on envoie la requête
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
     
     // début du tableau ( hors boucle )
    echo '<table border="0" width="100%" cellpadding="0" cellspacing="0"><tr><td><tabLe border="0" width="100%">';
    echo '<tr>';
    // on fait une boucle qui va faire un tour pour chaque enregistrement
    while($data = mysql_fetch_array($req)) 
        {
        // on affiche les informations de l'enregistrement en cours
    	echo '<td width="25%">';
    	echo '<table border="0" width="100%">';
    	echo '<tr>';
    	echo '<td class="lgtitle"><center><a href="'.$data['dl'].'">'.$data['title'].'</a></center></td>';
    	echo '</tr>';
    	echo '<tr>';
    	echo '<td class="lgdate"><center><a href="img/skins/'.$data['img'].'" target="_blank"><img src="img/skins/s/'.$data['img'].'" style="border-width:1px; border-color:rgb(197,230,130); border-style:solid;"></a></center></td>';
    	echo '</tr>';
    	echo '<td><center>'.$data['categorie'].' | '.$data['format'].'</center></td>';
    	echo '</tr>';
    	echo '</table>';
    	echo '</td>';
        } 
    // fin du tableau html ( hors boucle )
    	echo '</tr>';
    	echo '</tabLe></td></tr></table>';// on ferme la connexion à mysql
    mysql_close(); 
    ?>
    Qui m'affiche ça :



    Donc cela m'affiche, une ligne avec les 4 derniers ajouts.
    Je voudrais mettre les 8 derniers ajouts, sur 2 lignes.

    Mon code me met les 8 derniers ajouts sur une seule ligne.

    Pouvez vous m'aider

    Merci d'avance !

    Boub
    Images attachées Images attachées  

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    un truc comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if ($i == 3) { 
         echo '<br />';
         $i = 0;
    }
    else {
       $i++;
    }
    devrait faire l'affaire.

    Par contre avec ton LIMIT 15 tu en recuperes ... 15 pas 8
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 56
    Points
    56
    Par défaut
    Oui désolé, cj'ai mis le bon code avec 8 , qui ressemblait à l'autre.

    Merci pour ton aide mais ou dois-je le placer car j'ai cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Notice: Undefined variable: i in D:\Program Files\EasyPHP 2.0b1\www\htc\index.php on line 165
     
    Notice: Undefined variable: i in D:\Program Files\EasyPHP 2.0b1\www\htc\index.php on line 170
    Thx

    Edit : je précise que je travaille en local

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ce n'est pas une erreur c'est une indication que te dit que la variable n'a pas été initialisée.

    il faut juste que tu mettes $i = 0; au debut de ton code pour l'initialiser.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 56
    Points
    56
    Par défaut
    Bonjour,

    excusez moi, mais je n'arrive pas à le faire fonctionner dans mon code.

    Quand je rajoute $i=0; au début du code, ca ne me met plus aucune erreur, mais les 8 thèmes récupérés s'affichent sur une sur ligne.

    Encore merci pour votre patience.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    mon bout de code faut le mettre dans ta boucle while a la fin par exemple.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 56
    Points
    56
    Par défaut
    Il me met bien un espace en bas de chaque image, mais ne fait pas la boucle dans ce "<br />" il m'affiche toujours en une seule ligne, et rien ne s'affiche dans la ligne créée

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je peux voir ton code maintenant ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 56
    Points
    56
    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
    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
    <?php 
    require ("includes/connect.php");
    $i = 0;
    // on crée la requete SQL
    $sql = 'SELECT *,DATE_FORMAT(created, "%d/%m") AS creation FROM skins ORDER BY created DESC LIMIT 8'; 
    // on envoie la requête
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
     
     // début du tableau ( hors boucle )
    echo '<table border="0" width="100%" cellpadding="0" cellspacing="0"><tr><td><tabLe border="0" width="100%">';
    echo '<tr>';
    // on fait une boucle qui va faire un tour pour chaque enregistrement
     
    while($data = mysql_fetch_array($req))
        {
        // on affiche les informations de l'enregistrement en cours
    	echo '<td width="25%">';
    	echo '<table border="0" width="100%">';
    	echo '<tr>';
    	echo '<td class="lgtitle"><center><a href="'.$data['dl'].'">'.$data['title'].'</a></center></td>';
    	echo '</tr>';
    	echo '<tr>';
    	echo '<td class="lgdate"><center><a href="img/skins/'.$data['img'].'" target="_blank"><img src="img/skins/s/'.$data['img'].'" style="border-width:1px; border-color:rgb(197,230,130); border-style:solid;"></a></center></td>';
    	echo '</tr>';
    	echo '<td><center>'.$data['categorie'].' | '.$data['format'].'</center></td>';
    	echo '</tr>';
    	echo '</table>';
    	echo '</td>';
     
    if ($i == 3) { 
    echo '<br />';
    $i = 0;
    }
    else {
       $i++;
    }
        } 
    // fin du tableau html ( hors boucle )
    	echo '</tr>';
    	echo '</tabLe></td></tr></table>';// on ferme la connexion à mysql
    mysql_close(); 
    ?>
    En fait, ce que je met dis, c'est peut etre que le <br /> n'est pas approprié, par rapport au tableau. Nan ?

    Merci

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    ah oui merde j'avais mal lu ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if ($i == 3) { 
    echo '</tr><tr>';
    $i = 0;
    }
    else {
       $i++;
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 56
    Points
    56
    Par défaut
    Impec !!!



    Merci beaucoup pour tout !
    Images attachées Images attachées  

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

Discussions similaires

  1. [CSS] Empecher le retour à la ligne dans une cellule
    Par pekka77 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 26/02/2009, 16h50
  2. Retour à la ligne dans une boucle
    Par buhrne dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/12/2008, 21h20
  3. [VB.NET] Enlever les retours à la ligne dans une string
    Par adrix26 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 09/01/2007, 23h27
  4. Retour à la ligne dans une zone de text
    Par hnb2003 dans le forum Access
    Réponses: 2
    Dernier message: 13/04/2006, 11h56
  5. Pb retour de ligne dans une balise DT
    Par lord_paco dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 12/12/2005, 17h11

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