Hanan Fahad2 نشر 21 يناير 2021 أرسل تقرير نشر 21 يناير 2021 ابغا انشي قاعدة بيانات وابغا اعمل جداول واجلب بيانات انا عمل الملف بس ماعرفت كيف اكمل كيف اخلي الاتصال يتعرف عله جميع الملفات وكيف اعمل جدول وانشاء في ملف اخر لااعرف الطريق بعد هذه الخطوات اتمنى الاطلاع واكمال الخطوات معي test3.rar اقتباس
0 Sam Ahw نشر 21 يناير 2021 أرسل تقرير نشر 21 يناير 2021 مرحباً حنان، بما أنك قد استمعلت قاعدة بيانات من نوع Mysql فلقد عرّفت الاتصال مع القاعدة بشكل صحيح، الآن لإنشاء قاعدة بيانات جديدة باسم mydb مثلاً، نقوم بالتالي: con.connect(function(err) { if (err) throw err; console.log("Connected!"); con.query("CREATE DATABASE mydb", function (err, result) { if (err) throw err; console.log("Database created"); }); }); وبذلك يتم طباعة Database created بعد إنشاء القاعدة بنجاح. الآن لإنشاء جدول customers مثلاً، نقوم بالتالي: con.connect(function(err) { if (err) throw err; console.log("Connected!"); var sql = "CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))"; con.query(sql, function (err, result) { if (err) throw err; console.log("Table created"); }); }); لإضافة عناصر للجدول السابق نقوم بالتالي: con.connect(function(err) { if (err) throw err; console.log("Connected!"); var sql = "INSERT INTO customers (name, address) VALUES ('Company Inc', 'Highway 37')"; con.query(sql, function (err, result) { if (err) throw err; console.log("1 record inserted"); }); }); أما للقيام بالاستعلامات، فهي كالتالي: con.connect(function(err) { if (err) throw err; con.query("SELECT * FROM customers", function (err, result, fields) { if (err) throw err; console.log(result); }); }); وهكذا تتم بقية العمليات. أقترح عليك قراءة المرجع الرسمي الخاص لاحتوائه على الكثير من المعلومات المفيدة والتي قد تختلف بناءً على متطلباتك، أو قراءة بعض المقالات للتعامل مع Mysql ضمن Node Js (مثال) بالتوفيق اقتباس
0 Hanan Fahad2 نشر 21 يناير 2021 الكاتب أرسل تقرير نشر 21 يناير 2021 اعرف كيف اضيفها لاكن دمجها ببرنامج اجعل التعامل معهم في الطلبات HTTP اتمنى تعملها بملفي وترسله لفهم دمجها ببرنامج اقتباس
0 Sam Ahw نشر 21 يناير 2021 أرسل تقرير نشر 21 يناير 2021 بتاريخ 19 دقائق مضت قال hanan fahad11: اعرف كيف اضيفها لاكن دمجها ببرنامج اجعل التعامل معهم في الطلبات HTTP اتمنى تعملها بملفي وترسله لفهم دمجها ببرنامج إن التعامل مع طلبات HTTP ستتم عن طريق Express الذي قمت بتعريفه ضمن الكود، لذلك الآن عند استقبال طلب معيّن من طرف الزبون وليكن على route محدد، سيتم عندها تنفيذ الإجراء الخاص بذلك على قاعدة البيانات وإرسال النتيجة إلى الزبون، مثال لإضافة مستخدم إلى قاعدة البيانات: router.post('/new', function(req, res) { // أولاً نقوم بتحضير الإجراء كالتالي let sql = `INSERT INTO users(name, gender) VALUES (?)`; ثم نقوم بجلب القيم من الطلب let values = [ req.body.name, //هنا نضع اسم المستخدم الذي تم استقباله عن طريق http req.body.gender // هنا نضع جنس المستخدم الذي تم استقباله عن طريق Http ]; \\ الآن نقوم بتنفيذ الإجراء على قاعدة البيانات db.query(sql, [values], function(err, data, fields) { if (err) throw err; res.json({ status: 200, message: "New user added successfully" }) }) }); //و عند اكتماله سيتم إرسال الرسالة السابقة إلى المستخدم مع الرمز 200 والذي يشير إلى الاكتمال SUCCESS والآن لجلب المستخدمين من قاعدة البيانات، بشكل مشابه للسابق نقوم بالتالي: router.get('/list', function(req, res) { let sql = `SELECT * FROM users`; db.query(sql, function(err, data, fields) { if (err) throw err; res.json({ status: 200, data, message: "User lists retrieved successfully" }) }) }); حيث قمنا بتعريف routes خاصة بكل طلب والذي سيقوم السيرفر عند تلقي الطلب بإجراء الاستعلام الموافق لها. ملاحظة: *في حال ليس لديك خبرة سابقة بالتعامل مع Express، قمنا هنا باستخدام الغرض router لسهولة التعامل معها وبالتالي يمكننا تصديرها فيما بعد إلى ملف خارجي. مثلاً نضع الكود السابق ضمن مجلد routes ضمن ملف خاص ولنسميه users.js وبالتالي يصبح الكود فيه كالتالي: const express = require('express'), router = express.Router(); router.get('/list', function(req, res) { let sql = `SELECT * FROM users`; db.query(sql, function(err, data, fields) { if (err) throw err; res.json({ status: 200, data, message: "User lists retrieved successfully" }) }) }); router.post('/new', function(req, res) { let sql = `INSERT INTO users(name, gender) VALUES (?)`; let values = [ req.body.name, req.body.gender ]; db.query(sql, [values], function(err, data, fields) { if (err) throw err; res.json({ status: 200, message: "New user added successfully" }) }) }); module.exports = router; والآن نقوم بتضمينه في الملف الرئيسي للمشروع، وفي ملفاتك يدعى index.js كالتالي: const usersRouter = require('./routes/users'); ونخبر السيرفر بأن هذا الـ route موجود ويمكنه استخدامه عند تلقي الطلبات كالتالي: app.use('/users', usersRouter); وبذلك يمكننا إنشاء route خاص بكل كيان نريد التعامل معه في قاعدة البيانات. واستدعاء فقط الملف الخاص للسهولة. بالتوفيق اقتباس
0 Hanan Fahad2 نشر 21 يناير 2021 الكاتب أرسل تقرير نشر 21 يناير 2021 تمام هذا مااحتاجه لاكن في حال رغبت بفصل الطلبات في ملف router.post('/new', function(req, res) كيف يتعرف على الاتصال هل اضع الاتصال في كل الصفحات او ماهو السبيل لذلك 1 اقتباس
0 Sam Ahw نشر 21 يناير 2021 أرسل تقرير نشر 21 يناير 2021 بتاريخ 8 دقائق مضت قال hanan fahad11: تمام هذا مااحتاجه لاكن في حال رغبت بفصل الطلبات في ملف router.post('/new', function(req, res) كيف يتعرف على الاتصال هل اضع الاتصال في كل الصفحات او ماهو السبيل لذلك نعم لقد قمت بتعديل التعليق السابق ليشمل ذلك، بالتوفيق اقتباس
0 Hanan Fahad2 نشر 21 يناير 2021 الكاتب أرسل تقرير نشر 21 يناير 2021 اشكرك اخي الكريم لتوضيع شكرا لك لم يتعرف على db لم يتعرف على الاتصال في الملف الاول كيف اخلي الاتصال عام 1 اقتباس
0 Sam Ahw نشر 21 يناير 2021 أرسل تقرير نشر 21 يناير 2021 بتاريخ 52 دقائق مضت قال hanan fahad11: اشكرك اخي الكريم لتوضيع شكرا لك لم يتعرف على db لم يتعرف على الاتصال في الملف الاول كيف اخلي الاتصال عام يمكنك أيضاً وضع الاتصال بقاعدة البيانات بملف منفصل ثم استدعائه في الملفات الأخرى كالتالي: var db = require("./connectMysql"); اقتباس
السؤال
Hanan Fahad2
ابغا انشي قاعدة بيانات وابغا اعمل جداول واجلب بيانات انا عمل الملف بس ماعرفت كيف اكمل كيف اخلي الاتصال يتعرف عله جميع الملفات وكيف اعمل جدول وانشاء في ملف اخر لااعرف الطريق بعد هذه الخطوات اتمنى الاطلاع واكمال الخطوات معي
test3.rar
7 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.