création d'un formulaire arborescent

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] création d'un formulaire arborescent

    Bonjour à tous,
    Je débute en programmation et je suis complétement bloqué
    j'ai un problème avec l'affichage de mon formulaire arborescent dans joomla.

    je m'explique. sur une première page l'utilisateur sélectionne les catégories qu'il souhaite voir apparaitre dans le formulaire (il a le choix entre 16 catégories), puis il valide.
    le script de création est appelé.
    tout se passe à merveille le formulaire apparait. sauf que...
    si on sélectionne plus de 4 catégories simultanément joomla m'affiche une belle page blanche.

    pour info j'utilise RD ADD PHP pour appeler mon ficher php dans un article joomla

    Est ce que quelqu'un peu m'aider SVP
    merci d'avance.

    voici le script en question


    ********



    <?php


    $query = "SELECT ID, Nom, Parent, Niv, Chniv, Type, Size, Optionval FROM jos_fields_formdevis ORDER BY Parent ASC";
    $result = mysql_query($query) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());


    $categories = array();

    while($dat = mysql_fetch_array($result)) {
    $categories[] = array(
    'parent_id' => $dat['Parent'],
    'categorie_id' => $dat['ID'],
    'nom_categorie' => $dat['Nom'],
    'niv_categorie' => $dat['Niv'],
    'chniv_categorie' => $dat['Chniv'],
    'type_categorie' => $dat['Type'],
    'text_size' => $dat['Size'],
    'opt_val' => $dat['Optionval']
    );
    }


    function afficher_menu($parent, $niveau, $array) {

    $html = "";
    $niveau_precedent = 0;

    if (!$niveau && !$niveau_precedent) $html .= '<div class="levl1">';

    foreach ($array AS $noeud) {

    if ($parent == $noeud['parent_id']) {

    if ($niveau_precedent < $niveau) $html .= '<div id="div_'.$noeud['parent_id'].'_'.$noeud['niv_categorie'].'" style="display:none">';


    if ($noeud['type_categorie'] == "com") {

    $html .= '<div id="div_'.$noeud['categorie_id'].'" class="com" style="display:block"><span>'.$noeud['nom_categorie'].'</span><br />';

    }


    if ($noeud['type_categorie'] == "text") {

    $html .= '<div id="div_'.$noeud['categorie_id'].'" class="levl'.$noeud['niv_categorie'].'" style="display:block"><div class="labelfield2">'.$noeud['nom_categorie'].'</div><div class="objtext"><input id="'.$noeud['categorie_id'].'" type="text" size="'.$noeud['text_size'].'" name="'.$noeud['parent_id'].'"></div>';

    }

    if ($noeud['type_categorie'] == "textarea") {

    $html .= '<div id="div_'.$noeud['categorie_id'].'" class="levl'.$noeud['niv_categorie'].'" style="display:block"><div class="labelfield2" style="vertical-align: top">'.$noeud['nom_categorie'].'</div><textarea id="'.$noeud['categorie_id'].'" class="objtextarea" name="'.$noeud['parent_id'].'" rows="7" cols="35" ></textarea>';

    }

    if ($noeud['type_categorie'] == "select") {

    $html .= '<div id="div_'.$noeud['categorie_id'].'" class="levl'.$noeud['niv_categorie'].'" style="display:block"><div class="labelfield2">'.$noeud['nom_categorie'].'</div><div class="objselect"><select id="'.$noeud['categorie_id'].'" name="'.$noeud['parent_id'].'" onclick="javascript:getchild(\'div_'.$noeud['categorie_id'].'_'.$noeud['chniv_categorie'].'\')"> <option value="">---Choisissez---</option><br />';


    $select = $noeud['opt_val'];
    $tab = explode(";", $select);
    foreach($tab as $element)
    {
    $html .= '<option value="'.$element.'">'.$element.'</option><br />';
    }

    $html .='</select></div>';
    }

    if ($noeud['type_categorie'] == "checkbox") {

    $html .= '<div id="div_'.$noeud['categorie_id'].'" class="levl'.$noeud['niv_categorie'].'" style="display:block"><input id="'.$noeud['categorie_id'].'" type="checkbox" name="'.$noeud['parent_id'].'" onclick="javascript:getchild(\'div_'.$noeud['categorie_id'].'_'.$noeud['chniv_categorie'].'\')"><span class="labelfield1">'.$noeud['nom_categorie'].'</span><br />';

    }


    $niveau_precedent = $niveau;

    $html .= afficher_menu($noeud['categorie_id'], ($niveau + 1), $array);

    }
    }


    if (($niveau_precedent == $niveau) && ($niveau_precedent != 0)) $html .= "</div></div>";
    else if ($niveau_precedent == $niveau) $html .= "</div>";
    else $html .= "</div>";

    return $html;

    }



    ?>



    <div class="formdevis">

    <?php

    if(isset($_GET['Alarme']))
    {

    echo '<div id="Alarme" class="titrefieldset"><img class="iconecat" src="images/stories/camera.jpeg" alt="Alarme-Sécurité" height="40px" width="40px"><h2 class="titreform">Alarme-Sécurité</h2></div>';
    echo afficher_menu(1, 0, $categories);
    echo '<br/></br/>';

    }




    if(isset($_GET['Architecte']))
    {

    echo '<div id="Architecte" class="titrefieldset"><img class="iconecat" src="images/stories/architecte.jpeg" alt="Architecte-Expertise" height="40px" width="40px" ><h2 class="titreform">Architecte-Expertise</h2></div>';
    echo afficher_menu(2, 0, $categories);
    echo '<br/><br/>';
    }




    if(isset($_GET['Amenagement_Ext']))
    {
    echo '<div id="Amenagement Ext" class="titrefieldset"><img class="iconecat" src="images/stories/piscine.jpeg" alt="Aménagement Extérieur" height="40px" width="40px"><h2 class="titreform">Aménagement Extérieur</h2></div>';
    echo afficher_menu(3, 0, $categories);
    echo '<br/></br/>';
    }



    if(isset($_GET['Amenagement_Int']))
    {

    echo '<div id="Amenagement Int" class="titrefieldset"><img class="iconecat" src="images/stories/combles.jpeg" alt="Aménagement Intérieur" height="40px" width="40px"><h2 class="titreform">Aménagement Intérieur</h2></div>';
    echo afficher_menu(4, 0, $categories);
    echo '<br/></br/>';
    }



    if(isset($_GET['Chauffage']))
    {

    echo '<div id="Chauffage" class="titrefieldset"><img class="iconecat" src="images/stories/chauffage.jpeg" alt="Chauffage-Chaudière" height="40px" width="40px"><h2 class="titreform">Chauffage-Chaudière</h2></div>';
    echo afficher_menu(5, 0, $categories);
    echo '<br/></br/>';
    }



    if(isset($_GET['Climatisation']))
    {

    echo '<div id="Climatisation" class="titrefieldset"><img class="iconecat" src="images/stories/climatiseur.jpeg" alt="Climatisation-Ventilation" height="40px" width="40px"><h2 class="titreform">Climatisation-Ventilation</h2></div>';
    echo afficher_menu(6, 0, $categories);
    echo '<br/></br/>';
    }



    if(isset($_GET['Construction']))
    {

    echo '<div id="Construction" class="titrefieldset"><img class="iconecat" src="images/stories/construction.jpeg" alt="Construction-Extension" height="40px" width="40px"><h2 class="titreform">Construction-Extension</h2></div>';
    echo afficher_menu(7, 0, $categories);
    echo '<br/></br/>';
    }


    if(isset($_GET['Electricite']))
    {

    echo '<div id="Electricite" class="titrefieldset"><img class="iconecat" src="images/stories/ampoule.jpeg" alt="Electricité" height="40px" width="40px"><h2 class="titreform">Electricité</h2></div>';
    echo afficher_menu(8, 0, $categories);
    echo '<br/></br/>';
    }



    if(isset($_GET['Façade']))
    {

    echo '<div id="Façade" class="titrefieldset"><img class="iconecat" src="images/stories/facade.jpeg" alt="Façade-Ravalement" height="40px" width="40px"><h2 class="titreform">Façade-Ravalement</h2></div>';
    echo afficher_menu(9, 0, $categories);
    echo '<br></br/>';
    }



    if(isset($_GET['Isolation']))
    {

    echo '<div id="Isolation" class="titrefieldset"><img class="iconecat" src="images/stories/isolation.jpeg" alt="Isolation" height="40px" width="40px"><h2 class="titreform">Isolation</h2></div>';
    echo afficher_menu(10, 0, $categories);
    echo '<br/></br/>';
    }




    if(isset($_GET['Menuiserie']))
    {

    echo '<div id="Menuiserie" class="titrefieldset"><img class="iconecat" src="images/stories/fenetre.jpeg" alt="Menuiserie Bois, Alu, PVC" height="40px" width="40px"><h2 class="titreform">Menuiserie Bois, Alu, PVC</h2></div>';
    echo afficher_menu(11, 0, $categories);
    echo '<br/></br/>';
    }



    if(isset($_GET['Nettoyage']))
    {

    echo '<div id="Nettoyage" class="titrefieldset"><img class="iconecat" src="images/stories/nettoyage.jpeg" alt="Néttoyage" height="40px" width="40px"><h2 class="titreform">Néttoyage</h2></div>';
    echo afficher_menu(12, 0, $categories);
    echo '<br></br/>';
    }



    if(isset($_GET['Peinture']))
    {

    echo '<div id="Peinture" class="titrefieldset"><img class="iconecat" src="images/stories/peinture.jpeg" alt="Peinture-Revêtement" height="40px" width="40px"><h2 class="titreform">Peinture-Revêtement</h2></div>';
    echo afficher_menu(13, 0, $categories);
    echo '<br/></br/>';
    }



    if(isset($_GET['Plomberie']))
    {

    echo '<div id="Plomberie" class="titrefieldset"><img class="iconecat" src="images/stories/robinet.jpeg" alt="Plomberie-Sanitaire" height="40px" width="40px"><h2 class="titreform">Plomberie-Sanitaire</h2></div>';
    echo afficher_menu(14, 0, $categories);
    echo '<br></br/>';
    }



    if(isset($_GET['Renovation']))
    {

    echo '<div id="Renovation" class="titrefieldset"><img class="iconecat" src="images/stories/cloison.jpeg" alt="Rénovation" height="40px" width="40px"><h2 class="titreform">Rénovation</h2></div>';
    echo afficher_menu(15, 0, $categories);
    echo '<br/></br/>';
    }



    if(isset($_GET['Toiture']))
    {

    echo '<div id="Toiture" class="titrefieldset"><img class="iconecat" src="images/stories/toiture.jpeg" alt="Toiture-Charpente" height="40px" width="40px"><h2 class="titreform">Toiture-Charpente</h2></div>';
    echo afficher_menu(16, 0, $categories);
    echo '<br/></br/>';
    }

    ?>

    </div>

    *************

Annonce

Réduire
Aucune annonce pour le moment.

Partenaire de l'association

Réduire

Hébergeur Web PlanetHoster
Travaille ...
X