Data van meerder Pull Down menu's versturen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Carl Zwanenburg

Carl Zwanenburg

05/06/2014 12:53:46
Quote Anchor link
LS,

om mijn vraag te vereenvoudigen heb ik 2 pull down menu's. Als ik op 1 van de menu's een keuze maak, wil ik dat een nieuwe pagina wordt geopend met de gegevens van BEIDE pull down menu's. Met andere woorden: er moet voordat naar een nieuwe pagina wordt gesprongen eerst nog gekeken worden wat de waarde is van het andere pull down menu.

Is deze vraag al eens eerder behandeld? Of heeft iemand een eenvoudig script.

Met vriendelijke groet.
 
PHP hulp

PHP hulp

22/11/2024 22:47:38
 
Ramon van Dongen

Ramon van Dongen

05/06/2014 13:08:46
Quote Anchor link
Dus om het even te visualiseren:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<select name="de_eerste">
<option value="1">1</option>
<option value="2">2</option>
</select>

<select name="de_tweede">
<option value="1">1</option>
<option value="2">2</option>
</select>


Als ik alleen bij de_eerste iets aanklik, moet het naar een tweede pagina springen en ook de value van de_tweede meenemen?

Dat is gewoon normaal in html te doen met een normaal <form>. Submit knopje eronder en beide selects worden verzonden.

Maar ik heb het idee dat je dat niet helemaal bedoeld?
Gewijzigd op 05/06/2014 13:09:09 door Ramon van Dongen
 
Carl Zwanenburg

Carl Zwanenburg

05/06/2014 13:22:57
Quote Anchor link
Dag Ramon, bedankt voor je reactie. Om te beginnen wil ik niet met een submit knop werken. Het moet dus eigenlijk direct selecteerbaar zijn. De code die jij voorstelt heb ik al toegepast, met als aanvulling dat ik gebruik maak van:


onClick="MM_jumpMenu('parent/, this,0)"

Bij het selecteren "onClick" ga ik dus naar slechts alleen de <option value .... > maar wil ook tevens de value van de tweede menu meenemen.
 
Ramon van Dongen

Ramon van Dongen

05/06/2014 14:17:41
Quote Anchor link
Het probleem is dat als er iets moet gebeuren als je op de eerste klikt en daarbij de gegevens van de tweede mee moet nemen, is dat je de tweede selectbox dus niet meer aan kan passen.

Hoe moet ik het grotere plaatje precies voor me zien?
Is het echt een navigatie menu of meer om bepaalde resultaten onder elkaar te zien die je hierdoor filtert?
 
Carl Zwanenburg

Carl Zwanenburg

05/06/2014 14:29:07
Quote Anchor link
Als voorbeeld gebruik ik 2 pull down menus.

Menu 1 heeft de keuze uit: Appels
Peren
Bananen

Menu 2 heeft de keuze uit: Beren
Apen
Geiten

Menu 1 is standaard geselecteerd op Peren en Menu 2 op Geiten.

Als ik op Menu 1 Bananen klik en Menu 2 laat ik staan (dus staat op Geiten) dan wil ik dat een nieuwe pagina wordt geopend waarbij ik als datastring kan gebruiken:

Bananen en Geiten

Klik ik b.v. op menu 2 op Geiten (wat dus al geselecteerd was, maar ik gebruik dus onClick="MM_jumpMenu()" ) dat moet ik de datastring Peren + Geiten doorgestuurd krijgen naar de volgende pagina.

Is misschien een beetje omslachtig uitgelegd, maar ik hoop dat het duidelijk is waar ik naar op zoek ben.

Bijkomende vraag is: In het pulldown menu kan je met

option value=" ...." selected> Bananen</option> een voorkeur maken welke waarde (in dit geval Bananen) standaard geselecteerd is.

Wat moet ik voor selected veranderen om de laatste keuze die is aangeklikt te laten staan?

Alvast bedankt.
 
Pipo Clown

Pipo Clown

05/06/2014 15:15:18
Quote Anchor link
op de onChange van de eerste select een javascriptje aanroepen dat het form submit.
 
Carl Zwanenburg

Carl Zwanenburg

05/06/2014 15:55:05
Quote Anchor link
Pipo, heb je een voorbeeld waarmee ik kan experimenteren?
 
Ramon van Dongen

Ramon van Dongen

05/06/2014 15:57:14
Quote Anchor link
Quote:
Wat moet ik voor selected veranderen om de laatste keuze die is aangeklikt te laten staan?

<option value="iets" selected="selected">iets</option>

Quote:
op de onChange van de eerste select een javascriptje aanroepen dat het form submit.

Het blijft dan wel, maar blijkbaar is dat ook de bedoeling, dat als je de eerste wijzigt dat het form direct submit. De tweede kun je dan dus niet meer aanpassen...
 
Pipo Clown

Pipo Clown

05/06/2014 16:04:25
Quote Anchor link
Ik kan hier niets testen maar even globaal.

Eerst de onChange aan de selectbox hangen :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<select id="eerste" onChange="submitForm()">


Vervolgens ergens in de header of zo van je HTML-document :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<script type="text/javascript>
   function formSubmit()
   {
       document.form[0].submit();
   }
<script>


Bovenstaand zal vast niet foutloos zijn maar kont zeker een heel eind in de richting.
 
Carl Zwanenburg

Carl Zwanenburg

05/06/2014 16:07:54
Quote Anchor link
@Ramon,

Ik heb in 1 pull down menu het volgende:

<option value="/webpage/webpage.php?Boekjaar=2010">2010</option>
<option value="/webpage/webpage.php?Boekjaar=2011">2011</option>
<option value="/webpage/webpage.php?Boekjaar=2012" selected>2012</option>

In dit geval zal 2012 als geselecteerd staan.

met jouw toevoeging selected="selected" krijg ik nog niet het gewenste resultaat.

Als ik op de webpagina in het menu op 2010 klik dan verandert wel de inhoud van de pagina, maar het pull down menu vervalt weer naar 2012. En eigenlijk wil ik dat het op 2010 blijft staan. In de bovenstaande regel moet dus selected een variabele zijn die op elke positie kan staan. O.i.d. waarbij het menu op de geselecteerde waarde blijft staan.
 
Ramon van Dongen

Ramon van Dongen

05/06/2014 18:19:32
Quote Anchor link
Ah zo.... Zeg dat dan :-P

Dan zul je iets met php moeten doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<option value="/webpage/webpage.php?Boekjaar=2010" <?php echo ((isset($_GET['Boekjaar']) AND $_GET['Boekjaar'] == 2010) ? 'selected="selected"' : ''); ?>>2010</option>

En dat dan voor elk jaar...

Dat kijkt of $_GET['Boekjaar'] bestaat en of het een betreffend jaartal is. Als beide condities kloppen moet hij dus selected="selected" echoën.

Moet je er alleen zelf nog in maken wat hij moet echoën als er geen $_GET['Boekjaar'] is...
 
Carl Zwanenburg

Carl Zwanenburg

05/06/2014 19:27:24
Quote Anchor link
Ramon, we komen ergens.

het script werkt. bedankt daarvoor. Ga het verder uitwerken.

Ik maakte al gebruik van de functie $_GET aan het begin van de pagina.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if(isset($_GET['Boekjaar']))
$Boekjaar = $_GET['Boekjaar'];
?>


Ik gebruikte $Boekjaar al als een variabele door de webpage. Maar met jouw aanvulling werkt nu ook de "selected" functie.

Maar dan toch weer terug naar de eerste vraag.

Hoe krijg ik de 2 waardes uit de beide pull down menu's als ik op één van beide druk?




Toevoeging op 05/06/2014 19:39:42:

Ramon,

Mijn vorige vraag staat nog steeds, maar ik denk dat ik een mogelijke oplossing heb gevonden voor de vraag. Als ik een selectie maak moet het mogelijk zijn om een variabele aan te maken. Deze kan ik dan meesturen. Als ik 2 variabele kan aanmaken en deze kan meesturen kan ik ze bij het laden van de pagina uitlezen en gebruiken.

Wat ik nu eerst wil proberen is om de pull down menu's vanuit een SQL database te vullen met die waardes die in een tabel staan.

b.v. Tabel 1 heeft: Balans, Financieel, W&V
Tabel 2 heeft: Boekjaar: 2010, 2011, etc.

Hoe kan ik het pull down menu nu vullen met de gegevens uit Tabel 1? Als ik dat heb, kan ik de variabele selecteren en doorgeven aan de volgende pagina!!!!

Althans, dat hoop ik dan.

Heb jij een script om een pull down menu te maken met records uit een tabel via SQL?

Alvast bedankt.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

05/06/2014 20:16:24
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$tabel1
= (isset($_GET['tabel1'])) ? (int) $_GET['tabel1'] : 1;
$boekjaar = (isset($_GET['boekjaar'])) ? (int) $_GET['boekjaar'] : 2010;

$result1 = mysqli_query($con, "SELECT id, name FROM tabel1");
$result_bj = mysqli_query($con, "SELECT boekjaar FROM boekjaren");
?>

<select name="tabel1" onChange="this.form.submit()">
<?php
while ($row = mysqli_fetch_assoc($result1)) {
    echo '
        <option value="'
. $row['id'] .
        ((
$row['id'] == $tabel1) ? ' selected="selected"' : '') . '>' .
        $row['name'] . '</option>';
}

?>

</select>
Gewijzigd op 05/06/2014 20:17:38 door Ger van Steenderen
 
Carl Zwanenburg

Carl Zwanenburg

05/06/2014 20:53:31
Quote Anchor link
Hoi Ger,

zie net je script. Ga het gelijk uitproberen. Alvast bedankt.

Toevoeging op 05/06/2014 21:14:43:

Hoi Ger,

Heb de code overgenomen. Het werkt nog niet, maar heb er vertrouwen in dat het wel gaat lukken.

Op regel 6 roep je $result_bj aan. Hiermee selecteer je de boekjaren in de tabel boekjaren. Ik kom verder de uitkomst niet tegen. Ik zou verwachten dat je het in de While loop koppelt aan het aantal keuzemogelijkheden van het pull down menu.

Zie ik iets over het hoofd?

Grt.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

05/06/2014 21:37:01
Quote Anchor link
Jawel, de tweede select kan je op de zelfde manier doen, maar dat mag je zelf uitvogelen ;-)
 
Carl Zwanenburg

Carl Zwanenburg

05/06/2014 21:42:22
Quote Anchor link
Ik was er al mee bezig, bedankt. Nog niet werkend, maar ga stug door.

Toevoeging op 05/06/2014 22:36:08:

Ger, ik heb het gedeeltelijk werkend gekregen.

Bij de iteratie in de while loop worden slechts de even items uit de tabel getoond.

In de Tabel "Boekjaar" heb ik staan: 2005, 2006, 2007, 2008, 2009, 2010, etc.
In de while loop zie ik uiteindelijk onder echo slechts 2006, 2008, 2010, etc.

ergens wordt dus een deel overgeslagen.

Enig idee wat dat kan zijn?


Toevoeging op 05/06/2014 23:38:46:

Ger,

nog een aanvulling. Ik wil bij het selecteren van 1 van de keuzes uit het pull down menu naar een andere pagina springen.

Toen ik de volgende regel (het stukje met de "/subdiretory/webpagina.php") toevoegde kreeg ik wel alle records uit de tabel te zien.

Ik ben er nog niet achter hoe dit kan.

</php
while ($row = mysql_fetch_assoc($result_bj)) {
echo '
<option value= "/subdirectory/webpagina.php" "' . $row['boekjaarId'] .
(($row['BoekjaarId'] == $boekjaar) ? 'selected="selected"' : ' ') . '>' .
$row['Boekjaar'] . '</option>';
}
?>

Voordat ik het pull down menu maakte met een tabel als basis had ik eerst meerdere <option value= </option> statements onder elkaar staan.
Dat wil ik natuurlijk vervangen met deze tabel.

Ik ben er nog niet achter hoe ik dat het beste kan doen. Wat de bedoeling is, is dat ik aan het statement van de andere webpagina.php bijvoorbeeld: ?boekjaar=2013 meegeef, maar dan vanuit de tabel

Dus /subdirectory/webpagina.php?boekjaar=2013, maar dan anders.



Toevoeging op 05/06/2014 23:39:21:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
while ($row = mysql_fetch_assoc($result_bj)) {
echo '
<option value= "/subdirectory/webpagina.php" "'
. $row['boekjaarId'] .
((
$row['BoekjaarId'] == $boekjaar) ? 'selected="selected"' : ' ') . '>' .
$row['Boekjaar'] . '</option>';
}

?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.