Advanced SQL - Praxistutorial 1 - Direktangebot 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. Mitglieder für Angebot anzeigen
Sorry, auch das ist wieder Pillepups, muss aber sein. Diese Aufgabe übernimmt die Methode getGildPlayersForOffer
in der Klasse Player
.
Bevor ihr also auf den Link Angebote
im oberen Menü klickt, solltet ihr sie zumindest anlegen.
3. Die Daten holen
Und wieder mal nehmen wir dazu unseren View gildenuebersicht
. Auf den haben wir schon so oft zugegriffen, dass es auf ein weiteres Mal eh nicht mehr
ankommt. Auf die Details muss ich wohl nicht mehr eingehen, das solltet ihr mittlerweile beherrschen.
public function getGildPlayersForOffer() {
$query = 'SELECT
g1.gid,
g1.mid AS mid,
g1.gilde,
g2.mid AS bid,
g1.mitglied AS mitglied,
g2.mitglied AS besitzer,
g1.gold,
g1.wesen,
g1.stufe
FROM
gildenuebersicht g1
INNER JOIN
gildenuebersicht g2 ON (g2.status = 2 AND g2.gid = g1.gid)
WHERE g1.gid != '.$_SESSION['gilde'].'
AND g1.status = 1
ORDER BY g1.mitglied';
$result = $this -> db -> selectMultiple($query);
}
4. Die Ausgabe
... läuft genau so ab wie hier. Darum werde ich mich zu den grundsätzlichen Dingen auch nicht mehr äußern.
$html = '<form action="index.php?do=market" method="post">
<table cellspacing="0" cellpadding="0">
<tr>
<th>Preis</th>
<th>Mitglied</th>
<th>Gold</th>
<th>Wesen</th>
<th>Stufe</th>
<th>Besitzer</th>
<th>Tauschangebot</th>
</tr>';
for ($i = 0; $i < count($result); $i++) {
$html .= '<tr>
<td>
<input type="text" name="buy['.$result[$i]['mid'].']" />
<input type="hidden" name="from['.$result[$i]['mid'].']"
value="'.$result[$i]['bid'].'" />
</td>
<td>'.$result[$i]['mitglied'].'</td>
<td>'.$result[$i]['gold'].'</td>
<td>'.$result[$i]['wesen'].'</td>
<td>'.$result[$i]['stufe'].'</td>
<td>'.$result[$i]['besitzer'].'</td>
<td><a href="index.php?do=swap&gid='.$result[$i]['gid'].
'&bid='.$result[$i]['bid'].'">Tauschen</a></td>
</tr>';
}
$html .= '<tr>
<td colspan="7">
<input type="hidden" name="do" value="buy" />
<input type="submit" value="Angebot machen" />
</td>
</tr></table></form>';
return $html;
Nur drei Hinweise
-
Das
<input type="hidden" name="do" value="buy" />
benötigen wir gleich für die Verarbeitung. -
Das
<input type="hidden" name="from['.$result[$i]['mid'].']" value="'.$result[$i]['gid'].'" />
dient der Zuordnung zur jeweiligen Gilde. -
Der Link (
<a href="index.php?do=swap&gid='.$result[$i]['gid'].'&bid='.$result[$i]['bid'].'">
) dient später dazu, Tauschangebote zu machen.
zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt