ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Dropdownmenü aus Datenbank erstellen

Geschlossen
  1. #1
    User Pic
    loser09 Mitglied
    Registriert seit
    06.11.2007
    Beiträge
    32
    Beitragswertungen
    0 Beitragspunkte
    Hallo liebe Comunity,

    ich habe wieder mal ein Problem. Ich habe ein Formular erstellt in dem jeder User meiner Seite seinen Hauptspielcharakter (main) und drei seiner Nebencharaktäre (twink1 , twink2, twink 3) definieren kann.

    Dies funktionier auch. Daten werden erfolgreich in die mySQL Datenbank geschrieben.

    Nun will ich allerdings eine Dropdownmenü erstellen wo für jeden User seine hinzugefügten Charaktäre angezeigt werden.

    Das Template habe ich bereits.

    Wie sollte dazu aber die Content PHP Datei aussehen ?

    Komm da irgendwie net weiter. Hoffe ihr könnt mir da helfen.

    Liebe Grüße


    verwendete ilch Version: 1.1 P


    Zuletzt modifiziert von loser09 am 17.04.2015 - 14:06:29
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Die Daten mit der userid aus der DB auslesen und in einer schleife ausgeben
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    loser09 Mitglied
    Registriert seit
    06.11.2007
    Beiträge
    32
    Beitragswertungen
    0 Beitragspunkte
    ZitatZitat geschrieben von Siggi
    Die Daten mit der userid aus der DB auslesen und in einer schleife ausgeben


    Hey Siggi,

    danke für das Feedback.
    Könntest Du mir bitte ein Beispiel dafür geben ?
    Bin leider nicht so der Programierer lächeln

    Liebe Grüße
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    ein bsp kannst du zb. beim JoinUs sehen.

    php
    $squad = dblistee ($squad, "SELECT id,name FROM prefix_groups WHERE show_joinus = 1 ORDER BY pos");


    htm
    <select name="squad">{squad}</select />
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    loser09 Mitglied
    Registriert seit
    06.11.2007
    Beiträge
    32
    Beitragswertungen
    0 Beitragspunkte
    Hey Siggi,

    danke für deine Hilfe.
    Bekomme es trotz dessen leider net gebacken.
    Werde es wohl erst mal einstampfen. Ist mir eindeutig zu schwierig.

    Trotzdem Danke
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    so sieht die Ausgabe des Dropdown aus:
    // Deine MySQL-Abfrage in dieser Zeile definieren.
    {
    $dropdown ='
    <option value="'. $row->main .'">'. $row->main .'</option>
    <option value="'. $row->twink1 .'">'. $row->twink1 .'</option>
    <option value="'. $row->twink2 .'">'. $row->twink2 .'</option>
    <option value="'. $row->twink3 .'">'. $row->twink3 .'</option>';
    }

    Ich muss aber auch sagen dass es etwas ungeschickt ist alle Twinks in eine Zeile zu speichern, ich würde eher pro Charakter einen Eintrag machen, so kann man diese einfacher abrufen und mit ihnen auch einzeln arbeiten.
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Achja mein Fehler ich bin davon ausgegangen das die alle einzeln in der db gespeichert werden und mit der gleichen userid aufgerufen
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    loser09 Mitglied
    Registriert seit
    06.11.2007
    Beiträge
    32
    Beitragswertungen
    0 Beitragspunkte
    // Deine MySQL-Abfrage in dieser Zeile definieren.
    {
    $dropdown ='
    <option value="'. $row->main .'">'. $row->main .'</option>
    <option value="'. $row->twink1 .'">'. $row->twink1 .'</option>
    <option value="'. $row->twink2 .'">'. $row->twink2 .'</option>
    <option value="'. $row->twink3 .'">'. $row->twink3 .'</option>';
    }


    Hey das siehst brauchbar aus lächeln
    {dropdown} dann in html eibinden zwischen select. richtig ?
    Wie lasse ich mir aber nun nur vom eingelogten User die Charaker anzeigen ?
    Also wie bzw womit vergleiche ich die userid in der db ?

    Wie gesagt bin da unbefleckt was mysql angeht ... ist für mich alles neuland. ganz erhlich gesagt verstehe ich auch nicht wie ich die daten aus der datenbank wieder zurück auf die seite bekomme.
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    $_SESSION['authid'] ist gleich deine ID
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    loser09 Mitglied
    Registriert seit
    06.11.2007
    Beiträge
    32
    Beitragswertungen
    0 Beitragspunkte
    Bitte nicht lachen habe mal was zusammen gebastelt.
    Natürlich nochnet getestet. Wollte mal wissen in wie fern das so geht.

    <?php
    defined ('main') or die ( 'no direct access' );
    
    $title = $allgAr['title'].' :: Main-Twink-Auswahl';
    $hmenu = 'Main-Twink-Auswahl';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    $tpl = new tpl ( 'maintwink.htm' );
    
    $user = $_SESSION['authid'];
    
    $abf = 'SELECT * FROM prefix_wow_raids_maintwinks WHERE userid = "'.$user.'"';
    $erg = db_query($abf);
    
    while($row = db_fetch_assoc($erg)) {
    
       $dropdown ='
       <option value="'. $row->main .'">'. $row->main .'</option>
       <option value="'. $row->twink1 .'">'. $row->twink1 .'</option>
       <option value="'. $row->twink2 .'">'. $row->twink2 .'</option>
       <option value="'. $row->twink3 .'">'. $row->twink3 .'</option>';
    
    }
    
    
    $ar = array(
            'main' => $row['main'],
    	'twink1' => $row['twink1'],
    	'twink2' => $row['twink2'],
    	'twink3' => $row['twink3'],
    );
    
    
    $tpl->set_ar_out($ar,0);
    $design->footer();
    ?>
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Kannst es mal so probieren.

    <?php
    
    defined('main') or die('no direct access');
    
    $title = $allgAr['title'] . ' :: Main-Twink-Auswahl';
    $hmenu = 'Main-Twink-Auswahl';
    $design = new design($title, $hmenu);
    $design->header();
    
    $tpl = new tpl('maintwink.htm');
    
    $user = $_SESSION['authid'];
    
    $abf = 'SELECT * FROM prefix_wow_raids_maintwinks WHERE userid = '.$user;
    $erg = db_query($abf);
    $row = db_fetch_assoc($erg);
    
    $dropdown = '<option value="'.$row['main'].'">'.$row['main'].'</option>
                 <option value="'.$row['twink1'].'">'.$row['twink1'].'</option>
                 <option value="'.$row['twink2'].'">'.$row['twink2'].'</option>
                 <option value="'.$row['twink3'].'">'.$row['twink3'].'</option>';
    
    $tpl->set_out('dropdown', $dropdown, 0);
    
    $design->footer();
    
    ?>



    Zuletzt modifiziert von Siggi am 16.04.2015 - 19:39:56
    1 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    loser09 Mitglied
    Registriert seit
    06.11.2007
    Beiträge
    32
    Beitragswertungen
    0 Beitragspunkte
    Super hat geklappt lächeln

    Habe den Code nun in meinem Raidplaner übernommen und es lief auf Anhieb.

    Dicken Dank an euch.
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Laut deinem PHP machst du die Twink-Auswahl separat, dachte du willst es direkt in das "Teilnahme-Formular" unterhalb der Raiddetails einbinden?

    So habe ich es zumindest aus dem Mail-Verkehr verstanden, oder habe ich da etwas falsch verstanden? lächeln


    Zuletzt modifiziert von Ahrtas am 17.04.2015 - 12:57:39
    1 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    loser09 Mitglied
    Registriert seit
    06.11.2007
    Beiträge
    32
    Beitragswertungen
    0 Beitragspunkte
    Hey Cristian,

    das habe ich ... habe den Code natürlich für das "Teilnahme-Formular" angepasst. Wollte es hier nur als "Clear"-Version um es selber besser zu verstehn.

    Hat dann auf anhieb gepasst. lachen

    Wie schon via Mail gesagt ... regestriere Dich mal bei uns ... dann kannst Du den komplett überarbeiteten Raidplaner mal erkundschaften lächeln
    Bzw. sag mir mal wann Du heute vielleicht Zeit hast im ts zu schnacken.

    Liebe Grüße
    Nico


    PS: Aber mal so by-the-way wäre es net auch mit array gegangen ?
    Dann hätte ich doch in htm nur {main} {twink1} {twink2} {twink3}in Tabelle nutzen brauchen können, oder ?

    <option value="{main}">{main}</option>
    <option value="{twink1}">{twink3}</option>
    <option value="{twink2}">{twink3}</option>
    <option value="{twink3}">{twink3}</option>';



    Edit:

    Glaube aber Array hat so aussehen müssen:
    $ar = array(
            'main' => $row->main,
        'twink1' => $row->twink1,
        'twink2' => $row->twink2,
        'twink3' => $row->twink3,
    );



    Zuletzt modifiziert von loser09 am 17.04.2015 - 13:59:35
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Hätte auch mit Array funktioniert, dann müsstest du eben im HTML das so einfügen:
    <select name="deinchar">
    {EXPLODE}
    <option value="{char}">{char}</option>
    {EXPLODE}
    </select>

    Und in PHP
    while($row = db_fetch_assoc($erg)) {
     
       $chars = array(
          $row->main,
          $row->twink1,
          $row->twink2,
          $row->twink3
       );
     
    }
    foreach( $chars as $value) {
    $tpl->set_out('char', $value, 999); // 999 ersetzen mit der jeweiligen EXPLODE-Zahl
    }
    1 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    loser09 Mitglied
    Registriert seit
    06.11.2007
    Beiträge
    32
    Beitragswertungen
    0 Beitragspunkte
    ahhh ok.

    Danke Euch lächeln
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten