Problème liste déroulante en php/mysql

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par Dax701, 14 Janvier 2010.

  1. Dax701
    Dax701 Nouveau WRInaute
    Inscrit:
    11 Juin 2007
    Messages:
    30
    J'aime reçus:
    0
    Bonjour à tous,

    J'ai besoin d'aide pour un problème qui me fait tourner en rond depuis des heures...
    J'aimerai créer dans un formulaire, une liste déroulante qui listerait des catégories et leurs sous-catégories respectives de manière "aérée" pour que ce soit bien lisible pour l'utilisateur, et voici le code que j'ai mis en place :

    Code:
    <?php
    function untree($parent, $level)
    {
    	$parentsql = mysql_query("SELECT * FROM `". PREFIX ."categories` WHERE `catParentId` = $parent ORDER BY `catName`");
    	$return = "";
    	if (!mysql_num_rows($parentsql))
    	{
    		return;
    	}
    	else
    	{
    		while($branch = mysql_fetch_assoc($parentsql))
    		{
    			$echo_this = "<option value='";
    			$echo_this.= $branch["catId"];
    			$echo_this.= "'>";
    			
    			for ($x=1; $x<=$level; $x++)
    			$echo_this.= "&nbsp;&nbsp;&nbsp;";
    			
    			$echo_this.= $branch["catName"];
    			$echo_this.="</option>";
    			$return.=$echo_this;
    			$rename_level = $level;
    			$return.= untree($branch["catId"], ++$rename_level);
    			
    		}
    	}
    	return $return;
    }
    
    function getCategories()
    {
    	$catList = mysql_query("SELECT * FROM `". PREFIX ."categories` WHERE `catParentId` = 0 ORDER BY `catName`");
    	while ($row = mysql_fetch_array($catList))
    	{
    		$string = "<option value='";
    		$string.= $row["catId"];
    		$string.= "'>";
    		$string.= $row["catName"];
    		$string.= "</option>";
    		$string.= untree($row["catId"], 1);
    	}
    	
    	return $string;
    }
    
    $catList = getCategories();
    ?>
    <select name='catParent'><option value='0'>None</option><?php echo $catList ?></select>
    Si dans ma table "categories" j'ai par exemple 3 catégories configurées comme ci-dessous, le code fonctionne bien et ma liste déroulante n'a pas de problème :

    catId....catParentId....catName

    1................0................Test
    2................1................Test2
    3................2................Test3

    Par contre dès que je rajoute une autre catégorie principale (donc avec catParentId = 0) comme ci-dessous, le code zappe la première catégorie principale (Test) et s'occupe uniquement de la dernière catégorie principale qui a été créée (Test4) :

    catId....catParentId....catName

    1................0................Test
    2................1................Test2
    3................2................Test3
    4................0................Test4
    5................4................Test5

    Est-ce que vous pourriez me dire ce qui ne va pas et/ou d'où peut venir le problème ? Merci d'avance.
     
  2. seebz
    seebz WRInaute impliqué
    Inscrit:
    15 Avril 2007
    Messages:
    722
    J'aime reçus:
    0
    Code:
    while ($row = mysql_fetch_array($catList))
       {
          $string = "<option value='";
    Tu reset ta variable "$string" à l'intérieur de la boucle, normal que ca va pas :roll:
    $string = "<option value='";
     
  3. Dax701
    Dax701 Nouveau WRInaute
    Inscrit:
    11 Juin 2007
    Messages:
    30
    J'aime reçus:
    0
    Je te remercie beaucoup... tu peux pas imaginer combien d'heures j'ai passé à cause de ce foutu point manquant...

    Maintenant j'ai juste une erreur notice, alors si tu pouvais me dire comment la régler je t'en serais reconnaissant, sinon c'est pas grave car par la suite je ne vais pas faire afficher ce genre d'erreurs. Encore une fois merci.

    Notice: Undefined variable: string in....... on line 70 (c'est la ligne en question)
     
  4. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 171
    J'aime reçus:
    344
    Vu que tu concatenes string ($string .= ....) il faut définir $string avant la boucle while:
    Code:
    $string = '';
    
     
  5. seebz
    seebz WRInaute impliqué
    Inscrit:
    15 Avril 2007
    Messages:
    722
    J'aime reçus:
    0
    Si, j'imagine bien, j'ai déja eu le coup où j'avais mis "return" dans la boucle :oops:
     
  6. Dax701
    Dax701 Nouveau WRInaute
    Inscrit:
    11 Juin 2007
    Messages:
    30
    J'aime reçus:
    0
    C'est bien çà spout...
    Merci à tous les deux !
     
Chargement...
Similar Threads - Problème liste déroulante Forum Date
Analyse google search console : liste des problèmes d'indexation Crawl et indexation Google, sitemaps 13 Janvier 2019
Problème site blacklisté Problèmes de référencement spécifiques à vos sites 26 Octobre 2011
Probleme de cache Google, le cache redonne une liste et pas la page Crawl et indexation Google, sitemaps 30 Juillet 2011
Liste de liens, problème pour google ? Demandes d'avis et de conseils sur vos sites 27 Juillet 2011
Problème de référencement google (blacklisté) Problèmes de référencement spécifiques à vos sites 22 Novembre 2010
Domaine blacklisté, solutions à ce problème? Quelles conséquences pour le référencement? Problèmes de référencement spécifiques à vos sites 8 Septembre 2009
Probleme margin padding dans une liste pour un menu avec puce Développement d'un site Web ou d'une appli mobile 5 Juin 2009
Joomla probleme de contenu - un spécialiste dans la salle ? Développement d'un site Web ou d'une appli mobile 8 Janvier 2008
Problème de liste sous firefox Développement d'un site Web ou d'une appli mobile 19 Juin 2007
Microsoft Problème liste de contacts Le café de WebRankInfo 17 Avril 2007
Probleme PHP basique : lister un tableau ! Développement d'un site Web ou d'une appli mobile 3 Janvier 2007
[Résolu] problème de liste à puce avec IE Développement d'un site Web ou d'une appli mobile 21 Novembre 2006
[CSS] problème de marge dans liste Développement d'un site Web ou d'une appli mobile 28 Octobre 2005
WordPress Problème affichage style avec Elementor (titre, bordures, separateur) Administration d'un site Web Lundi à 12:12
Problème d'indexation de backlinks Débuter en référencement 24 Juillet 2022
Problème d'indexation de backlinks Problèmes de référencement spécifiques à vos sites 21 Juillet 2022
Probleme de visibilité de ma page Facebook Facebook 5 Juillet 2022
problème avec le développeur Droit du web (juridique, fiscalité...) 22 Juin 2022
Problème désindexation des pages de Google Débuter en référencement 21 Juin 2022
Problème d'indexation de pages sur Google Problèmes de référencement spécifiques à vos sites 31 Mai 2022