Datenbankfelder per Sprungmenue anzeigen?

Kerstin_B

Mitglied
Hallo zusammen, ich sitze mal wieder an einem neuen Problem. Vielleicht kann mir jemand sagen, wie ich Datenfelder aus einer Datenbank (mysql) anhand eines Sprungmenues anzeigen kann, vielen lieben Dank schon einmal für eure Unterstuezung.

Mein Sprungmenue ist wie folgt aufgebaut:

PHP:
$ausgabe .= <<<HTML

<table width="240" border="0">
  <tr>
    <td width="124"><label>Ich bin:</label></td>
    <td width="106"><form name="form" id="form">
    <select name="geschlechtsangabe" id="" onchange="">
    <option>Männlich</option>
    <option>Weiblich</option>
    <option>egal</option>
    </select>
    </form></td>
  </tr>
  <tr>
    <td><label>und suche:</label></td>
    <td><form name="form" id="form">
    <select name="geschlechtssuche" id="" onchange="">
    <option>Weiblich</option>
    <option>Männlich</option>
    <option>egal</option>
    </select>
    </form>
    </td>
  </tr>
  <tr>
    <td><label>im Alter von:</label></td>
    <td><form name="form" id="form">
    <select name="alterseinstieg" id="" onchange="">
    <option>16</option>
    <option>17</option>
    <option>18</option>
    <option>19</option>
    <option>20</option>
    <option>21</option>
    <option>22</option>
    <option>23</option>
    <option>24</option>
    <option>25</option>
    <option>26</option>
    <option>27</option>
    <option>28</option>
    <option>29</option>
    <option>30</option>
    <option>31</option>
    <option>32</option>
    <option>33</option>
    <option>34</option>
    <option>35</option>
    <option>36</option>
    <option>37</option>
    <option>38</option>
    <option>39</option>
    <option>40</option>
    <option>41</option>
    <option>42</option>
    <option>43</option>
    <option>44</option>
    <option>45</option>
    <option>46</option>
    <option>47</option>
    <option>48</option>
    <option>49</option>
    <option>50</option>
    <option>51</option>
    <option>52</option>
    <option>53</option>
    <option>54</option>
    <option>55</option>
    <option>56</option>
    <option>57</option>
    <option>58</option>
    <option>59</option>
    <option>60</option>
    <option>61</option>
    <option>62</option>
    <option>63</option>
    <option>64</option>
    <option>65</option>
    <option>66</option>
    <option>67</option>
    <option>68</option>
    <option>69</option>
    <option>70</option>
    <option>71</option>
    <option>72</option>
    <option>73</option>
    <option>74</option>
    <option>75</option>
    <option>76</option>
    <option>77</option>
    <option>78</option>
    <option>79</option>
    <option>80</option>
    </select>
    </form>
    </td>
  </tr>
  <tr>
    <td><label>bis:</label></td>
    <td> <form name="form" id="form">
    <select name="altersgrenze" id="" onchange="">
    <option>80</option>
    <option>79</option>
    <option>78</option>
    <option>77</option>
    <option>76</option>
    <option>75</option>
    <option>74</option>
    <option>73</option>
    <option>72</option>
    <option>71</option>
    <option>70</option>
    <option>69</option>
    <option>68</option>
    <option>67</option>
    <option>66</option>
    <option>65</option>
    <option>64</option>
    <option>63</option>
    <option>62</option>
    <option>61</option>
    <option>60</option>
    <option>59</option>
    <option>58</option>
    <option>57</option>
    <option>56</option>
    <option>55</option>
    <option>54</option>
    <option>53</option>
    <option>52</option>
    <option>51</option>
    <option>50</option>
    <option>49</option>
    <option>48</option>
    <option>47</option>
    <option>46</option>
    <option>45</option>
    <option>44</option>
    <option>43</option>
    <option>42</option>
    <option>41</option>
    <option>40</option>
    <option>39</option>
    <option>38</option>
    <option>37</option>
    <option>36</option>
    <option>35</option>
    <option>34</option>
    <option>33</option>
    <option>32</option>
    <option>31</option>
    <option>30</option>
    <option>29</option>
    <option>28</option>
    <option>27</option>
    <option>26</option>
    <option>25</option>
    <option>24</option>
    <option>23</option>
    <option>22</option>
    <option>21</option>
    <option>20</option>
    <option>19</option>
    <option>18</option>
    <option>17</option>
    <option>16</option>
    </select>
    </form>
	</td>
  </tr>
  <tr>
    <td><label>Nur mit Bild/Bilder:</label></td>
    <td><input name="nur mit bild" type="checkbox" value="" /></td>
  </tr>
</table>

HTML;

Gruß
Kerstin
 
Zuletzt bearbeitet:
Hi Kerstin,

verstehe noch nicht so ganz was du mit Sprungmenü meinst.

Willst mit in Listenfeldern bestimmte Angaben (Alter, Geschlecht, ...) machen und daraus dann eine Datenbankabfrage erstellen?

Gruß Thomas

P.S. Du hast schon wieder 3 mal das form-Tag im Einsatz und immer mit dem gleichen Namen.
 
Zuletzt bearbeitet:
Hi Kerstin,

verstehe noch nicht so ganz was du mit Sprungmenü meinst.

Willst mit in Listenfeldern bestimmte Angaben (Alter, Geschlecht, ...) machen und daraus dann eine Datenbankabfrage erstellen?

Gruß Thomas

P.S. Du hast schon wieder 3 mal das form-Tag im Einsatz und immer mit dem gleichen Namen.

Hallo Thomas, schön dass du da bist :)
Mit Sprungmenue meine ich, dass wenn ich auf einen kleinen Pfeil klicke, wird in einem Sprungmenue eine Auswahl angezeigt. Dort kann man dann die entsprechende Auswahl treffen. Nach der Auswahl soll mir dann das Ergebnis angezeigt werden aus einer Datenbank. Wenn ich z.Bsp. Alter 30 bis 45 wähle, soll mir anhand der Geburtsdaten in der Datenebank, die gewünschte Altersgruppe angezeigt werden.

Liebe Grüße
Kerstin


EDIT:
Anhang: Bild vom Sprungmenue
 

Anhänge

  • Sprungmenue.jpg
    Sprungmenue.jpg
    26,4 KB · Aufrufe: 5
Zuletzt bearbeitet:
Das hier müsste eigentlich die entsprechende Abfrage sein:

PHP:
$sql = "SELECT * FROM tabelle WHERE (YEAR(CURRENT_DATE) - YEAR(geburtsdatum)) BETWEEN '" .$_POST["alterseinstieg"] ."' AND '" .$_POST["altersgrenze"] ."' AND geschlecht LIKE '%" .$_POST["geschlechtssuche"] ."%'";

Du musst aber beim Feld "geschlechtssuche" noch die VALUE-Eigenschaften angeben und dann den Eintrag beim Wert "egal" leer lassen

HTML:
<option value="w">Weiblich</option>
<option value="m">Männlich</option>
<option value="">egal</option>
 
Das hier müsste eigentlich die entsprechende Abfrage sein:

PHP:
$sql = "SELECT * FROM tabelle WHERE (YEAR(CURRENT_DATE) - YEAR(geburtsdatum)) BETWEEN '" .$_POST["alterseinstieg"] ."' AND '" .$_POST["altersgrenze"] ."' AND geschlecht LIKE '%" .$_POST["geschlechtssuche"] ."%'";

Du musst aber beim Feld "geschlechtssuche" noch die VALUE-Eigenschaften angeben und dann den Eintrag beim Wert "egal" leer lassen

HTML:
<option value="w">Weiblich</option>
<option value="m">Männlich</option>
<option value="">egal</option>

Hallo Thomas,
ich danke dir vom ganzen Herzen!
Bist du so lieb und erläuterst mir noch dein Statement?

Gruß
Kerstin
 
(YEAR(CURRENT_DATE) - YEAR(geburtsdatum))

Berechnet das Alter in Jahren. Wobei du bei dir noch "geburtsdatum" gegen den Feldnamen deiner Tabelle tauschen musst.

BETWEEN '" .$_POST["alterseinstieg"] ."' AND '" .$_POST["altersgrenze"]

wählt dann die Einträge der Tabelle aus bei denen der oben ermittelte Wert zwischen (BETWEEN) den Wert der Liste "alterseinstieg" und (AND) dem Wert der Liste "altersgrenze" liegt.

Beim gesuchten Geschlecht vergleiche ich mit LIKE. Dadurch werden bei "egal" diese auch berücksichtigt. Du musst bei dir dann halt wieder die Angaben "w" und "m" durch die Werte deine Tabelle ersetzen.

NACHTRAG: Die Liste "geschlechtsangabe" kannst du dir für die Abfrage übrigens sparen. Könnte bei einer anderen Abfrage eine Rolle spielen aber hier nicht.
 
Zuletzt bearbeitet:
Du hast mir sehr geholfen und ich werde es schnellstmöglich versuchen umzusetzen. Was hätte ich nur ohne dich gemacht :-( Ich kann dir einfach nicht oft genug sagen, wie dankbar ich dir bin, vielen lieben herzlichen Dank!

Melde mich sofort nach erfolgreicher Integration in meine Seite und sage Bescheid, ob alles erwartungsgemäß funktioniert hat.

Liebe Grüße und herzlichen Dank
Kerstin
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück