[php]Select form op mooie wijze vullen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • josvane
  • Registratie: Oktober 2002
  • Laatst online: 20-09 08:23
Goedendag,

Op GOT en google e.d. ben ik aan het zoeken geweest, maar wat ik zoek kan ik niet vinden.
Het volgende:
Voor mijn eigen website ben ik een CMS aan het maken. Nu heb ik een menu dat uit drie niveau's bestaat. Bij het toevoegen van een item kies je in welke laag je een item wilt toevoegen. Bij een keuze voor de eerste laag wordt er niks gevraagd en wordt het item direct toegevoegd in de db.

Als er gekozen voor een laag 2 of 3 komt er een vervolg scherm. Hier moet gekozen worden onder welke bovenliggende menu het nieuwe item komt.

Ik hoop dat ik duidelijk ben.

Nu moet ik dus voor laag 2 of 3 een apart menu opbouwen. Dit doe ik nu als volgt.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<select name="<?php echo $_POST['menuLaag'];?>">
    <?php
    if($_POST['menuLaag'] == 'id_2'){
    $result=mysql_query("SELECT * FROM cms_menu WHERE id_2 = '0'
                        AND id_3 = '0'
                        ORDER BY volgorde
                        ");}
    ## De verkregen gegevens tonen
    else{$result=mysql_query("SELECT * FROM cms_menu WHERE id_2 != '0'
                        AND id_3 = '0'
                        ORDER BY volgorde
                        ");}
    ## De verkregen gegevens tonen
    while ($row=mysql_fetch_object($result)){
    ?><option value="<?php echo $row->parent_id;?>"><?php echo $row->menuNaamVolledig;?></option><?php }?>
    </select>


Het werkt, maar mijn gevoel zegt dat het ook anders kan. Wat ik graag wil is de sql_query uit het formulier halen. Kortom eigenlijk wil ik eerst alle mogelijk waardes opvragen en daarna het formulier weergeven


Huidige situatie:
<form>
<input 1>
<input 2>
<query naar db>
<uitkomst 1>
<uitkomst 2>
</form>

Wat ik graag wil:
<query naar db>
<form>
<input 1>
<input 2>
<uitkomst 1>
<uitkomst 2>
</form>

Of het mogelijk is weet ik niet maar ik hoop dat jullie mij kunnen helpen

Acties:
  • 0 Henk 'm!

Verwijderd

Misschien is het makkelijk voor de gebruikers als hij / zijn drie dropdown menutjes onder elkaar krijgt die afhankelijk zijn van elkaar.

Dit kun je doen door javascript arrays in je code op te nemen (als het niet te groot is) of door met xmlHttp te werken ook wel ajax genoemd... zoek op google naar xmlhttp

Vervolgens post je 1 formulier naar je script en kijk je of laag 1 / 2 enz gevuld is en doe je db insert daarop.

Acties:
  • 0 Henk 'm!

  • Jimbolino
  • Registratie: Januari 2001
  • Laatst online: 20-09 08:54

Jimbolino

troep.com

Wat je beter kunt doen is je php code wat meer scheiden van je html code...

je kunt makkelijk al je sql queries bovenaan de pagina zetten, en dan bij het opbouwen van de pagina alleen maar de while-lus uitvoeren, maakt het wel wat overzichtelijker.

Nu heb je php code in html, maar je zou ook je html kunnen echo-en vanuit php. voorbeeld:
code:
1
echo '<option value="';

Zorgt voor wat beter overzicht en scheelt je heel veel <? en ?>

The two basic principles of Windows system administration:
For minor problems, reboot
For major problems, reinstall


Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Er is hier 2 weken terug ofzo eenzelfde topic geweest, daar heb ik een complete class neergedumpt die dit netjes afhandelt.

Even searchen :)

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 18-09 12:47

killercow

eth0

wat ik altijd doe:

ik display de hele menu tree nogmaals in de admn,
Als je op een menu item klikt, kun je de gegevens van dit item aanpassen.
Achter elk menu item staat ook een knopje [toevoegen], als hierop geklikt wordt krijgt je een invul scherm voor een nieuw item wat automatisch onder het aangeklikte item geplaatst wordt. (parent_id)

openkat.nl al gezien?


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
killercow schreef op dinsdag 29 mei 2007 @ 10:16:
wat ik altijd doe:

ik display de hele menu tree nogmaals in de admn,
Als je op een menu item klikt, kun je de gegevens van dit item aanpassen.
Achter elk menu item staat ook een knopje [toevoegen], als hierop geklikt wordt krijgt je een invul scherm voor een nieuw item wat automatisch onder het aangeklikte item geplaatst wordt. (parent_id)
precies, en zo heb je direct een systeem waarbij je ook verder dan 3 niveau's diep kan gaan mocht je dit in de toekomst nodig hebben.
Pagina: 1