Advanced SQL - Praxistutorial 1 - Tauschangebot machen Teil 1
1. Die Abschnitte
- Vorwort
- Die Datenbank-Klasse
- Verbindungsaufbau
- Login
- Die grundsätzliche Vorgehensweise
- Die Übersichtsliste
- Mitglied auf dem Marktplatz anzeigen
- Mitglied anbieten Teil 1
- Mitglied anbieten Teil 2
- Direktangebot machen Teil 1
- Direktangebot machen Teil 2
- Tauschangebot machen Teil 1
- Tauschangebot machen Teil 2
- Tauschangebot machen Teil 3
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