Aus einer MySQL-Tabelle ein Pulldown erzeugen

Funktion:

QB_TABLE2PULLDOWN

Führt eine simple SQL-Anfrage auf eine Tabelle aus und erstellt
aus den Daten ein Pulldown.

Beispiele:

Gehen wir von der Existenz der Tabelle "nutzer" aus:

<br />
 &
#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
|   id   |   name   |  status  geschlecht |<br />
 &
#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
1      Markus   student  maennlich  |<br />
2      Peter    student  maennlich  |<br />
3      Silvia   schueler weiblich   |<br />
 &
#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />

So wird ein Pulldown mit den Namen der Nutzer erstellt. Dabei entscheiden
wir uns dafür, dass im Pulldown die Namen der Nutzer zu sehen
sind und die dazugehörigen Werte die jeweilige "id"
ist:

<br />
<?
php
echo QB_TABLE2PULLDOWN(
    
'SELECT * FROM nutzer WHERE 1'
    
,'name'
      
,'id'
);
?><br />

Da nur der Dateninhalt des Pulldowns erstellt wird, muss der SELECT-Tag
herum gebaut werden:

</p>
<
p><select name="nutzer"><br />
<?
php
    
echo QB_TABLE2PULLDOWN(
      
'SELECT * FROM nutzer WHERE 1'
      
,'name'
      
,'id'
    
);
?><br />
</select></p>
<p>

Wir legen fest, welcher Eintrag vorausgewählt wird, indem
der Wert desjenigen angegeben wird:
<br />
<
select name="nutzer"><br />
<?
php
    
echo QB_TABLE2PULLDOWN(
      
'SELECT * FROM nutzer WHERE 1'
      
,'name'
      
,'id'
      
,'2'
    
);
?><br />
</select><br />

Falls eine Mehrfachauswahl möglich sein soll, kann ebenfalls
eine Vorauswahl angegeben werden. Dazu nennen wir die Werte der
zwei Elemente:

<br />
<
select name="nutzer" size="3" multiple><br />
<?
php
    
echo QB_TABLE2PULLDOWN(
      
'SELECT * FROM nutzer WHERE 1'
      
,'name'
      
,'id'
      
,array('1''3')
    );
?><br />
</select><br />

Das könnte dich auch interessieren …

Eine Antwort

  1. Willi sagt:

    Hallo Erich,

    sieh dir bitte beim qb 1.6.0 die „check_pattern“ an.
    hier ist mE die RegEx vertauscht
    _QB_CHECK_PATTERN_ALPHA QB_CHECK_PATTERN_NUMERIC