|
You last visited: Today at 21:25
Advertisement
Problem in Funktion
Discussion on Problem in Funktion within the Web Development forum part of the Coders Den category.
12/30/2018, 13:13
|
#1
|
elite*gold: 0
Join Date: Mar 2013
Posts: 850
Received Thanks: 408
|
Problem in Funktion
Hallo,
ich versuche mich derzeitig daran, eine art Web Item Mall für ein Spiel zu Coden und möchte mittels einer Funktion das Item in eine Datenbank eintragen lassen.
Theoretisch absolut kein Problem. Ich muss jedoch überprüfen wieviele "Giftbox" Slots frei sind.
Ich erhalte keinen Error aber auch kein Item in der Datenbank.
Vielleicht habe ich einen Fehler eingebaut. Ich würde mich sehr darüber freuen, wenn mir jemand helfen könne.
Zu beachten wäre, dass die Zahl 240 unter $number_free_slots die Maximalen Slots sind.
PHP Code:
function send_to_giftbox($item_id, $count, $user_id, $con) {
//check for available slots
$free_slots = $con->prepare("SELECT COUNT(Slot) AS slots FROM PS_GameData.dbo.UserStoredPointItems WHERE UserUID = ?");
$query_slots->bindParam(1, $user_id);
$free_slots ->execute();
$array_free_slots = $free_slots->fetch(PDO::FETCH_NUM);
$number_free_slots = 240 - $array_free_slots[0];
//search for free slot
//Nu aber wirklich einkaufen: Durch 3D Array hampeln, freien GiftBox Slot suchen und Item eintueten
$userslot = 0;
$size = $count;
for ($iterate = 0; $iterate < $size; $iterate++)
{
while($userslot < 240)
{
$query_slots = $con->prepare("SELECT ItemID FROM PS_GameData.dbo.UserStoredPointItems WHERE UserUID = '$user_ID' AND Slot = '$userslot'");
$query_slots->bindParam(1, $user_id);
$query_slots->bindParam(1, $userslot);
$query_slots->execute();
$array_slots = $query_slots->fetch(PDO::FETCH_NUM);
$is_slot = $array_slots[0];
//wenn freier slot vorhanden nutzen und Item in Giftbpx packen
if (empty($is_slot))
{
$statement = $con->prepare("INSERT INTO PS_GameData.dbo.UserStoredPointItems VALUES (?,?,?,getdate())");
$statement->bindParam(1, $user_id);
$statement->bindParam(2, $item_id);
$statement->bindParam(3, $count);
$statement->execute();
}
}
}
}
Vielen dank.
Ich wünsche allen einen Guten Rutsch in das neue Jahr 2019
|
|
|
12/30/2018, 16:41
|
#2
|
elite*gold: 100
Join Date: Apr 2008
Posts: 860
Received Thanks: 1,487
|
Quote:
Originally Posted by .:Unix:.
Code:
$query_slots = $con->prepare("SELECT ItemID FROM PS_GameData.dbo.UserStoredPointItems WHERE UserUID = '$user_ID' AND Slot = '$userslot'");
|
Was is das denn? PDO benutzen und dann doch den Query per Hand bauen? ;D
Zumal du da auch das ID großgeschrieben hast, das gibts in deinem Code so nicht und PHP Variablennamen sind case sensitive.
|
|
|
12/30/2018, 16:52
|
#3
|
elite*gold: 0
Join Date: Mar 2013
Posts: 850
Received Thanks: 408
|
Quote:
Originally Posted by florian0
Was is das denn? PDO benutzen und dann doch den Query per Hand bauen? ;D
Zumal du da auch das ID großgeschrieben hast, das gibts in deinem Code so nicht und PHP Variablennamen sind case sensitive.
|
Okay. Das mit der Query ist tatsächlich fail. Keine Ahnung was mich da geritten hat 
Ich bedanke mich erstmal. Ich überprüfe das ganze und melde mich erneut.
Danke
|
|
|
12/30/2018, 17:03
|
#4
|
elite*gold: 50
Join Date: Nov 2018
Posts: 1,065
Received Thanks: 2,594
|
Eine
Code:
while($userslot < 240)
Schleife zu machen und die Variable dann nicht hochzuzählen ist auch keine sooo gute Idee.
|
|
|
01/11/2019, 14:55
|
#5
|
elite*gold: 0
Join Date: Mar 2013
Posts: 850
Received Thanks: 408
|
Hallo,
ich habe meinen Code nun überarbeitet.
Es funktioniert auch soweit. Jedoch hängt sich mein Browser auf, wenn diese Funktion ausgeführt wird. Sieht vielleicht jemand einen fehler?
Liebe Grüßé
PHP Code:
function send_to_giftbox($item_id, $count, $user_id, $con) { //get UserUID from database $UserUID = $con->prepare("SELECT UserUID from PS_UserData.dbo.Users_Master WHERE UserID = ?"); $UserUID->bindParam(1, $user_id); $UserUID->execute(); $Userid = $UserUID->fetch(PDO::FETCH_NUM); //check for available slots $free_slots = $con->prepare("SELECT COUNT(Slot) AS slots FROM PS_GameData.dbo.UserStoredPointItems WHERE UserUID = ?"); $free_slots->bindParam(1, $Userid[0]); $free_slots ->execute(); $array_free_slots = $free_slots->fetch(PDO::FETCH_NUM); $number_free_slots = 240 - $array_free_slots[0]; //search for free slot //Nu aber wirklich einkaufen: Durch 3D Array hampeln, freien GiftBox Slot suchen und Item eintueten $userslot = 0; $size = $count; for ($iterate = 0; $iterate < $size; $iterate++) { while($userslot < 240) { $query_slots = $con->prepare("SELECT ItemID FROM PS_GameData.dbo.UserStoredPointItems WHERE UserUID = ? AND Slot = ?"); $query_slots->bindParam(1, $Userid[0]); $query_slots->bindParam(2, $userslot); $query_slots->execute(); $array_slots = $query_slots->fetch(PDO::FETCH_NUM); $is_slot = $array_slots[0]; //wenn freier slot vorhanden nutzen und Item in Giftbpx packen if (empty($is_slot)) { $statement = $con->prepare("INSERT INTO PS_GameData.dbo.UserStoredPointItems VALUES (?,?,?,?,getdate())"); $statement->bindParam(1, $Userid[0]); $statement->bindParam(2, $userslot); $statement->bindParam(3, $item_id); $statement->bindParam(4, $count); $statement->execute(); } } $userslot++; } }
|
|
|
01/11/2019, 15:17
|
#6
|
elite*gold: 100
Join Date: Apr 2008
Posts: 860
Received Thanks: 1,487
|
Code:
while($userslot < 240)
{
}
$userslot++;
|
|
|
01/11/2019, 15:27
|
#7
|
elite*gold: 0
Join Date: Mar 2013
Posts: 850
Received Thanks: 408
|
Quote:
Originally Posted by florian0
Code:
while($userslot < 240)
{
}
$userslot++;
|
Hallo,
danke für deine Antwort. Nun lädt es nichtmehr lange sondern sehr schnell.
Jedoch erhalte ich 240x das Item statt 1x.
Grüße
|
|
|
01/11/2019, 18:12
|
#8
|
elite*gold: 100
Join Date: Apr 2008
Posts: 860
Received Thanks: 1,487
|
Ich habe nur deinen Code vereinfacht. Das sollte deinen Fehler besser darstellen. Deine Whileschleife endet nie weil du die Variable immerhalb der Schleife nie veränderst.
|
|
|
 |
Similar Threads
|
[LUA] Funktion mit Funktion zu deaktivieren
06/17/2014 - General Coding - 8 Replies
Hey,
Ich arbeite erst seit geringe Zeit mit Lua und wollte mal fragen ob ihr wisste wie das geht.
Also ich habe eine Funktion (z.B. Dmg aus) und ob ich dann in einer weiteren Funktion schreiben kann das wenn das chatcommand (was ich oben gadded habe) z.B. /dmgoff benutzt wird das dmg aus geht. (bzw das hab ich schon jetzt kommt mein Problem). Wenn ich in einer Weiteren funktion mit z.B. /dmgon (das command oben schon geadded) das dmg wieder einzuschalten in dem ich die dmgoff funktion...
|
[HELP]Kostümystem clientside grob und funktion für funktion fail..
05/04/2014 - Metin2 Private Server - 2 Replies
Moin ,
ich hab das Kostümystem clientside erst funktion für funktion eingefügt, zeile für zeile aber auch bei "grob einfügen (copy and past) den gleichen scheiß fehler..
0503 15:06:14429 :: CPythonPlayer::SetItemData(dwSlotIndex=5, itemIndex=1289) - Failed to item data
0503 15:06:14430 :: CPythonPlayer::SetItemData(dwSlotIndex=38, itemIndex=41010) - Failed to item data
0503 15:06:14548 :: CMapOutdoor::Load - LoadMonsterAreaInfo ERROR
|
[S] USA.net E-mail Spammer (Proxy Funktion & Account-listen Abruf Funktion) [B] e*g
04/24/2013 - elite*gold Trading - 0 Replies
Hallo,
Ich Suche einen E-mail Spammbot der mit USA.net E-mail Adressen Arbeitet. den SMTP Herrauszufinden ist ja nicht Wirklich schwer. Er Sollte Proxy Funktionen haben (E-mail via Proxy versenden) Und er sollte eine liste mit Accounts (Format E-mail:Passwort) Einlesen und verwenden Können (Wenn eine E-mail nichtsmehr sendet wird eine 2te Genommen Also aus der Liste)
Hoffe ihr könnt mir da Weiterhelfen ^^ Kontakt Bitte per PN.
|
Hilfe bei Send Funktion mit Stop Funktion
04/02/2011 - AutoIt - 11 Replies
Hallo Elitepvpers
ich habe ein Problem und Mein Problem ist das mein Text einfach weiter schreibt wenn ich mit HotKey verwende... gib es keine Funktion das der Text einmal kommt und nicht wenn man einmal die HotKey das er 10 min das selbe schreibt :confused:
|
[C++]Funktion einer Klasse in einer anderen Funktion der Klasse verwenden, aber wie?
07/25/2010 - C/C++ - 3 Replies
Mein Problem ist eigentlich recht simpel und die Lösung wahrscheinlich auch.
Da ich bisher fast 0 mit Klassen am Hut hatte, wollte ich mich doch mit dem Thema anfreunden und hatte gleich angefangen:
int test::Funktion2()
{
int temp;
cin>>temp;
return temp;
}
|
All times are GMT +1. The time now is 21:26.
|
|