Guten Abend,
ich habe gerade ein Problem bei einer Datenbankabfrage. Ich versuche / brauche folgendes:
Ein User klickt ein Link an, der Link übergibt dann einen wert "iwant" (0 oder 1) und eine id. Nun soll überprüft werden ob der momentan eingeloggte User bereits einen Eintrag zu dieser id hat, wenn dieser bereits vorhanden ist soll geguckt werden ob das Datenbankfeld "want" 1 bzw 0 ist. Nun soll folgendes passieren:
Datensatz vorhanden -> want = 0 ?
wenn der wert aus dem link (iwant) = 1 soll nichts passieren
Ist der link wert (iwant) = 0 soll gar nichts passieren, da es ja schon in dieser form vorhanden ist.
Datensatz vorhanden -> want = 1?
wenn der wert aus dem link (iwant) = 1 soll gar nichts passieren
wenn der wert aus dem link (iwant) = 0 soll der Datensatz geupdated werden und want auf 0 gesetzt werden
Datensatz nicht vorhanden
Neuen Datensatz in die Datenbank packen mit dem jeweiligen want status
Warum ich beim ersten Fall im prinzip gar nichts machen möchte ist folgender: Ich versuche eine art liste zu schreiben wo ich angeben kann welche Spiele ich bereits besitze. Wenn ich bereits ein Spiel habe soll er natürlich wenn ich es wieder per iwant =1 anklicke nicht geupdated werden => hätte das Spiel dann irgendwann 2x
Jedoch soll wenn Ich bereits gesagt habe ich möchte das Spiel irgendwann haben (want = 1) und den link anklicke mit want=0 dies geupdated werden und somit in meiner späteren Übersicht angezeigt werden.
Und wenn beides nicht vorhanden ist einfach das jeweilige ausführen
Ich habe mich bereits versucht, jedoch macht es noch nicht ganz was es soll... jedes mal wenn ich klicke wird want auf 1 bzw 0 gesetzt.
PHP-Code:
$gameid = $db->escape_string($_REQUEST['id']);
$want = $db->escape_string($_REQUEST['want']);
if($_REQUEST['want'] == 0)
{
$checkuserowngame = $db->query_read_slave("SELECT spiele_id, user_id FROM spiele_user
WHERE spiele_id =".$gameid." AND user_id =".$userinfo['userid']." AND want = 0");
}
elseif($_REQUEST['want'] == 1)
{
$checkuserowngame = $db->query_read_slave("SELECT spiele_id, user_id FROM spiele_user
WHERE spiele_id =".$gameid." AND user_id =".$userinfo['userid']." AND want = 1");
}
$checkuserown = $db->num_rows($checkuserowngame);
if($checkuserown == 0)
{
if($_REQUEST['want'] == 0){
$usergotit = $db->query_write("INSERT INTO spiele_user (spiele_id, user_id, want, date)
VALUES(".$gameid.", ".$userinfo['userid'].", 0, NOW())");
} elseif($_REQUEST['want'] == 1) {
$usergotit = $db->query_write("INSERT INTO spiele_user (spiele_id, user_id, want, date)
VALUES(".$gameid.", ".userinfo['userid'].", 1, NOW())");
}
} else {
$usergotit = $db->query_write("UPDATE spiele_user
SET
want = 0
WHERE
spiele_id =".$gameid." AND user_id =".$userinfo['userid']);
}
wäre nett wenn mir jemand auf die Sprünge helfen würde
