Dropdown vraag na het vullen met sql gegevens.
Quote:
Zodat deze bv in een tapblad of andere pagina direct opgeroepen kunnen worden
Zou het dan niet veel handiger zijn om van GET gebruik te maken in plaats van POST, zoals eigenlijk bij alle zoekfunctionaliteit, dan hoef je ook niet heen en weer te zeulen met data tussen POST en SESSION, en kun je hyperlinks bookmarken en knippen en plakken en aan anderen doorsturen.
Gewijzigd op 25/08/2018 20:07:43 door Thomas van den Heuvel
Ik snap wat je bedoeld, maar dat houd dan in dus dat ik die dropdown weer compleet moet ombouwen want dat is het enigste probleem dat ik heb op dit moment dat ik die gegevens niet globaal kan gebruiken.
'Compleet' lijkt erg overdreven ;-)
Pascal Schuffelers op 25/08/2018 22:02:34:
weer compleet moet ombouwen
Reden te meer om dingen eerst uit te denken, en dan pas te beginnen.
Toevoeging op 25/08/2018 23:34:56:
Ik heb ergens een stukje gevonden als test met $get.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!DOCTYPE html>
<html>
<head>
<title>Hello!</title>
</head>
<body>
<li>
<select name="uDraft">
<option value="Draft Offense">Draft Offense</option>
<option value="Draft Defense">Draft Defense</option>
<option value="Trade them, we can't pick good anyways">Trade them, we can't pick good anyways</option>
</select>
</li>
</body>
<script>
<?php
if(isset($_GET["uDraft"])){
$draft= $_GET["uDraft"];
echo $draft;
}
?>
</script>
</html>
<html>
<head>
<title>Hello!</title>
</head>
<body>
<li>
<select name="uDraft">
<option value="Draft Offense">Draft Offense</option>
<option value="Draft Defense">Draft Defense</option>
<option value="Trade them, we can't pick good anyways">Trade them, we can't pick good anyways</option>
</select>
</li>
</body>
<script>
<?php
if(isset($_GET["uDraft"])){
$draft= $_GET["uDraft"];
echo $draft;
}
?>
</script>
</html>
Maar werkt niet moet die php dan ook weer onder een button?
Ik krijg het niet gevat meer, ik spring van de hak op de tak om jullie advies te testen maar niks werkt met die dropdown.
Is er echt niemand die mij , al is het een stom voorbeeld, op weg kan helpen zodat het wel gaat werken?
Constructief hoeft er niet veel te worden aangepast bij een aanpassing van POST naar GET of andersom. Toch raad ik net als wat Thomas zegt altijd aan om voor complexe vraagstukken eerst een soort work-flow uit te schrijven, zodat duidelijk wordt welke stappen en processen er verlopen tijdens de aanvraag van het script.
over je script... Ik mis een form-tag. Vanaf een formulier doe je namelijk voet je namelijk een nieuwe request uit. Als duidelijk is dat je GET gebruikt, dan gebeurt dit met de nodige name en value attributen in de URL, als een query-string (script.php?dit=dat&zus=zo&leeftijd=12)
En waarom staat je PHP-script tussen <script>?
Gewijzigd op 26/08/2018 00:27:40 door - Ariën -
Ik weet dat jullie dit niet doen, maar kan mij echt niemand (als uitzondering) een voorbeeld maken?
Een dropdown die direct resultaten geeft eronder wat hij uitleest als je de keuze in een dropdown aanpast, maar deze resultaten ook gelijk in het geheugen onthoud zodat ze in een andere pagina in bv een session staan zodat die weer in bv een sqli command gebruikt kan worden.
Ik hang op dit stukje echt vast en weet geen raad meer en kom hier ook niet verder door.
Het topic is een beetje 'vervuild' met wat dingen die je geprobeerd en gevonden hebt, waarbij je van de hak op de tak springt.
Schrijf eens uitgebreid op wat je precies wilt, met voorbeelden en wat er moet gebeuren en op welk moment. Teken het anders ook even uit met Paint ofzo.
Gewijzigd op 26/08/2018 08:45:00 door - Ariën -
Pascal Schuffelers op 26/08/2018 08:25:46:
Ik weet dat jullie dit niet doen, maar kan mij echt niemand (als uitzondering) een voorbeeld maken?
Waarom voor jou, als enige, wel een uitzondering maken? ;-)
Ik denk overigens dat er regelmatig, in andere topics, voorbeelden worden gegeven; dat gebeurt echt wel. Jij vraagt echter, denk ik, veel meer om een concrete oplossing van ons.
Pascal Schuffelers op 25/08/2018 23:31:09:
Klopt @Thomas, zal dit dan ook voor de volgende keer meenemen in de opbouw, maar voor nu zit ik dus met een dilemma en vraag daarom ook om hulp.
Wat is je dilemma dan? Doorzetten of opnieuw beginnen?
Pascal Schuffelers op 25/08/2018 23:31:09:
Ik krijg het niet gevat meer, ik spring van de hak op de tak om jullie advies te testen maar niks werkt met die dropdown.
Misschien een goed idee om dan, toch maar, de tip van Thomas toe te passen. Begin bij het begin en werk stap voor stap uit wat je wilt dat er gebeurt (en niet van de hak op de tak).
Ik voorzie dat je, als dit werkt, met een verandering / uitbreiding / aanvullende vraag komt, waarop je weer vast loopt, omdat je opbouw niet klopt/logisch is.
Pascal Schuffelers op 26/08/2018 08:25:46:
Een dropdown die direct resultaten geeft eronder wat hij uitleest als je de keuze in een dropdown aanpast, maar deze resultaten ook gelijk in het geheugen onthoud zodat ze in een andere pagina in bv een session staan zodat die weer in bv een sqli command gebruikt kan worden.
Direct resultaten? AJAX / chain select.
Op andere pagina beschikbaar --> werk met een form ($_GET of $_POST) en de gegevens zijn op de andere pagina na verzending van het formulier op die andere pagina beschikbaar. Maar wil je echt naar een andere pagina? Omdat je het ook over tabbladen hebt.
Gewijzigd op 26/08/2018 10:27:40 door Obelix Idefix
Thomas van den Heuvel op 25/08/2018 15:54:27:
Een eerste logische vraag zou dan zijn: uit hoeveel stappen bestaat dit proces, en is het aantal stappen altijd vast, of heeft het ene item enkel een subcategorie, en een ander een subsubsubcategorie.
Hier heb ik nog geen echt antwoord op gezien.
Hoe ziet jouw data er uit, hoe is deze aan elkaar gerelateerd (m.a.w. hoe knoop je deze aan elkaar), en hoeveel select-menu's wil je uiteindelijk aan elkaar hangen? Varieert dit aantal, of is het altijd X niveau's.
Laat voor nu de techniek even los en vertel eens wat over hoe je data is gestructureerd, dit is nogal van invloed op de verdere invulling.
EDIT: ik denk dat het ook handiger is als we het meer over concepten hebben dan concrete implementaties. Natuurlijk kunnen we voorbeelden geven, maar als je de concepten snapt kun je alles zelf maken en naar eigen inzicht aanpassen.
Gewijzigd op 26/08/2018 11:49:47 door Thomas van den Heuvel
Ik vul mijn dropdown vanuit een database.:
Mijn aller eerste code was dit.:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<select name="prod" id="productnaam">
<option value="" disabled selected="selected[]" multiple="multiple">Selecteer Product</option>
<?php
$connection = new mysqli("localhost", "root", "xxx", "xxxxx");
$stmt = $connection->prepare("SELECT DISTINCT Name1 FROM specs WHERE Active = 'y' group by Name1");
$stmt->execute();
$stmt->bind_result($receptnames);
while($stmt->fetch()){
echo "<option value = '$receptnames' method='post'>$receptnames</option>";
}
$stmt->close();
$connection->close();
?>
</select>
<option value="" disabled selected="selected[]" multiple="multiple">Selecteer Product</option>
<?php
$connection = new mysqli("localhost", "root", "xxx", "xxxxx");
$stmt = $connection->prepare("SELECT DISTINCT Name1 FROM specs WHERE Active = 'y' group by Name1");
$stmt->execute();
$stmt->bind_result($receptnames);
while($stmt->fetch()){
echo "<option value = '$receptnames' method='post'>$receptnames</option>";
}
$stmt->close();
$connection->close();
?>
</select>
Deze code zit in een form.
Hier zat ik met het probleem als ik iets koos, de naam niet direct bv in een label kon plaatsen, dit gebeurde pas als ik op een knop drukte, waarbij dus het gekozen product ook in een $_session zat (dus ook toegankelijk voor een andere pagina).
Op advies heb ik de code omgebouwd wat op deze link word uitgelegd.
Dit werte goed , in die zin dat alle waarden in een div word gezet en niet in een $_session.
Dit is het hele euvel wat ik wil, dat direct bij wissel in mijn dropbox de naam in een $_session word gestopt.
De structuur van mijn db is 2 kolommen met Id en Product naam.
Gewijzigd op 26/08/2018 12:43:17 door Pascal Schuffelers
Tegelijkertijd zet je een session in dat php bestand dat je met AJAX opvraagt.
Antwoord staat hier :
https://stackoverflow.com/questions/31534942/set-session-var-with-ajax
dat ik daar de waardes ook gelijk in een session moet duwwen?
Toevoeging op 26/08/2018 16:48:53:
Even ter update , zo te zien werkt de tip van @Adoptive.
Het enigste verschil is dat ik achterloop op mijn gekozen product.
Hiermee bedoel ik het volgende.
Ik kies appel , staat er niks.
Kies ik peer, dan komt appel.
Kies ik manderijn , dan komt peer.
En ik moet steeds refreshen wil ik de nieuwe waarde zien.
Als iemand een idee heeft hoe dat komt , zie ik dat graag tegemoet komen, in tussentijd stoei ik verder.
Gewijzigd op 26/08/2018 16:54:13 door Pascal Schuffelers
Pascal Schuffelers op 26/08/2018 12:42:14:
Ik vul mijn dropdown vanuit een database.
...
Dit is het hele euvel wat ik wil, dat direct bij wissel in mijn dropbox de naam in een $_session word gestopt.
De structuur van mijn db is 2 kolommen met Id en Product naam.
...
Dit is het hele euvel wat ik wil, dat direct bij wissel in mijn dropbox de naam in een $_session word gestopt.
De structuur van mijn db is 2 kolommen met Id en Product naam.
Mja, maar dat is pas de eerste stap? Want in je oorspronkelijke bericht zeg je:
Quote:
Nu zou ik graag willen zien dat als ik iets kies, dat hij met de gekozen naam daarmee de gegevens uit leest.
Dus kies ik bv. appel uit die dropdown dat hij dan alles appelen uit een andere database gaat uitlezen.
Dus kies ik bv. appel uit die dropdown dat hij dan alles appelen uit een andere database gaat uitlezen.
Dit duidt toch op meerdere stappen? Dat je specifieke informatie toont op grond van een eerdere stap?
Gewoon verder gaan op mijn laatste post.
Ik krijg nu info te zien zoals ik wil alleen loop ik achter op mijn info zoals ik vermeld in mijn laatste post.
Hoe dat gebeurt (POST + redirect, AJAX call op de achtergrond, of gewoon via de GET method) maakt verder niet zoveel uit lijkt mij, maar het is wel zaak dat je deze flow snapt, anders wordt alles knap ingewikkeld.
Pascal Schuffelers op 26/08/2018 17:08:39:
Ik krijg nu info te zien zoals ik wil alleen loop ik achter op mijn info zoals ik vermeld in mijn laatste post.
Lijkt erop dat je eerst je data weergeeft en dan pas set.
Als ik zeg
Wordt $naam wel gevuld, maar niet weergegeven. Mocht dit nou een sessie zijn, zal deze bij een refresh dus wel worden weergegeven, en daarna weer worden geset met evt. andere data.
Let dus goed op de volgorde.
Thx allemaal het werkt nu na lang lezen en testen naar behoren zoals ik het wil.