Avatar billede Slettet bruger
30. januar 2012 - 11:50 Der er 14 kommentarer og
1 løsning

Standard indsættelse ud fra dropdown valg

Jeg har tænkt over at lave noget, men er åben for evt bedre ideer.

Lige nu vil jeg lave en dropdown boks der giver X muligheder.
Når man vælger en af disse vil der komme en stump tabel-kode til syne ovenover dropdown boksen. I den del af tabellen skal der stå, 1 for at det var ens første valg og hvilket valg man har lavet.

Dropdown boksen vil stadig være der og man skal nu kunne lave et nyt valg.

Det valgte skal på samme måde komme frem over dropdown boksen. men under første valget:



Det skal se sådan:


echo"<table>";
//--Skal komme frem efter første valg
echo"<tr><td><center><b>";
echo"1. Du har valgt mulighed 3";
echo"</b></td></tr>";


//--Skal komme frem efter Andet valg
echo"<tr><td><center><b>";
echo"2. Du har valgt mulighed 1";
echo"</b></td></tr>";


echo"<tr><td><form action = '' method='POST'><select name='valg'>";
    echo"<option value='Mulighed 1'>Mulighed 1</option>";
    echo"<option value='Mulighed 2'>Mulighed 2</option>";
    echo"<option value='Mulighed 3'>Mulighed 3</option>";
echo"</select><input type='submit' name='submit' value='Knap'></td></tr></table>";
Avatar billede majbom Novice
30. januar 2012 - 12:32 #1
nogen grund til at du ikke laver det i javascript og bygger tabellen løbende uden side-refresh osv?
Avatar billede Slettet bruger
30. januar 2012 - 12:39 #2
Det ville nok være nemmere at lave det i Java, men det er ikke det jeg vil.
Jeg forsøger at holde mig til PHP.

Jeg har også nogle filer der kommer ind via include alt efter valg. Disse og der er en masse udregninger i dem som skal overføres til den side hvor dropdown boksen er. Så vil bare gerne holde mig til det jeg kender.
Avatar billede majbom Novice
30. januar 2012 - 12:59 #3
okay, nu skrev jeg også javascript og ikke java - der er jo himmelvid forskel.

men du skal jo have en måde at vide hvilke valg der er foretaget tidligere når du nu skal generere tabellen forfra hver gang der vælges. du kunne bruge sessions eller hidden inputs
Avatar billede Slettet bruger
30. januar 2012 - 13:13 #4
Mente også javascript, men det har jeg ikke rigtigt arbejdet i.

Om det skal være sessions eller hidden inputs er lidt lige meget.
Er åben overfor forslag, så længe det er i PHP.
Måske er session bedst, så laver jeg bare en "nulstil" knap.
Avatar billede majbom Novice
30. januar 2012 - 13:15 #5
ja, det ville jeg også gøre...
Avatar billede Slettet bruger
30. januar 2012 - 13:46 #6
Men så var mit spørgsmål jo så bare, hvordan vil koderne skulle se ud for dette, så det laves nemmest.
Avatar billede Slettet bruger
30. januar 2012 - 15:53 #7
Nu har jeg prøvet i 2 timer uden det mindste resultat. Nogen der kan vise mig hvordan det gøres?
Avatar billede DeeDawg Nybegynder
30. januar 2012 - 16:33 #8
Her har du et eksempel.

<?php session_start(); ?>
<table>
<?php
    if(!empty($_POST)){ $_SESSION['muligheder'][] = $_POST['valg']; }   
    if(isset($_SESSION['muligheder'])){
        foreach($_SESSION['muligheder'] as $key => $mulighed){
?>
    <tr>
        <td style="text-align: center;"><strong><?php echo ++$key.". Du har valgt ".$mulighed; ?></strong></td>
    </tr>
<?php
        }
    }
?>
    <tr>
        <td>
            <form action="" method="POST">
                <select name="valg">
                    <option value="mulighed 1">Mulighed 1</option>
                    <option value="mulighed 2">Mulighed 2</option>
                    <option value="mulighed 3">Mulighed 3</option>
                </select>
                <button type="submit" name="submit">Knap</button>
            </form>
        </td>
    </tr>
</table>

Dog er der nogle ting du skal være opmærksom på.

For det første, er det et eksempel, hvilket er meget vigtigt at du forstår. Denne fremgangsmåde er bestemt ikke sikker, så hvis det skal bruges på et beskyttet sted hvor dette er knyttet til en bruger, så skal du indføre en del mere sikkerhed. ;)
Avatar billede DeeDawg Nybegynder
30. januar 2012 - 16:36 #9
Hm, ved ikke lige hvor de andre ting, jeg tilsyneladende tænkte på, blev af. Oh well. :)
Avatar billede Slettet bruger
30. januar 2012 - 16:41 #10
Hehe...
Det ser super ud. Skal godt nok lige til at hjem.
Så kigger jeg lidt nærmere på det.

Hvordan tænker du på at sikkerheden skal gøres bedre?
Nu er det ikke en bruger side, men derfor ville det være rart at vide alligevel.
Avatar billede Slettet bruger
30. januar 2012 - 21:42 #11
DeeDwag... Super. Det virker som det skal.
Du må gerne poste et svar.
Avatar billede webweaver Praktikant
30. januar 2012 - 23:37 #12
Du kan også lave det via AJAX. Så er det begrænset, hvad du skal bruge af JavaScript. Så kan du holde det hele i PHP stort set og så vil det fungere på samme måde som ved JavaScript uden refreshes ...
Avatar billede DeeDawg Nybegynder
31. januar 2012 - 08:32 #13
@webweaver: Tror at han på nuværende tidspunkt, er ligeglad om siden bliver genindlæst eller ej. Desuden har splazz allerede foreslået det.

@ddd_dendummedreng: Så lidt. Og mit nick staves DeeDawg, ikke DeeDwag! Tak. :)
Avatar billede Slettet bruger
31. januar 2012 - 13:30 #14
Sorry Dawg.
Har selv et alias der starter med Wag, så det ligger i fingerene.

Men tak for hjælpen på dette område.
Avatar billede webweaver Praktikant
31. januar 2012 - 14:54 #15
#13 Nej det har Splazz ikke...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester