Les boucles

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Les boucles

Les boucles

par BKANTIQUE » 29 juil. 2005, 11:53

Ok pour mettre résolu

Merci

BKANTIQUE

par Cyrano » 28 juil. 2005, 23:19

On peut mettre [Résolu] :?:

Les Boucles

par BKANTIQUE » 28 juil. 2005, 23:01

Eh oui cyrano, Dreamweaver, je sais, tu fait partie de ceux qui manifestement n'aime pas ce logiciel.

Certes il n'est pas parfait pour le coding mais bon n'ayant ni le temps ni les compétences pour entreprendre le codage complet de mon site sans son aide, je m'en débrouille et cela me suffit, car cela marche.

Concernant plus spécifiquement mon pb j'ai trouvé la solution en partie grâce à vos conseils et avec l'aide d'un collègue un peu plus porté que moi sur la prog (pas PHP en tout cas).

Nous avons déjà commencé à modifier dans DMW la requête de recherche Partie/Chapitre afin d'avoir une sélection plus conforme, puis modifier le code comme suit:
<?php 
while($row_rsRecupPartie)
{

    $valeurPartie=array_values($row_rsRecupPartie);

    $Numero_Partie=$valeurPartie[1];
    $Titre_Partie=$valeurPartie[2];
    echo "Partie : $Numero_Partie - $Titre_Partie <br> <br>";

    while($row_rsRecupChapitre)
    {
        if($row_rsRecupChapitre['PartieRef'] == $Titre_Partie)
        {
            echo "<blockquote> Chapitre {$row_rsRecupChapitre['Numero_Chapitre']} - {$row_rsRecupChapitre['Titre_Chapitre']} <br /> <br> </blockquote>";
        }
        else
        {
            break;
        }
        $row_rsRecupChapitre = mysql_fetch_assoc($rsRecupChapitre);
    }
    $row_rsRecupPartie = mysql_fetch_assoc($rsRecupPartie);
}
?>
Merci encore pour votre aide.

A+

BKANTIQUE

par Cyrano » 28 juil. 2005, 17:08

Ho le beau code DreamWeaver ... :?

Je ne sais pas comment tu as modifié ton code par rapport aux suggestions de stukov, mais ça devrait ressembler à ceci :
<?php
        while ($row_rsRecupPartie = mysql_fetch_assoc($rsRecupPartie))
        {
        $valeurPartie=array_values($row_rsRecupPartie);
            $Numero_Partie=$valeurPartie[1];
            $Titre_Partie=$valeurPartie[2];
            echo "Partie : $Numero_Partie - $Titre_Partie <br> <br>";
                    while($row_rsRecupChapitre = mysql_fetch_assoc($rsRecupChapitre))
                    {
                        if($row_rsRecupChapitre['PartieRef'] == $Titre_Partie)
                        {
                            echo "<blockquote> Chapitre {$row_rsRecupChapitre['Numero_Chapitre']} - {$row_rsRecupChapitre['Titre_Chapitre']} <br /> <br> </blockquote>";
                        }
                    }
        }
?>

Les boucles

par BKANTIQUE » 28 juil. 2005, 16:57

Merci Stukov pour la suggestion

Je viens d'essayer en mettant donc un while en début de la première boucle et il ne m'affiche alors que la Partie 2 et le chapitre 1 correspondant et la Partie 3 mais sans chapitre ce qui dans ce cas est normal, il n'y en a pas.

Par contre ma Partie 1 et les Chapitres 1 et 2 attachés ont disparus :cry:

J'ai essayer aussi de remplacer ma deuxième boucle do par un while et là c'est encore pire... :cry:

par stukov » 28 juil. 2005, 16:27

Essaie avec un while plutôt qu'avec un do-while. Avec un do-while, ton expression conditionnelle (le contenu du "do") est exécuté avant la condition du while. Étant donné que tu extrais tes informations à partir de MySQL dans ta condition du while, il est normal que tu n'aies pas de résultat lors de la première exécution de la boucle - tu n'as pas encore exécuté mysql_fetch_assoc().

Les boucles

par BKANTIQUE » 28 juil. 2005, 16:21

Bonjour à tous ceux qui ne sont pas encore en vacances

J'ai un petit pb dans ma compréhension des boucles et je n'arrive pas à obtenir ce que je veux malgré mes tentatives.

Mon pb est le suivant, je souhaite afficher dans une page un résumé de livre sous la forme

Information générales sur l'ouvrage

Partie 1
Chapitre 1
Chapitre 2
Chapitre n
Partie 2
Chapitre 1
Chapitre n
etc.

j'arrive sans pb à faire afficher les info générales puis les différentes parties liées à cet ouvrage.
Mais là où je suis bloqué, c'est dans l'affichage des Chapitres liés aux Parties.
Pour le moment seuls les Chapitres liés à la Partie 1 sont correctement affichés sous Partie 1, mais par exemple le Chapitre 1 lié à la Partie 2 ne s'affiche pas du tout (et j'ai controlé le Chapitre1 partie 2 est bien dans ma sélection).

Voici le code que j'utilise pour le moment pour tenter cet affichage Partie/Chapitre:

<?php 
		do
		{
		$valeurPartie=array_values($row_rsRecupPartie);
			$Numero_Partie=$valeurPartie[1];
			$Titre_Partie=$valeurPartie[2];
			echo "Partie : $Numero_Partie - $Titre_Partie <br> <br>";
					do
					{
						if($row_rsRecupChapitre['PartieRef'] == $Titre_Partie)
						{
							echo "<blockquote> Chapitre {$row_rsRecupChapitre['Numero_Chapitre']} - {$row_rsRecupChapitre['Titre_Chapitre']} <br /> <br> </blockquote>";
						}
					}while($row_rsRecupChapitre = mysql_fetch_assoc($rsRecupChapitre));
		}while ($row_rsRecupPartie = mysql_fetch_assoc($rsRecupPartie));
?>
Si quelqu'un donc peut m'aider merci
:lol:

A+
BKANTIQUE