Ik haal uit een query de gegevens voor een menu Item. (puldown menu). normaliter kan ik bij een inputItem de naam die ik daaraan geef gebruiken als inputwaarde voor een variabele. Nu probeer ik dit ook met de naam van een menuItem maar krijg deze niet in een vatiable. De waarde die word geselecteerd in een menuitem krijg ik niet in een variabel om die weer te kunnen gebruiken in een query. (tis als het ware een zoekopdracht ) iemand een idee?
Misschien je vraag iets verduidelijken?
Overigens zit er op je toetsenbord (als het goed is) ook een toets om op een nieuwe regel te beginnen; dit leest wat moeilijk.

Maar omdat je een nieuwe gebruiker bent, en dit je eerste post is, zullen we dit maar door de vingers zien he? :P
Wat ging je er anders aan doen Kasper :p

Wim ik snap er niets van wat je zegt gebruik enters zoals kasper zegt en toon je script dat je a hebt.
Hmm....wat ging ik er anders aan doen?

Lijkt me een duidelijke zaak he; dan moet die trakteren op taart en limonade!
Hmm goed zal mijn best doen.
Ik heb dus een tabel NAW gegevens.
via een Form wil ik een bepaalde bedrijf vinden.
Dit wil ik doen door in een Form een menu-item te gebruiken die gebruikt maakt van een array.

//menuItem
echo" <select name= keuzebedrijf>";
echo" <option>Maak een keuze</option>"; do {
echo" <option value=$row_relaties[bedrijf]selected>$row_relaties[bedrijf]</option>";
} while ($row_relaties = mysql_fetch_assoc($relaties));
$rows = mysql_num_rows($relaties);
if($rows > 0) {
mysql_data_seek($relaties, 0);
$row_relaties = mysql_fetch_assoc($relaties);
}
echo" </select>";

Nu zie ik dus wel de lijst, maar nu wil ik die waarde weer gebruiken als variabele in een query.

$query_relatie2 = "SELECT bedrijf, naam, adres, huisnummer, postcode, plaats FROM npk_relaties WHERE bedrijf='$keuzebedrijf";

Dus ipv zoeken met een textveld wil ik een menu/list veld gebruiken waar de waarde worden gehaald uit een bestaande tabel.

iets duidelijker?

en taart en limonade is nooit een probleem haha...
Is wel duidelijker zo.
Wat je denk ik moet doen is zoiets:

Eerst het aantal rijen bepalen van je tabel met mysql_num_rows(). Vervolgens zet je dat aantal in een variabele. Bv. $listResults = mysql_num_rows($result);

Dan kan je die variabele gebruiken om een loop te maken met for(). Zoiets dus:
for($1=0;$i<=$listResults;$i++) {
print "<OPTION value=\"" . $row_relaties[' bedrijf'] . "\">" . $row_relaties[' bedrijf'] . "</OPTION>";
}

En dat stukje code kan je dan weer gieten in je form. Zo moet je er vast wel uitkomen of niet?

En de taart en limonade mag je (verzekerd) opsturen naar: "Kasper" (dat komt wel aan hoor ;) )

[edit]
en de variabele $keuzeBedrijf haal je er dan uiteraard weer uit met $_GET (wel beveiligen!) of $_POST
mooi he, php. Meerder wegen die naar rome lijden.
ik had idd mysql_num_rows al benoemd in varaibel.

mysql_select_db($database_NPK, $NPK);
$query_relaties = "SELECT bedrijf FROM npk_relaties";
$relaties = mysql_query($query_relaties, $NPK) or die(mysql_error());
$row_relaties = mysql_fetch_assoc($relaties);
$totalRows_relaties = mysql_num_rows($relaties);

kortom dat gedeelte werkte wel. Ik zie de rij dan ook. Wel leuk hou jij dat oplost. werkt mooier.

Maar het gaat me dus om het vervolg. Hoe ik de keuze die gemaakt is naar een variabele zet.
Kan die POST en GET niet helemaal volgen. Die gebruik je toch met een Form? Wachrt zal heel het stukje er ff neerzetten.

switch ($mode) {
case 'zoekscherm':
require_once('../../Connections/NPK.php');
mysql_select_db($database_NPK, $NPK);
$query_relaties = "SELECT bedrijf FROM npk_relaties";
$relaties = mysql_query($query_relaties, $NPK) or die(mysql_error());
$row_relaties = mysql_fetch_assoc($relaties);
$totalRows_relaties = mysql_num_rows($relaties);
//zoekscherm
echo" <table width=550 border=1 cellpadding=0 cellspacing=0 bordercolor=#00CC33>";
echo" <tr> ";
echo" <td bgcolor=#00CC33><table width=100% border=0 cellspacing=3 cellpadding=0>";
echo" <tr>";
echo" <td><font color=#003366 size=2 face=Arial, Helvetica, sans-serif><strong>Selecteer een Bedrijf</strong></font></td>";
echo" </tr>";
echo" </table></td>";
echo" </tr>";
echo" <tr>";
echo" <td><table width=100% border=0 cellspacing=3 cellpadding=0>";
echo" <tr>";
echo" <td><form name=form1 method=post action=$PHP_SELF?mode=showgegevens method=post name=realatie>";
echo" <select name= keuzebedrijf>";
echo" <option>Maak een keuze</option>"; do {
echo" <option value=$row_relaties[bedrijf]selected>$row_relaties[bedrijf]</option>";
} while ($row_relaties = mysql_fetch_assoc($relaties));
$rows = mysql_num_rows($relaties);
if($rows > 0) {
mysql_data_seek($relaties, 0);
$row_relaties = mysql_fetch_assoc($relaties);
}
echo" </select>";
echo" <input type=submit name=Submit value=OK>";
echo" </form></td>";
echo" </tr>";
echo" </table></td>";
echo" </tr>";
echo" </table>";

mysql_free_result($relaties);
break;


case 'showgegevens':
require_once('../../Connections/NPK.php');
mysql_select_db($database_NPK, $NPK);
$query_relatie2 = "SELECT bedrijf, naam, adres, huisnummer, postcode, plaats FROM npk_relaties WHERE bedrijf='$keuzebedrijf'";
$relatie2 = mysql_query($query_relatie2, $NPK) or die(mysql_error());
$row_relatie2 = mysql_fetch_assoc($relatie2);
$totalRows_relatie2 = mysql_num_rows($relatie2);

de rest heb ik nog in ontwikkeling en ben ik mee aan het stoeien.

Keuze die gemaakt is in een variabele zetten is vrij simpel. Je maakt van een id een linkje d.m.v.
<?php
print "<A href=\"bedrijf.php?id=" . $row_relaties['id'] . "\">";
?>

(Waarbij bedrijf.php uiteraard verandert moet worden in de pagina waar je de variabele wilt gebruiken!)

Vervolgens is de id beschikbaar op die gewenste pagina met behulp van $_GET['id'];
$_GET en $_POST hoeven dus niet noodzakelijk in een form te zitten!
ik word er gek van gr....

ik moet dus die variabele die geselecteerd is gebruiken in een volgende query.
Dus de keuze die gemaakt is (een relatie dus) moet ie naar een variable zetten ($keuzebedrijf)oid.

In een andere case wil ik die variabele terughalen in een query om alles van die relatie die net geselecteerd is op het scherm te tonen en om weg te schrijven naar een andere tabel.

$query_relatie2 = "SELECT bedrijf, naam, adres, huisnummer, postcode, rel_nr, plaats FROM npk_relaties WHERE naam='$keuzebedrijf'";

Wat ik ook probeer het lukt niet. Als ik $keuzebedrijf daadwerkelijk vervang door een relatie uit de relatie_tabel dan werkt het wel.

ik word gek hiervan, het moet toch zo simpel zijn?
Alles komt dus in 1 pagina en werk ik met switch funktie by the way
$query_relatie2 = "SELECT bedrijf, naam, adres, huisnummer, postcode, rel_nr, plaats FROM npk_relaties WHERE naam='$keuzebedrijf'";


<?
$query_relatie2 = "SELECT bedrijf, naam, adres, huisnummer, postcode, rel_nr, plaats FROM npk_relaties WHERE naam='" . $_POST['keuzebedrijf'] . "'";
?>

Je haalt keuzebedrijf uit je form dmv post...

Edit: Typo

Edit 2:
<form name=form1 method=post action=$PHP_SELF?mode=showgegevens method=post name=realatie>


Dubbel aangeven dat de methode POST moet zijn, is niet nodig.... En action $PHP_SELF vervang je beter door $_SERVER['PHP_SELF'] desondanks jouw methode meestal ook nog werkt :)

Reageren