Jump to content

استفسار :# :@ :#


Recommended Posts

سلآم عليكم ي حلوين

عساكم طيبين ؟"

المهم بغيت استفسر عن شغلة

خلنا نفرض إني مسوي قاعدة بيانات

وعليها 3 كولمن

الأول سيريالي والثاني قيمة والثالث قيمة انا محددها

لو نفرض اني جيت ارسل ألبيانات للقاعدة لأول مرة

رح تروح وتنحفظ طبيعي

لأكن لو ابي اتحقق إني رسلت معلومات من قبل وانو المعلومات اللي ابي ارسلها من جديد ماتساوي المعلومات القديمة

ولو ابي احفظ المعلومات الجديدة بشكل مختلف يعني لما اجي احدد الاقي المعلومات الجديدة تختلف عن القديمة اللي رسلتها !

function(BoutghType, BoutghPlan, BoutghPrice, STC, CARDnumber1, CARDnumber2, CARDnumber3, CARDnumber4, CARDnumber5, CARDnumber6) 
local check = executeSQLQuery( ' SELECT * FROM `testBuyTable` WHERE userSerial=? ', SERIAL_ ) 
if ( type(check) == "table" and #check == 0 or not check) then 
executeSQLQuery( ' INSERT INTO `testBuyTable` (userSerial,userName,boughtType,boughtPlan,boughtPrice,typeCard,CARD1,CARD2,CARD3,CARD4,CARD5,CARD6) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ', getPlayerSerial(source), getPlayerName(source), BoutghType, BoutghPlan, BoutghPrice, STC, CARDnumber1, CARDnumber2, CARDnumber3, CARDnumber4, CARDnumber5, CARDnumber6) 
triggerClientEvent( 'UPDATEGRIDLIST', source) 
else  
local oldItemBought = check[1]['boughtType'] 
local oldItemPlan = check[1]['boughtPlan'] 
if (BoutghType == oldItemBought) and (oldItemPlan == oldItemPlan) then return outputChatBox('ERROR : You bought this item !') end 
executeSQLQuery( ' INSERT INTO `testBuyTable` (userSerial,userName,boughtType,boughtPlan,boughtPrice,typeCard,CARD1,CARD2,CARD3,CARD4,CARD5,CARD6) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ', getPlayerSerial(source), getPlayerName(source), BoutghType, BoutghPlan, BoutghPrice, STC, CARDnumber1, CARDnumber2, CARDnumber3, CARDnumber4, CARDnumber5, CARDnumber6) 
triggerClientEvent( 'UPDATEGRIDLIST', source) 

هنا مسوي تحققات وكل شي تمام

لأكن معي قريد لست فيه كل الجداول حقت الاعبين اللي بالقاعدة

ولو حددت على واحد ولنفرض انه نفس الاعب وهو راسل مرتين معلومات جديدة وقديمة ومعولماته واحدة تختلف عن الثانية

ابي لما احدد يطلع المعلومات مختلفة مايجي نفس المعلومات الأولى اللي حفظتها :)

أتمنى ماحد انلحس مخه وفهمني كويس :wink:

Link to comment
  
serial = getPlayerSerial(source) 
value1 = ... 
value2 = ... 
executeSQLQuery("UPDATE testBuyTable SET value = ?, value2 =? WHERE serial =?", value1, value2, serial) 

لنفرض أنه يبي يحط قيمة جديدة مو يستبدل القيمة القديمة بـ الجديدة :|

Link to comment
  
serial = getPlayerSerial(source) 
value1 = ... 
value2 = ... 
executeSQLQuery("UPDATE testBuyTable SET value = ?, value2 =? WHERE serial =?", value1, value2, serial) 

لنفرض أنه يبي يحط قيمة جديدة مو يستبدل القيمة القديمة بـ الجديدة

طيب ياقلبي انت سوي جدول و سوي هالطريقة

words={} 
  
words[number] = "Hello" 
words[number+1]="World" 
  

وحطها بالسكل

و إذا مانفعت او ماقدرت تسويها

تقدر تسوي داتا للاعب بجدول

بحيث انك تجيب هالجدول واللي فيه

مثل ذا

setElementData( element, "WORDS", { word1="Hello", word2="World" } ) 
  
  

تجيبها كذا

  
tableData = getElementData( element, "WORDS" ) 
  
tableData.word1 > "Hello" 
tableData.word2 > "World" 
  

Link to comment
ابي لما احدد يطلع المعلومات مختلفة مايجي نفس المعلومات الأولى اللي حفظتها :)

وضح اكثر + وين يطلع المعلومات ؟؟

كل المطلوب هو ^

لوحة شراء

ولوحة إدارة المشتريات ^.^

لوحة الأدارة فيها قريد لست للاعبين اللي اشتروآ وكل شي مضبطه انا

بس ابيه لما يشتري مرة ثانية ويدفع بطائق ويشتري حاجة ثانية تجي ارقام البطائق الجديدة موب القديمة ^

Link to comment

محاولة :

CARDS = {   } ; 
addEvent( 'NewPlayerBought', true ) 
addEventHandler( 'NewPlayerBought', root, 
function(BoutghType, BoutghPlan, BoutghPrice, STC, CARDnumber1, CARDnumber2, CARDnumber3, CARDnumber4, CARDnumber5, CARDnumber6) 
local CARD1_ = CARDS[source].CARDnumber1 
local CARD2_ = CARDS[source].CARDnumber2 
local CARD3_ = CARDS[source].CARDnumber3 
local CARD4_ = CARDS[source].CARDnumber4 
local CARD5_ = CARDS[source].CARDnumber5 
local CARD6_ = CARDS[source].CARDnumber6 

يجي expected to index field "?" ( a nil value )

بأول سطر من المتغيرات CARD

Link to comment
تقصد

انت عايز قيمة جديدة غير القديمة

مش تحديث للقيمة القديمة

؟؟ UPDATE بدال INSERT استخدم

او ايه قصدك بالظبط؟

معي لوحة شراء وابي لما يرسل معلومات ويبي يشتري مرة ثانية

وهو مشتري شي ثاني من قبل

لاكن الشي اللي اشتراه سابقا مايساوي نفس الشي اللي يبي يشتريه مرة ثانية

تروح ارقام البطائق الجديدة للقاعدة وابي لما احدد على الاعب تجي الأرقام الجديدة موب القديمة ^

Link to comment

isCode = executeSQLQuery("SELECT * FROM TableName WHERE Ex.Code1 = '"..tostring( Code1 ).."'") 
  
if ( #isCode == 0 )   then 

insert بعد التحقق سوي

الكود ذا يتحقق ان الكود الاول مثلا ماهب موجود تسوي انسرت

... الباقي عليكك

Link to comment
isCode = executeSQLQuery("SELECT * FROM TableName WHERE Ex.Code1 = '"..tostring( Code1 ).."'") 
  
if ( #isCode == 0 )   then 

insert بعد التحقق سوي

الكود ذا يتحقق ان الكود الاول مثلا ماهب موجود تسوي انسرت

... الباقي عليكك

انا مسوي كذا

addEvent( 'NewPlayerBought', true ) 
addEventHandler( 'NewPlayerBought', root, 
function(BoutghType, BoutghPlan, BoutghPrice, STC, CARDnumber1, CARDnumber2, CARDnumber3, CARDnumber4, CARDnumber5, CARDnumber6) 
local check = executeSQLQuery( ' SELECT * FROM `testBuyTable` WHERE userSerial=? ', SERIAL_ ) 
if ( type(check) == "table" and #check == 0 or not check) then 
executeSQLQuery( ' INSERT INTO `testBuyTable` (userSerial,userName,boughtType,boughtPlan,boughtPrice,typeCard,CARD1,CARD2,CARD3,CARD4,CARD5,CARD6) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ', getPlayerSerial(source), getPlayerName(source), BoutghType, BoutghPlan, BoutghPrice, STC, CARDnumber1, CARDnumber2, CARDnumber3, CARDnumber4, CARDnumber5, CARDnumber6) 
triggerClientEvent( 'UPDATEGRIDLIST', source) 
else  
local oldItemBought = check[1]['boughtType'] 
local oldItemPlan = check[1]['boughtPlan'] 
if (BoutghType == oldItemBought) and (oldItemPlan == oldItemPlan) then return outputChatBox('ERROR : You bought this item !') end 
executeSQLQuery( ' INSERT INTO `testBuyTable` (userSerial,userName,boughtType,boughtPlan,boughtPrice,typeCard,CARD1,CARD2,CARD3,CARD4,CARD5,CARD6) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ', getPlayerSerial(source), getPlayerName(source), BoutghType, BoutghPlan, BoutghPrice, STC, CARDnumber1, CARDnumber2, CARDnumber3, CARDnumber4, CARDnumber5, CARDnumber6) 
triggerClientEvent( 'UPDATEGRIDLIST', source) 
outputChatBox(STC) 
end 
end 
) 

Link to comment
addEvent( 'NewPlayerBought', true ) 
addEventHandler( 'NewPlayerBought', root, 
function(BoutghType, BoutghPlan, BoutghPrice, STC, CARDnumber1, CARDnumber2, CARDnumber3, CARDnumber4, CARDnumber5, CARDnumber6) 
local check = executeSQLQuery( ' SELECT * FROM `testBuyTable` WHERE userSerial=? ', getPlayerSerial(source)) 
if ( type(check) == "table" and #check == 0 or not check) then 
executeSQLQuery( ' INSERT INTO `testBuyTable` (userSerial,userName,boughtType,boughtPlan,boughtPrice,typeCard,CARD1,CARD2,CARD3,CARD4,CARD5,CARD6) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ', getPlayerSerial(source), getPlayerName(source), BoutghType, BoutghPlan, BoutghPrice, STC, CARDnumber1, CARDnumber2, CARDnumber3, CARDnumber4, CARDnumber5, CARDnumber6) 
triggerClientEvent( 'UPDATEGRIDLIST', source) 
else 
local oldItemBought = check[1]['boughtType'] 
local oldItemPlan = check[1]['boughtPlan'] 
if (BoutghType == oldItemBought) and (oldItemPlan == oldItemPlan) then return outputChatBox('ERROR : You bought this item !') end 
executeSQLQuery( ' INSERT INTO `testBuyTable` (userSerial,userName,boughtType,boughtPlan,boughtPrice,typeCard,CARD1,CARD2,CARD3,CARD4,CARD5,CARD6) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ', getPlayerSerial(source), getPlayerName(source), BoutghType, BoutghPlan, BoutghPrice, STC, CARDnumber1, CARDnumber2, CARDnumber3, CARDnumber4, CARDnumber5, CARDnumber6) 
triggerClientEvent( 'UPDATEGRIDLIST', source) 
outputChatBox(STC) 
end 
end 
) 

:?

موضابطهةء

الزبدهةء انه يجيب البيانات اللي رسلتها للقاعدة واللي مسجلة على سيريالي اول شي

يعني لو رسلت بيانات ثانية مرة ثانية يجيب البيانات الأولى ومايجيب الثانية :|

Link to comment

تم حل المشكلة

# يرجى اغلاق الموضوع ,

# Fixed by TOPIC Owner :

  
addEvent( 'getCARDS', true ) 
addEventHandler( 'getCARDS', root, 
function(SERIAL_, ID) 
local checkPlayer = executeSQLQuery( ' SELECT * FROM `testBuyTable` WHERE userSerial=?', SERIAL_ ) 
if (checkPlayer) then end 
local checkID = executeSQLQuery( ' SELECT * FROM `testBuyTable` WHERE userID=?', ID ) 
local CARD1_ = checkID[1]['CARD1'] 
local CARD2_ = checkID[1]['CARD2'] 
local CARD3_ = checkID[1]['CARD3'] 
local CARD4_ = checkID[1]['CARD4'] 
local CARD5_ = checkID[1]['CARD5'] 
local CARD6_ = checkID[1]['CARD6'] 
local CARDtype_ = checkID[1]['typeCard'] 
triggerClientEvent(source, 'putNUMBERS', source, CARDtype_, CARD1_, CARD2_, CARD3_, CARD4_, CARD5_, CARD6_) 
end 
) 
  

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...