Sql query in formulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Michiel F

Michiel F

27/08/2012 13:12:23
Quote Anchor link
Ik zit met het volgende; ik wil in een formulier een selectbox met daarin een naam en een datum ( bv: evenement, 12 september 2012 )

Ik heb een tabel die er als volgt uitziet:

id | naam | datum
------------------------------------
01 | evenement-1 | 12 september 2012
02 | evenement-2 | 16 november 2012

Ik heb nu het volgende om de eerste kolom binnen te halen, maar hoe voeg ik de tweede er aan toe?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$db
=& JFactory::getDBO();
$query = "
  SELECT DISTINCT `naam`
  FROM `#__extra` ;
"
;
$db->setQuery($query);
$naam = $db->loadObjectList();
?>

<select class="extra" id="naam" size="1" title="" name="naam">
<option value="">Selecteer een optie</option>
<?php
foreach($naam as $p) {
  echo "<option value='".$p->naam."'>".$p->naam."</option>";
    }

?>
 
PHP hulp

PHP hulp

20/04/2024 08:23:15
 
Chris PHP

Chris PHP

27/08/2012 13:31:04
Quote Anchor link
Vervang de foreach loop eens door een while loop.

P.S. vergeet ook niet je select weer te sluiten met </select>. Plaats deze buiten de loop!
Gewijzigd op 27/08/2012 13:32:50 door Chris PHP
 
John Berg

John Berg

27/08/2012 13:42:52
Quote Anchor link
zoiets?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
..
$query = "
  SELECT `naam`, `datum`
  FROM `#__extra`
  GROUP BY naam
"
;
?>
 
Michiel F

Michiel F

27/08/2012 16:20:43
Quote Anchor link
Gelukt!
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$db
=& JFactory::getDBO();
$query = "SELECT DISTINCT `naam`, `datum` FROM `#__extra`";
$db->setQuery($query);
$results = $db->loadObjectList();

?>

<select class="extra" id="naam" size="1" title="" name="naam">
  <option value="">Selecteer een optie</option>
<?php
foreach($results as $result) {
  echo "<option value='".$result->id."'>".$result->naam.", ".$result->datum."</option>";
}

?>


</select>

Bedankt heren
 
John Berg

John Berg

27/08/2012 16:24:17
Quote Anchor link
Je '$result->id' op regel 12 zit niet in de query?
 
Michiel F

Michiel F

27/08/2012 16:28:27
Quote Anchor link
Klopt. Net toegevoegd.

Dank je
 
John Berg

John Berg

27/08/2012 16:40:32
Quote Anchor link
Hou je er rekening mee dat je 'DISTINCT' een unieke combinatie op alle opgegeven velden zoekt?

De "GROUP BY" doet dat op 1 opgegeven veld.

Dus als je 2x hetzelfde evenement hebt op verschillende data, dan geeft de 'distinct' 2 rijen terug, en de 'group by' 1
 
Michiel F

Michiel F

27/08/2012 16:45:41
Quote Anchor link
Dank je. het is de bedoeling dat ik 2x hetzelfde evenement terugkrijg voor nu. In een later stadium, wanneer er meerdere data gekoppeld worden, wil ik een 2e selectbox die geupdate wordt met de data horende bij het geselecteerde evenement.
 



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.