Boucle for pour un contenu php

nana -  
nanaval31 Messages postés 21 Statut Membre -
Bonjour,

J'essaye de faire une boucle for avec un contenu html.. Mais je galère un peu !
voici mon code


for ($var = 1; $var <= 10; $var++)
    
    {
    
       echo '<ul>'
       variable $var is now = ' . $x . '
        <li class="itmList">
           <a href="" attr-id="HPAMID065FS0005U">
                <div class="placeholder">
            
                <img src="<?php echo $photo1; ?>" alt="nom de lo'objet : libelé">
                </div>
                <h2><?php echo $nom1; ?></h2>
                <p class="description"><?php echo $description1; ?></p>
                <p class="location">Location : <?php echo $location1; ?></p>
            </a>
        </li>  
    '</ul>'
    
    }



Bon déjà je dois avoir des problèmes de syntaxes .....
Les variable $nom1 , $description1, $location1 et $photo1 me récupère des données XML; Sans la boucle , cela fonctionne, mais il arrive que pour une même page xml, j'ai justement plusieurs noms, descriptions etc... donc je voudrai que tant qu'il y a des donées de ce type dans mon xml, il faut les afficher sous forme de liste...

Vous pouvez m'aider ?

Merci :)

11 réponses

  1. Qalo
     

    Tu mélanges php et html dans ton code, voilà une version qui marche.
    <?php

    for ($i = 1; $i <= 10; $i++)
    {

    echo '<ul>';
    echo "variable $i is now = ' . $x . '";
    echo " <li class='tmList'>
    <a href='' attr-id='HPAMID065FS0005U'>
    <div class='placeholder'>

    <img src='$photo1' alt='nom de l\'objet : libelé'>
    </div>
    <h2>$nom1</h2>
    <p class='description'>$description1</p>
    <p class='location'>Location : $location1</p>
    </a>
    </li>
    </ul>";
    }

    ?>
    1
  2. dj-postka Messages postés 2409 Statut Membre 305
     
    Je ne suis pas un expert en php, mais pourquoi de ne pas faire une boucle while ?
    0
  3. Imagine43 Messages postés 292 Statut Membre 54
     
    Bonjour Nana !

    Pourrais-tu modifier ton post de manière à que le code s'affiche en entier ? [Utilise les balises < code > et < / code >]
    Merci d'avance.

    Cdt,
    Imagine.

    The Gift Of the Godess'.
    0
  4. nana
     
    Bonjour imagine

    Si je mets les balises code , il n'y a plus les couleurs dans le code... et il y a toujours " lire la suite "
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Imagine43 Messages postés 292 Statut Membre 54
     
    Mince.

    Bien, pourrais-tu me l'envoyer par MP ? Parce que je n'ai pas de bouton "lire la suite".
    Néanmoins je suis d'accord avec Dj, une boucle while serait - à mon sens - plus appropriée.

    Cdt,
    Imagine.
    0
  7. nana
     
    Ok Imagine, attend je m'inscris sinon je ne peux pas t'envoyer de message privée !

    Merci à toi :)
    0
  8. nanaval31 Messages postés 21 Statut Membre
     
    je me suis inscrite donc je suis nanaval31 maintenant :)
    oui tu as raison peut être que ça cerait plus adapté
    J'essaye et je vous montre
    merci dj
    0
  9. Imagine43 Messages postés 292 Statut Membre 54
     
    Qalo a été plus rapide que moi. ^^
    Mais à vue de nez, je pense que cela devrait être fonctionnel en effet.

    Tu avais plusieurs erreurs, notamment des erreurs classiques telles que de ne pas différencier l'usage des " et des ' lorsque tu utilises Echo/Print, ou encore ne pas mettre de ";" à la fin de chaque instruction. ^^

    Bonne chance pour la suite!

    Imagine.
    0
  10. nanaval31 Messages postés 21 Statut Membre
     
    Salut Qalo, merci pour ton aide
    Je mélange effectvement php et html, j'ai du mal avec les côte
    J'ai testé ton code, et j'ai une erreur sur la ligne
    echo "variable $i is now = ' . $x . '";


    De plus, au lieu de m'ajouter les deux différents nom description et location, il me répète le même sur toute la page .......
    0
  11. Imagine43 Messages postés 292 Statut Membre 54
     
    Re-Bonjour Nana,

    Dis-moi, y a-t-il un nombre de données spécifiques? Où les données sont-elles rentrées par l'utilisateur?
    Parce que je viens de penser à une syntaxe avec un foreach. Qui est plus difficile à utiliser mais qui au final est beaucoup plus pratique.

    Je te donne un exemple de code que j'ai mis au point il y a quelques jours.

    Code HTML :

    <ul id="list2" name="acces">
    <li><input type="checkbox" name="entity[]" value="CA"/>CA</li>
    <li><input type="checkbox" name="entity[]" value="DCE"/>DCE</li>
    <li><input type="checkbox" name="entity[]" value="DSB"/>DSB</li>
    <li><input type="checkbox" name="entity[]" value="DSR"/>DSR</li>
    <li><input type="checkbox" name="entity[]" value="DSS"/>DSS</li>
    <li><input type="checkbox" name="entity[]" value="DT"/>DT</li>
    <li><input type="checkbox" name="entity[]" value="HSE"/>HSE</li>
    <br/>
    <br/>
    <label for="fonction">Fonction :<br/></label><input type="text" name="fonction"/><br/>
    <label for="Bureau">Bureau si connu :<br/></label><input type="text" name="Bureau"/>

    </ul>

    Et en PHP on aura :

    foreach ($_POST['entity'] as $acces)
    {
    $message .="Le nouvel arrivant aura accès à $acces .\r\n\r\n";
    }

    Petite explication : Dans le HTML, j'ai crée un tableau dans un formulaire qui s'appelle Entity[] (qui s'imcrémente tout seul) . Ensuite via le foreach, on peut récuperer chaque entrée et les ressortir ailleurs.
    $_POST sert à récuperer ces données, car le formulaire utilise la methode POST.
    "foreach ($_POST['entity'] as $acces" :> $acces est une variable créée à ce moment précis, elle n'est pas déclarée dans le code php avant.
    Tu l'auras compris, ces infos sont transmises par mail. ($message .=) Mais tu peux très bien remplacer ceci par print " Le nouvel arrivant aura accès à $acces </br>" .

    Imagine.

    The Gift Of the Godess'.
    0
  12. nanaval31 Messages postés 21 Statut Membre
     
    Re bonjour imagine

    Merci pour tes explications très détaillées.
    En fait , j'ai fait un formulaire avec une liste déroulante où l'utilisateur choisit une ville. Quand il choisit une ville, il tombe sur un code xml , et c'est ce code xml que j'ai parcouru et affiché avec mes variable $nom1, $description1 etc...
    Et pour une ville, j'ai deux noms différents, deux descriptions différents etc...
    Avec mon simple code, il ne m'affiche qu'un seul nom, et la description qui va avec mais pas l'autre nom et sa description adequate. Voilà pourquoi j'ai besoin d'une boucle, .

    Merci pour l'idée de foreach , je vais essayer de voir ça :)
    Je posterai mon code ensuite !
    0