Hallo zusammen,
ich hab folgendes Prob: bei einem neuen Laden, werden alle Items mit einer Benutzer-ID versehen, wenn sie gekauft werden. Also sie können nur einmal gekauft werden von einer Person. Wie krieg ich das hin, dass jeder die Gegenstände beliebig oft kaufen kann?
Hier der Code:
[php]<?php
// Amroth der Krämer
//
http://www.fargoth.de
// Idee: Belkelel
// Umsetzung und Modifikation: Erinyen
// Base: Aeki der Wanderhändler
require_once "common.php";
page_header("`+Amroth`qs Krämerladen");
if ($_GET['op']=="buy")
{
if (!$_GET['id'])
{
$sorti=($_GET['sorti']?"$_GET[sorti]":"class DESC, name");
output("`qDu betrittst das große große Krämerladen, in dem dich gleich ein kleiner leicht genervter Zwerg namens `+Amroth`qbegrüßt und dir versucht gleich ein paar Kleinigkeiten aufzuschwatzen, die dir stark überteuert erscheinen und du dich erst einmal in ruhe in seinem Geschäft umzusehen beginnst… ");
$ppp=25;
if (!$_GET['limit'])
{
$page=0;
}else
{
$page=(int)$_GET['limit'];
addnav("Vorherige Waren","kraemer.php?op=buy&sorti=$sorti&limit=".($page-1));
}
$limit="".($page*$ppp).",".($ppp+1);
$sql="SELECT * FROM items WHERE owner=0 AND kraemer = 1 ORDER BY $sorti ASC LIMIT $limit";
$result=db_query($sql);
if (db_num_rows($result)>$ppp) addnav("Mehr Waren","kraemer.php?op=buy&sorti=$sorti&limit=".($page+1));
if (db_num_rows($result))
{
output("<table border = '0' cellpadding='2' cellspacing='2'>",true);
output("<tr class='trhead'><td>`b<a href='kraemer.php?op=buy&sorti=name&limit={$_GET['limit']}'>Name</a>`b</td><td>`b<a href='kraemer.php?op=buy&sorti=".urlencode("gems ASC,gold")."&limit=$_GET[limit]'>Preis</a>`b</td><td>`b<a href='kraemer.php?op=buy&sorti=".urlencode("class DESC,name")."&limit=$_GET[limit]'>Klasse</a>`b</td></tr>",true);
addnav("","kraemer.php?op=buy&sorti=name&limit={$_GET['limit']}");
addnav("","kraemer.php?op=buy&sorti=".urlencode("gems ASC,gold")."&limit={$_GET['limit']}");
addnav("","kraemer.php?op=buy&sorti=".urlencode("class DESC,name")."&limit={$_GET['limit']}");
for ($i=0;$i<db_num_rows($result);$i++)
{
$row = db_fetch_assoc($result);
$bgcolor=($i%2==1?"trlight":"trdark");
output("<tr class='$bgcolor'><td><a href='kraemer.php?op=buy&id=$row[id]'>$row[name]</a></td><td align='right'>`^$row[gold]`0 Gold, `#$row[gems]`0 Edelsteine</td><td>{$row['class']}</td></tr><tr class='$bgcolor'><td colspan='3'>$row[description]</td></tr>",true);
addnav("","kraemer.php?op=buy&id={$row['id']}");
}
output("</table>",true);
}
else
{
output("`+Amroth`qhat heute schon ein gutes Geschäft gemacht hat, will er sich leider nicht von seinen verbliebenen Sachen trennen. Enttäuscht schlenderst du zurück zum Dorfplatz.");
}
}
else
{
$sql="SELECT * FROM items WHERE id={$_GET['id']}";
$result=db_query($sql);
$row = db_fetch_assoc($result);
if ($session['user']['gems']<$row['gems'] || $session['user']['gold']<$row['gold'])
{
output("`qDas kannst du dir nicht leisten. `+Amroth`q schüttelt nur traurig den Kopf und verstaut $row[name] wieder in einem der Regale.");
addnav("Weiter umschauen","kraemer.php?op=buy");
}
else if (db_num_rows(db_query("SELECT id FROM items WHERE name='$row[name]' AND owner=".$session['user']['acctid']." AND class='kraemer'"))>0)
{
output("`qDu hast ".$row['name']."`q schon. Du überlegst, ob sich eine Neuanschaffung wirklich lohnt. Allerdings müsstest du dazu auch erst den alten Krempel verkaufen.");
addnav("Weiter umschauen","kraemer.php?op=buy");
}
else
{
output("`+Amroth`q reibt sich die Hände und übergibt dir $row[name], während du ".($row[gold]?"`^$row[gold] `qGold":"")." ".($row[gems]?"`#$row[gems]`q Edelsteine":"")." abzählst. ");
addnav("Mehr kaufen","kraemer.php?op=buy");
$sql="UPDATE items SET owner={$session['user']['acctid']} WHERE id={$_GET['id']}";
$session['user']['gold']-=$row['gold'];
$session['user']['gems']-=$row['gems'];
db_query($sql);
}
}
addnav("Zurück","kraemer.php");
addnav("Zurück zum Dorf","village.php");
}
else if ($_GET['op']=="sell")
{
if (!$_GET['id'])
{
output("`+Amroth`q begutachtet deinen Besitz. Mit dem geübten Auge eines Kenners sortiert er die Dinge aus, die ihn interessieren würden und nennt dir einen Preis dafür.`n`n");
$sql="SELECT * FROM items WHERE owner=".$session['user']['acctid']." AND kraemer = 1";
$result=db_query($sql);
if (db_num_rows($result))
{
output("<table border='0' cellpadding='0'>",true);
output("<tr class='trhead'><td>`bName`b</td><td>`bPreis`b</td></tr>",true);
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
$bgcolor=($i%2==1?"trlight":"trdark");
output("<tr class='$bgcolor'><td><a href='kraemer.php?op=sell&id=$row[id]'>$row[name]</a></td><td align='right'>`^$row[gold]`0 Gold, `#$row[gems]`0 Edelsteine</td></tr><tr class='$bgcolor'><td colspan='2'>$row[description]</td></tr>",true);
addnav("","kraemer.php?op=sell&id={$row['id']}");
}
output("</table>",true);
}
else
{
output("Du hast aber nichts, was `+Amroth`q interessieren würde. Enttäuscht schlenderst du zurück zum Dorfplatz.");
}
}
else
{ // Hell Raiser
$sql="SELECT * FROM items WHERE id={$_GET['id']}";
$result=db_query($sql);
$row = db_fetch_assoc($result);
output("`qMit einem breiten und siegessicheren Grinsen gibt er dir die vereinbarten ".($row[gold]?"`^$row[gold] `qGold":"")." ".($row[gems]?"`#$row[gems]`q Edelsteine":"")." und schnappt sich $row[name]. ");
if ($row['class']=="Beute") output("Noch bevor du fragen kannst, wofür $row[name] wirklich zu gebrauchen ist, lässt der Krämer das Teil in einem seiner Regale verschwinden, grinst immer noch und fragt, ob du sonst noch etwas für ihn hast.");
addnav("Mehr verkaufen","kraemer.php?op=sell");
addnav("Mehr verkaufen","kraemer.php?op=sell");
$sql="UPDATE items SET owner=0 WHERE id={$_GET['id']}";
$session['user']['gold']+=$row['gold'];
$session['user']['gems']+=$row['gems'];
db_query($sql);
}
addnav("Zurück zum Dorf","village.php");
}
else
{
output("`qDu betrittst das große große Krämerladen, in dem dich gleich ein kleiner leicht genervter Zwerg namens `+Amroth`qbegrüßt und dir versucht gleich ein paar Kleinigkeiten aufzuschwatzen, die dir stark überteuert erscheinen und du dich erst einmal in ruhe in seinem Geschäft umzusehen beginnst… ");
addnav("Im Laden umsehen","kraemer.php?op=buy");
addnav("Etwas verkaufen","kraemer.php?op=sell");
addnav("Zurück zum Dorf","village.php");
}
page_footer();
?>[/php]