Dropdown uit andere tabel halen

Status
Niet open voor verdere reacties.

thapriest

Gebruiker
Lid geworden
28 okt 2009
Berichten
559
Hoe kan ik het volgende voor elkaar krijgen

Ik heb 2 tabellen in mijn database , één voor aanbod en één voor gebied(waarin het aanbod zich bevindt.

Nu heb ik in php een backend waarin ik het aanbod kan bijwerken, wat ik nu nog wil doen is in die backend een dropdown die selecteert uit de tabel gebied welke gebieden er zijn en deze dan in de database weer opslaan.(maar dan in het VELD gebied in de tabel aanbod)

Want ik kan in de backend namelijk ook de gebieden bijwerken en invoeren, en er komen er wel eens wat bij, of er vallen wat af, en om nu elke keer de dropdown box aan te gaan passen lijkt me wat overbodig, en wilde t mezelf wel een beetje makkelijk maken.

Maar hoe doe ik dit?
 
Ok nu heb ik gevonden hoe ik een waarde in de drop down box krijg, maar nu heb dus maar één ID.

Hoe zorg ik ervoor dat bij WHERE ID = , het oplopend wordt weergegeven dus als ik bijv 4 x een entry in de database heb staan ik ook 4 verschillende waarde kan weergeven in de dropdown?

Dit heb ik nu:

PHP:
$sql = "SELECT * FROM `reizen_gebieden` WHERE id = 1 ";
			$result = $modx->db->query($sql);
			$disp = mysql_result($result,$i,"gebied");
			$list .= '<option value="ochorios"'.$result.'>  '.$disp.' </option>';
 
Ok nu heb ik gevonden hoe ik een waarde in de drop down box krijg, maar nu heb dus maar één ID.

Hoe zorg ik ervoor dat bij WHERE ID = , het oplopend wordt weergegeven dus als ik bijv 4 x een entry in de database heb staan ik ook 4 verschillende waarde kan weergeven in de dropdown?

Dit heb ik nu:

PHP:
$sql = "SELECT * FROM `reizen_gebieden` WHERE id = 1 ";
			$result = $modx->db->query($sql);
			$disp = mysql_result($result,$i,"gebied");
			$list .= '<option value="ochorios"'.$result.'>  '.$disp.' </option>';

Misschien gewoon:
PHP:
$sql = "SELECT * FROM `reizen_gebieden` ";
			$result = $modx->db->query($sql);
			$disp = mysql_result($result,$i,"gebied");
			$list .= '<option value="ochorios"'.$result.'>  '.$disp.' </option>';
[/

??
 
Bedankt voor je (razendsnelle) antwoord.

Klopt idd wat je zegt, maar als ik dat doe, komt er 4 x dezelfde waarde uit, en ik weet dat ik iets moet doen het oplopend te maken, maar hoe ik dat doe, dat is voor mij nog een mysterie:(
 
PHP:
$sql = "SELECT * FROM `reizen_gebieden` ";

         while($record = mysql_fetch_array($sql))
         {
              $list .= '<option value="ochorios"'.$result.'>  '.$record['gebied'].' </option>'; 
         }

Probeer het zo eens?
 
Ok, ik heb nu dit:

PHP:
	$sql = "SELECT * FROM `reizen_gebieden` ";
					while($disp = mysql_fetch_array(sql)){
			$result = $modx->db->query($sql);
			$list .= '<option value="ochorios"'.$result.'>  '.$disp.' </option>';}

Maar dan krijg ik deze fout:
Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in C:\xampp\htdocs\modx\modx\assets\modules\reizen\backend.php on line 193.

193 is dan waar de wile regel staat

EDIT ik zie het volgens mij al... de $ vergeten
 
Ok, ik heb nu dit:

PHP:
	$sql = "SELECT * FROM `reizen_gebieden` ";
					while($disp = mysql_fetch_array(sql)){
			$result = $modx->db->query($sql);
			$list .= '<option value="ochorios"'.$result.'>  '.$disp.' </option>';}

Maar dan krijg ik deze fout:
Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in C:\xampp\htdocs\modx\modx\assets\modules\reizen\backend.php on line 193.

193 is dan waar de wile regel staat

EDIT ik zie het volgens mij al... de $ vergeten

Je moet wel aangeven nog welk veld je wilt ophalen met:
$disp['<veldnaam>']

Zo:
Code:
$list .= '<option value="ochorios"'.$result.'>  '.$disp['<veldnaam>'].' </option>';}
 
Het gebied roep ik aan, het veld heet gebied. zo heb ik hem nu:

PHP:
	$sql = "SELECT * FROM `reizen_gebieden` ";
 
         while($disp = mysql_fetch_array($sql))
         {
              $list .= '<option value="ochorios"'.$result.'>  '.$disp['gebied'].' </option>'; 
         }

Maar ik blijf de melding houden en geen resultaat in de dropdown
 
Ik ben beetje dom bezig, de sql query moet wel uitgevoerd worden natuurlijk.
PHP:
 $sql = "SELECT * FROM `reizen_gebieden` ";
 
$result = mysql_query($sql);

         while($disp = mysql_fetch_array($result))
         {
              $list .= '<option value="ochorios"'.$result.'>  '.$disp['gebied'].' </option>'; 
         }

Mijn excusses!
 
Excuses niet nodig, ben al lang blij dat je me helpt.;)

Maareuh, het werkt fenomenaal, als ik nu een gebied toevoeg, komt hij ook netjes bij de dropdown in:)

Zeer veel dank voor het oplossen van dit vraagstuk:D
 
Ik loop alweer veel te hard van stapel...

Hoe zorg ik er nu voor dat ik de gekozen waarde opgeslagen wordt in de database?
Op de huidige manier slaat hij iets met #RECORD 30 ?

EDIT: dit vis ik uit de database: Resource id #30

OPGELOST:
PHP:
$sql = "SELECT * FROM `reizen_gebieden` ";
 
$result = mysql_query($sql);
 
         while($disp = mysql_fetch_array($result))
         {
              $list .= '<option value="ochorios"'.$disp['gebied'].'>  '.$disp['gebied'].' </option>'; 
         }
 
Laatst bewerkt:
Als dat de waarde is betekend het dat je de data gewoon uitleest en niet doorloopt. Om iets in de database te zetten gebruik je:
PHP:
mysql_query('<query>');

Wanneer je de geselecteerde waarde uit de combobox in je query wilt gebruiken zul je het formulier moeten submitten en dan moeten uitlezen met: $_POST['<comboboxnaam>']
 
Als dat de waarde is betekend het dat je de data gewoon uitleest en niet doorloopt. Om iets in de database te zetten gebruik je:
PHP Code:
1
mysql_query('<query>');

Ik ben bang dat ik niet helemaal snap wat je bedoelt?? (net begonnen met een cursus PHP&SQL, dus lerende)

Wanneer je de geselecteerde waarde uit de combobox in je query wilt gebruiken zul je het formulier moeten submitten en dan moeten uitlezen met: $_POST['<comboboxnaam>']

Dat posten heb ik al, en hij zet nu ook een waarde in de database:D
 
Ohw oke :) (laat me zitten wat ik zij)

Je had het zelf al opgelost toen ik aan het typen was!
 
ah oke, ik dacht al, hij doet het, maar ik doe het niet goed:P...
Dank voor je hulp :D
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan