Door
Pascal Schuffelers
op 14-08-2018 06:20
gewijzigd op 14-08-2018 06:21
8.469 views
Hallo allemaal,
Ik ben niet super in php , maar ik probeer uiteraard het zelf, alleen helaas kom ik uit sommige dingen niet wijs.
Ik vul een dropdown menu met gegevens uit mijn sql database, zie onderstaande code.:
<?php echo '<select name ="prod"><option = "">Selecteer Product</option>';
$sqli = "SELECT DISTINCT * FROM specs WHERE Active = 'y' group by Name1";
$result = mysqli_query($conn, $sqli);
while ($row = mysqli_fetch_array($result)) {
echo '<option>'.$row['Name1'].'</option>';
}
echo '</select>*';
?>
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.
Het zal een peule schil zijn denk ik, maar ben zelf al 3 dagen bezig , tot ik toch maar hier naar jullie hulp vraag.
ja daar had ik inderdaad iets over gelezen, maar zou dus die waarde in een php var duwen.
Of is er een andere manier zonder dat ik de boel wat nu toe werk moet ombouwen?
Zoals al eerder uitgelegd is kan PHP niks met JavaScript. PHP draait op de server, en JavaScript op de client. De enige optie is AJAX-requests gebruiken.
mmmm oke, dus dat geen wat ik nu gebruik in mijn dropdown om dan die gegevens uit te lezen.
Dus als ik u goed begrijp moet ik dus die gegevens doorsturen op dezelfde manier als wat ik nu doe op die pagina?
De gegevens worden uitgelezen door die andere files, word geplaatst in mijn hoofdpagina en dat moet ik dus ook doen met die pagina?
Ja dat werkt.
Als ik een product uit mijn dropdown kies worden de gegevens via andere pagina's , deze link, uitgelezen en kan ik die op de hoofdpagina mooi uitlezen d.m.v. b.v.
<div class="col-sm-4" id="emp_Name1"></div>
Maar voor deze aanpassing waar jullie mee hielpen , had ik die drop downdown zo staan.:
echo "<option value = '$receptnames' method='post'>$receptnames</option>";
Dat houd in dat nu niet de naam word onthouden onder $receptnames maar nu onder $id, waardoor ik nu geen naam doorkrijg maar een ID.
Ik zou dus graag die ID willen aanhouden vanwege het script dat nu zijn werk doet maar zou ook nog die naam graag erbij willen hebben.
Heb niet alles volledig gelezen, maar waar komt in je oude opzet $receptnames vandaan en waarom zou het niet mogelijk zijn om dat te gebruiken in de nieuwe opzet?
Ben wel benieuwd wat <?php method='post' ?> doet in een option. Ik ken(de) het niet.
Wat me opviel, in je post van 17/08/2018 20:03:20, is dat je oude code was gebaseerd op pdo en de nieuwe op mysqli. Waarom dat? Het had mij logischer geleken om dezelfde wijze van programmeren aan te houden.
<select name="prod" onchange="showRecept(this.value)" >Selecteer Recept<option value = "" disabled selected>Selecteer Product</option><br/>
<?php
$connection = new mysqli("localhost", "xxxx", "xxxxx", "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>
Dan werd het gekozen onderdeel in de dropdown opgevangen door.:
if (isset($_POST['submit'])){
foreach ($_POST as $key => $val)
$_SESSION[$key] = $val;
Na jullie tip om die ene link daarvan het principe te gebruiken is die dropdown zo geworden.:
<select name="prod" id="employee">
<option value="" disabled selected="selected">Selecteer Product</option>
<?php
$sql = "SELECT DISTINCT Id, Name1 FROM specs WHERE Active = 'y' group by Name1";
$resultset = mysqli_query($conn, $sql) or die("database error:". mysqli_error($conn));
while( $rows = mysqli_fetch_assoc($resultset) ) {
?>
<option value="<?php echo $rows["Id"]; ?>"><?php echo $rows["Name1"]; ?></option>
<?php } ?>
</select>
En de waarde word in deze pagina ook gelijk getoond (zo even tijdelijk gemaakt).
En word getoond in dit stukje.:
</div><div class="col-sm-4" id="emp_Name1"></div>
Maar als ik die waarde dan nog in een andere pagina wil zien , is hij weg.
Daarom is mijn vraag dan of ik dat dan in een bv $var kan stoppen nadat submit van form word gedrukt.