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.

Groet
Pascal.
Daarmee haal je dus de DOM-referentie van je 'id' emp_Name1 op.
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?

Je moet dus met een AJAX-request de gegevens ophalen uit een PHP-file.
Je was toch al bezig met daarmee, geloof ik?
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>";

Na de aanpassing hiervan is het nu zo geworden.:
<option value="<?php echo $rows["Id"]; ?>"><?php echo $rows["Name1"]; ?></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.
Ik heb die nieuwe code genomen op advies van de mensen hier namelijk, dus daarom alles omgebouwd hierop.

<?php method='post' ?>

had ik in een voorbeeld gevonden toen.

Maar is mijn vraag die ik stelde dan niet mogelijk? moet ik weer alles dan terug gaan bouwen?

method="POST"

Dit hoort in je form-tag.

En die ID is toch de sleutel waarmee je jouw items oppikt binnen je systeem? Dat lijkt mij prima. Rest alleen een vertaalslag nog naar je title.
@Ariën.:
Dat heb ik.:
       <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" onsubmit="return checkForm(this);"> 


Maar snap hem niet meer.
Voorheen had ik dit.:
<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.

Reageren