gegevens uit menuItem ( selected) naar variabele

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mac

Mac

13/11/2004 21:22:00
Quote Anchor link
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?
 
PHP hulp

PHP hulp

16/11/2024 15:38:51
 
Winston Smith

Winston Smith

13/11/2004 22:24:00
Quote Anchor link
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
 
Bram Z

Bram Z

13/11/2004 22:27:00
Quote Anchor link
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.
 
Winston Smith

Winston Smith

13/11/2004 22:41:00
Quote Anchor link
Hmm....wat ging ik er anders aan doen?

Lijkt me een duidelijke zaak he; dan moet die trakteren op taart en limonade!
 
Mac

Mac

13/11/2004 23:19:00
Quote Anchor link
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...
 
Winston Smith

Winston Smith

14/11/2004 02:31:00
Quote Anchor link
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
Gewijzigd op 14/11/2004 02:49:00 door Winston Smith
 
Mac

Mac

14/11/2004 20:14:00
Quote Anchor link
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.
 
Winston Smith

Winston Smith

14/11/2004 20:55:00
Quote Anchor link
Keuze die gemaakt is in een variabele zetten is vrij simpel. Je maakt van een id een linkje d.m.v.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?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!
Gewijzigd op 14/11/2004 20:55:00 door Winston Smith
 
Mac

Mac

15/11/2004 17:58:00
Quote Anchor link
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?
 
Mac

Mac

15/11/2004 17:59:00
Quote Anchor link
Alles komt dus in 1 pagina en werk ik met switch funktie by the way
 
Alfred -

Alfred -

15/11/2004 18:00:00
Quote Anchor link
Quote:
$query_relatie2 = "SELECT bedrijf, naam, adres, huisnummer, postcode, rel_nr, plaats FROM npk_relaties WHERE naam='$keuzebedrijf'";


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$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 -
 
Mac

Mac

15/11/2004 18:34:00
Quote Anchor link
Ik ga zo eerst naar huis, ff eten en daarna is helemaal weer van voren beginnen.
 

16/11/2004 15:03:00
Quote Anchor link
Tis gelukt. Was een kwestie van spaties binnen de naam van de tabel. ik had in tabel met als veld naam staan.
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.
 
Winston Smith

Winston Smith

16/11/2004 15:12:00
Quote Anchor link
Dat kan je oplossen door % tekens te gebruiken. Zo zoekt die op namen die erop lijken.
Query wordt dan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$query_relatie2
= "SELECT bedrijf, naam, adres, huisnummer, postcode, rel_nr, plaats FROM npk_relaties WHERE naam LIKE '%" . $_POST['keuzebedrijf'] . "%'";  
?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.