xBeSoOo Posted February 3, 2016 Share Posted February 3, 2016 السلام عليكم ورحمة الله وبركاته شباب عندي استفسار عن الاس كيو ال انا فهمت من شرح برستيج قبل كيف استخدمها في الحفظ وكذا وطبقت الشرح وكذا وفهمت وتمام لكن لكن فيه حالت مثلا هي الي مب فاهمك كيف استخدم فيها الاس كيو ال مثل: لو ابي اسوي مثلا شات كيف استخدم الاس كيو ال فيه او مثلا ابي اسوي كل لما اللاعب يدخل يحفظ سرياله وكتوضيح : انا فهمت من شرح برستيج انه لو ابي احفظ شي لازم يكون علي شي ثابت مثلا سريال اللاعب شي ثابت او حساب انشاء الله تكنون فهمتوني Link to comment
nxFairlywell Posted February 3, 2016 Share Posted February 3, 2016 https://forum.multitheftauto.com/viewtopic.php?f=160&t=59144&hilit=executeSQLQuery Link to comment
xBeSoOo Posted February 3, 2016 Author Share Posted February 3, 2016 https://forum.multitheftauto.com/viewtopic.php?f=160&t=59144&hilit=executeSQLQuery انت ما فهمت وش اقصد انا شفت شرح برستيج وفهمته وعرفت كيف احفظ بها بس الي انا مب فاهمه انه كيف استخدمها مثلا في مود الشات او في مود يحفظ سريلات اللاعبين او مود مثلا ارسال طلبات مثل الريبورت الي في لوحة الادمنية Link to comment
H25 Posted February 3, 2016 Share Posted February 3, 2016 اذا تبي تضيف اي شي في القاعدة تستخدم insert هذا مثال سريع والمفترض انك تعرفه executeSQLQuery ( "INSERT INTO PlayerSerial ( account, serial ) VALUES ( ?, ? )", "test", "test" ) الحين اذا تبي تحفظ السريال على اكاونت اللاعب اول مايسجل دخول تستخدم حدث onPlayerLogin + الكود الي فوق وإذا ماتبي يضيف سيريالات مكررة تتحقق هل موجود السريال اول لا عن طريق الـ select local check = executeSQLQuery( "SELECT * FROM PlayerSerial WHERE account = ? AND serial=?", playerAcc, PlayerSerial) if ( type ( check ) == "table" and #check == 0 ) or not check then -- Your code end حاول تسوي الكود بنفسك .. Link to comment
xBeSoOo Posted February 3, 2016 Author Share Posted February 3, 2016 اذا تبي تضيف اي شي في القاعدة تستخدم insertهذا مثال سريع والمفترض انك تعرفه executeSQLQuery ( "INSERT INTO PlayerSerial ( account, serial ) VALUES ( ?, ? )", "test", "test" ) الحين اذا تبي تحفظ السريال على اكاونت اللاعب اول مايسجل دخول تستخدم حدث onPlayerLogin + الكود الي فوق وإذا ماتبي يضيف سيريالات مكررة تتحقق هل موجود السريال اول لا عن طريق الـ select local check = executeSQLQuery( "SELECT * FROM PlayerSerial WHERE account = ? AND serial=?", playerAcc, PlayerSerial) if ( type ( check ) == "table" and #check == 0 ) or not check then -- Your code end حاول تسوي الكود بنفسك .. يالطيب انا فاهم كيف احفظ بالقاعدة بس ففيه حاله مب فاهم كيف استخدم فيها الاس كيو ال مثلا: ابي اعرف لما اسوي مود طلبات مثل الريبورت الي في لوحة الادمنية كيف استخدم فيه الاس كيو ال الطريقة يعني Link to comment
MoDeR2014 Posted February 3, 2016 Share Posted February 3, 2016 يالطيب انا فاهم كيف احفظ بالقاعدة بس ففيه حاله مب فاهم كيف استخدم فيها الاس كيو ال مثلا: ابي اعرف لما اسوي مود طلبات مثل الريبورت الي في لوحة الادمنية كيف استخدم فيه الاس كيو ال الطريقة يعني هذا الشي لازم تفكر وتبدع فيه انت بحيث انك وقت تفكر في سكربت .. فكر كيف بتسويه اول شي تسوي قاعده بيانات وبعد ما يكتب اللاعب الريبورت ويضغط على زر الاضافه يسوي تريقر لحدث بالسيرفر سايد لأضافه الأقتراح بقاعده البيانات وانتا لو كنت ادمن تستخدم امر لفتح لوحه اثناء فتح اللوحه لازم تجلب الريبورتات فيجب عليك تسوي تريقر لسيرفر سايد يجيب البيانات من القاعده ويرسلها للكلنت هذي بعض الأمثله من الوحش الي تحتاج تفهمه ماهو الفنكشن الي تحتاجه هو انك تفهم كتابة سطور ال sqlالاشياء الي بتحتاجها اكثر شي ولازم تعرفها هي CREATE -- صنع جدول DROP -- حذف جدول INSERT INTO إضافة سطر او رو الى الجدول SELECT -- تحديد سطر او رو من الجدول (تستخدمها عشان تجيب قيمه او كل القيم من الرو) UPDATE -- تغير قيمة موجوده في السطر او الجدول DELETE -- تحذف السطر او الرو امثله CREATE: CREATE TABLE IF NOT EXISTS whitelist (name TEXT,serial TEXT) whitelist = اسم الجدول name&serial = كولمنز وحطيت بعدهم كلمة تكست عشان يكون نوع القيم في هذول الكولمنز سترنق فقط DROP: DROP TABLE whitelist INSERT INTO: INSERT INTO whitelist (name,serial) VALUES(ALw7sH,SERIALSERIALSERIALSERIAL) SELECT: SELECT * FROM whitelist -- بيجيب لي كل الروز او الي في الجدول SELECT * FROM whitelist WHERE name='ALw7sH' -- بيجيب لي معلومات الرو كامل الي الاسم فيه الوحش SELECT serial FROM whitelist WHERE name='ALw7sH' -- بيجيب سريال الرو الي الاسم فيه الوحش UPDATE: UPDATE whitelist SET serial='newserial' WHERE name='ALw7sH' لو نفترض انك ماخليت ال where UPDATE whitelist SET serial='newserial' كل الروز بيتغير السريال حقهم لهذا السريال الجديد DELETE: DELETE FROM whitelist WHERE name='ALw7sH لو نفترض انك ماخليت ال where كل الروز بينحذفون طبعاً ذا ماهو كل شي في السكل فيه أشياء كثير غير تقدر تشوفها وتتعلمها من http://www.w3schools.com/sql/sql_syntax.asp عندك على اليسار كل شي واذا فهمت كتابة سطور السكل وللحين ماعرفت تستخدم الفنكشن ادخل صفحة الويكي حق الفنكشن وشوف الامثله Link to comment
Abdul KariM Posted February 3, 2016 Share Posted February 3, 2016 https://community.multitheftauto.com/index.php?p=resources&s=details&id=6313ركب هذا السكربت وشغله الفنكشنات الي في السكربت bool setPlayerSerialData( player thePlayer, string key, value ) string getPlayerSerialData( player thePlayer, string key ) bool removePlayerSerialData( player thePlayer, string key ) table getAllPlayerSerialData( player thePlayer ) عشان تستخدم الفكشن لازم اكسبورت مثال exports.sqldata:setPlayerSerialData(...) Sql يحفظ بالـ استخدامه سهل زي المنت داتا الارقمنت الاول الاعب والارقمنت الثاني المفتاح اي اسم والارقمنت الثالث القيمة ارقمنتاته شبيه بالاكونت داتا وقريب من المنت داتا او استخدم وظائف تنطيل https://forum.multitheftauto.com/viewtopic.php?f=160&t=50111&start=360 بالتوفيق ان شاء الله Link to comment
KariiiM Posted February 3, 2016 Share Posted February 3, 2016 (edited) ista3mal ykon ahsan dbFunctions: dbConnect (3achan tftah connection li database) dbQuery ( 3achan ta3mal selecte li data ) dbPoll (3achan ta3mal loop li data) dbExec (3achan ta3mal INSERT wala UPDATA) Edited February 3, 2016 by Guest Link to comment
Jupi Posted February 3, 2016 Share Posted February 3, 2016 ابي اوضح لك نقطتين 1- لازم تعرف كيف شكل الsql من الداخل 2- لازم تعرف كيف تعمل بشرح لك مع بعض الامثلة اولاً ال sqlite عبارة عن جدول مثال لها __________________________________________ Player|Console|Admin|Supporter|Testing | | __________________________________________| MoDeR|General|SomeGuy|DABL|SomeOtherGuy | Row|AnotherRow|OneMore|Row2| -- | __________________________________________| يعني جدول من Column و Row الحين فلنفترض ان ابي احفظ معلوماتي سريالي و الايبي و مجموع الفلوس الحالي اول شيء لازم كولمنات بهذه المعلومات يعني المفروض شكل الجدول كذا _______________________________ HumanName|Serial|IP|Money | -----TABLE NAME = Information _______________________________| DABL |156SS|1270.0.1|400$ | _______________________________| الحين هذه معلوماتي في جدول طيب الحين انا حدثت فلوس لازم نحدث المعلومة الموجودة بلكولمن علي حسب الاسم نستعمل "UPDATE Information SET Money = 500 WHERE HumanName = ?" الحين هذا راح يخلي فلوسي 400 حسب اعتقد الشكل لوحده يخليك تفهم و الباقي نفس الشغل DELETE FROM تتحكم بلرو حسب معلومة ثاني هو يمتلكها مثلا تبي تغير اسمي لاسم ثاني تسوي ابديت للروو و تحط الاسم حسب السريال اللي بلجدول طيب الحين نبي نغير الاسم نسوي "UPDATE Information SET HumanName = ? WHERE Serial = 156SS" هذا راح يحدث جدول Information و يغير اسم رو حيث خانة السريال اللي بجانب الرو ذا = 156ss ان شاء الله تكون فهمت @_@ لانه تعبت بتصميم الجداول Link to comment
xBeSoOo Posted February 7, 2016 Author Share Posted February 7, 2016 مشكورين شباب , مشكور دابل تعبتك معي Link to comment
</Mr.Tn6eL> Posted February 7, 2016 Share Posted February 7, 2016 يمكن يفيدك الشرح هذا وعليكم السلام راح أعطيك مثال مع شرحه المثال عبارة عن نظام يقوم بإضافة أسماء وأعمار واللون المفضل للاعبين نبدا بالجزء الأول صنع جدول بالطريقة الآتية executeSQLQuery("CREATE TABLE IF NOT EXISTS db_table(name, age, favorite_color)") CREATE TABLE : صنع جدول داخل قاعدة البيانات IF NOT EXISTS : يتحقق ان اسم الجدول مو موجود مسبقا يعني الجدول اذ كان موجود ما راح يصنعه db_table : هو اسم الجدول (name, age, favorite_color) : كل مابين القوسين عبارة عن كولمن والكولمن هو الأعمدة او تحط فيها بيانات وكل عمود له بياناته الخاص زي نظام القريد ليست هي عبارة عن أسم الكولمن name, age, favorite_colorكولمن له رو او بالعربي كل عمود له صف و ملاحظة : القريد ليست مجرد مثال ليس له علاقة بقواعد البيانات نبدا بالجزء الثاني اللي هو اضافة بيانات الى الجدول executeSQLQuery("INSERT INTO db_table(name, age, favorite_color) VALUES(?, ?, ?)", "Mr.Tn6el", "19", "orange") INSERT INTO : هو أمر اضافة الى الجدول db_table : هو الجدول الذي يتم اضافة البيانات اليه (name, age, favorite_color) : أسماء الكولمن المراد اضافة البيانات اليها VALUES(?, ?, ?) : هو الآن الجزء المهم والذي يتم ادخال البيانات اليه ومعنى علامات الاستفهام ان البيانات مجهولة ويتم استبدالها البرامتر الثاني من وظيفة قاعدة البيانات وتستطيع اضافة بدون علامات الاستفهام والبرامتر الثاني شاهد هذا المثال VALUES("Mr.Tn6el", "19", "orange") "Mr.Tn6el", "19", "orange" : هذا البرامتر الثاني التي تكلمنا عنه سابقا واي علامة استفهام موجوده في البرامتر الأول يتم استبدالها بحسب الترتيب "?" مثلا سويت راح على طول ينتقل ويتفقد البرامتر الثاني ويتحقق انه تم استبداله والا سوف يرسل خطأ راح اكمل الشرح بعد مارجع انتظرونا نبدا بالجزء الثالث شرح استعلام البيانات من جدول قاعدة البيانات (القسم الأول(استعلام جميع البيانات من الجدول executeSQLQuery("SELECT * FROM db_table") SELECT : امر الاستعلام من الجدول * : النجمة يعني جميع الكولمن اللي في الجدول FROM db_table : FROM : (db_table)تعني بالعربية من وثم تأتي بعدها اسم الجدول اللي هو (القسم الثاني(استعلام جزء محدد من البيانات executeSQLQuery("SELECT * FROM db_table WHERE name=?", "Mr.Tn6eL") WHERE : تعني أين بالعربية ووظيفتها هي اختيار شي محدد مثلا كأنك تقول ابغى تفاحة لكن تكون صفراء فهل راح يجيب لك الحمراء؟! لا بالطبع =? : الاستفهام شرحناه سابقا اذ انه قيمة مجهولة يتم استبدالها بالبرامتر الثاني "Mr.Tn6eL" : هو اسمي فكذا راح يكون يجيب الاعب اللي اسمه Mr.Tn6eL الباقي شرحته فوق (القسم الثالث(استعلام البيانات بالشات if query and type(query) == "table" and #query > 0 then for k, v in ipairs(query) do outputChatBox("Name : "..name..", Age : "..v.age..", Favorite color : "..v.favorite_color) end end if query and type(query) == "table" and #query > 0 then يتحقق ان الاستعلام تم بالقعل ثم يتحقق ان نوع الاستعلام جدول وثم يتحقق ان الجدول ليس فارغ for k,v in pairs(query) do دوران على محتويات الجدول outputChatBox("Name : "..v.name..", Age : "..v.age..", Favorite color : "..v.favorite_color) كتابة الاستعلام بالشات راح يطلع بالشات "Name : "Mr.Tn6eL, Age : 19, Favorite color : orange" v.name : v = المتغير الذي يجلب القيمة خلال الدوران على محتويات الجدول name = اسم الكولمن والباقي معروف Link to comment
xBeSoOo Posted February 8, 2016 Author Share Posted February 8, 2016 مشكوووووور تنطيل كان فيه اشياء مب فاهمها فهمتها من شرحك تسلم Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now