gegevens uit menuItem ( selected) naar variabele
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?
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
Wim ik snap er niets van wat je zegt gebruik enters zoals kasper zegt en toon je script dat je a hebt.
Lijkt me een duidelijke zaak he; dan moet die trakteren op taart en limonade!
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...
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
en de variabele $keuzeBedrijf haal je er dan uiteraard weer uit met $_GET (wel beveiligen!) of $_POST
Gewijzigd op 14/11/2004 02:49:00 door Winston Smith
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.
(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!
Gewijzigd op 14/11/2004 20:55:00 door Winston Smith
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
Quote:
$query_relatie2 = "SELECT bedrijf, naam, adres, huisnummer, postcode, rel_nr, plaats FROM npk_relaties WHERE naam='$keuzebedrijf'";
Code (php)
1
2
3
2
3
<?
$query_relatie2 = "SELECT bedrijf, naam, adres, huisnummer, postcode, rel_nr, plaats FROM npk_relaties WHERE naam='" . $_POST['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:
Quote:
<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 :)
Gewijzigd op 15/11/2004 18:02:00 door Alfred -
Ik ga zo eerst naar huis, ff eten en daarna is helemaal weer van voren beginnen.
Hier stond data in bv Klaas Janssen. De variabele had alleen dan Klaas geselecteerd.
Bij de vergelijking met query vond ie dus niks.
Maar allemaal bedankt in ieder geval.
Query wordt dan: