Hauptmenü

Untermenü

Advanced SQL - Praxistutorial 1 - Tauschangebot machen Teil 1

1. Die Abschnitte

2. Mühsam ernährt sich das Einhörnchen

Soll heißen, dass auch die Anzeige eines Tauschangebots nicht sonderlich anspruchsvoll ist. Zunächst mal holen wir uns die eigenen Mitglieder und dann die aus der ausgewählten Gilde, die wir mit dem Parameter $_GET['gid'] übergeben haben.


public function getGildPlayersForSwap() {
  $query 'SELECT 
              g.mid,
              g.mitglied
            FROM
              gildenuebersicht g
            WHERE g.gid = '.$_SESSION['gilde'].'
              AND g.status = 1';
  $offer_from $this -> db -> selectMultiple($query);
  $query 'SELECT 
              g.mid,
              g.mitglied
            FROM
              gildenuebersicht g
            WHERE g.gid = '.$_GET['gid'].'
              AND g.status = 1';
  $offer_to $this -> db -> selectMultiple($query);
}

Ach ja, der Code gehört in die Klasse Player.

3. Die Ausgabe

Zuerst kommen die eigenen Mitglieder ...


$html   '<form action="index.php?do=market" method="post">
            <table cellspacing="0" cellpadding="0">
              <tr>
                <td>
                  <table cellspacing="0" cellpadding="0">
                  <caption>Meine Spieler</caption>
                  <tr>                    
                    <th></th>
                    <th>Mitglied</th>
                  </tr>';
for ($i 0$i count($offer_from); $i++) {
  $html .= '<tr>
              <td><input type="checkbox" name="from_swap['.$offer_from[$i]['mid'].']" /></td>                 
              <td>'.$offer_from[$i]['mitglied'].'</td>                 
            </tr>';
}         

... und dann die aus der ausgewählten Gilde.


$html   .= '</table></td><td>
            <table cellspacing="0" cellpadding="0">
                  <caption>Seine Spieler</caption>
                  <tr>                    
                    <th></th>
                    <th>Mitglied</th>
                  </tr>';  
for ($i 0$i count($offer_to); $i++) {
  $html .= '<tr>
              <td><input type="checkbox" name="to_swap['.$offer_to[$i]['mid'].']"/></td>                 
              <td>'.$offer_to[$i]['mitglied'].'</td>                 
            </tr>';
}    

Zusätzliche Felder

Das hidden-Feld namens to enthält die ID des Gildenmeisters, dem wir das Tauschangebot machen. Das benötigen wir gleich für eine saubere Zuordnung.


$html .= '</table></td></tr>
          <tr>
            <td><input type="text" name="offer_money" /> Gold anbieten</td>
            <td><input type="text" name="demand_money" /> Gold fordern</td>                  
          </tr>
          <tr>
            <td colspan="2">
              <input type="hidden" name="to" value="'.$_GET['aid'].'" />
              <input type="hidden" name="do" value="swap" />
              <input type="submit" value="Tauschangebot machen" />
            </td>
          </tr></table></form>';
return $html;

Ein Hinweis

Wenn man jetzt in der oberen Menüleiste erst auf Angebot und dann irgendwo auf Tauschen klickt, so bekommt man die Liste der Mitglieder zu sehen. Allerdings ist das "angeklickte" Mitglied nicht markiert. Tja, auf dieses Feature habe ich gesch***en. Wer Lust hat, kann es gerne einbauen.

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt