Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Problema con ricorsione, array e funzione!

    Bene, eccomi ritornato dopo un lungo periodo di assenza dovuto a vari poblemi! Ma come, si dice, chi non muore si rivede! E quindi eccomi di nuovo qua, a rompere con le domande (Ma anche ad aiutare con le risposte, se le conosco!) .
    Passiamo quindi alla domanda.

    Ho un DB dove ho delle categorie e per estrarle uso la ricorsione (Ovviamente!). Quindi mi sono creato una funzione che estragga il nome e l'id e li assegni ad un array:

    codice:
    function select ($id,$name)
            {
    	   global $db, $parent;
    	   $query = "SELECT id,name,parent FROM categories WHERE parent=$id ORDER BY name";
    		  
    	   $result = mysql_query($query,$db);
    	   while ($row = mysql_fetch_array($result))
    	        {
    		   $menu = "$name/$row[name]";
    		   $categories["$menu"] = "$row[id]";
    		   select ($row['id'],$menu);
    		}
    	   return $categories;
            }
    Ecco la funzione.

    Per estrarre i nomi ed inserirli in una select uso questo codice:

    codice:
    while (list($name, $id) = each ($categories))
         {
    	echo "<option value\"$id\">$name</option>";
         }
    Il problema è che lo script mi dice che la variabile $categories non è definita! Com'è possibile?
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  2. #2
    Problema risolto!!!! Era semplicissimo!
    Semplicemente non avevo definito l'array!
    Quindi all'esterno della funzione ho definito la variabile $categories = array();

    L'ho resa globale all'interno della funzione et voila! Il gioco è fatto e tutto funziona a meraviglia!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.