اذهب إلى المحتوى

حيدر رزاق

الأعضاء
  • المساهمات

    98
  • تاريخ الانضمام

  • تاريخ آخر زيارة

أجوبة بواسطة حيدر رزاق

  1. السلام عليكم
    هل التأسيس في البرمجه  كما هو معروف و شائع في لغات مثل c++ او java او c#  ضروري  ان يتم بهذه اللغات ؟
    بمعنى انا مبرمج php منذ سنتين تقريبا وانشأت مجموعة من المشاريع الجيده خلال هذه السنتين و بعض هذه المشاريع تم بيعه
    و الان ادرس لارافل في كورس php في اكاديمية حسوب و قد درست c++ قبل سنتين قبل بداية دراستي في php
    لكن الان اشعر انني غير مؤسس بشكل صحيح
    السؤال هو  / هل ارجع بدراسة التاسيس و الخوارزميات و حل المشاكل و داتا ستركتجر في لغات مثل c++ ام يمكنني اكمال الدر اسة بلغتي الحالية php ؟ التأسيس اقصد تطوير نفسي في حل المشاكل و التفكير المنطقي و ليس كتابة السينتاكس  الخاص باللغة ؟

    • أعجبني 1
  2. بتاريخ 15 ساعة قال Adnane Kadri:

    يمكنك اضافة القيد ON DELETE عند إنشاء كل سجل لمفتاح أجنبي، يذكر أن هذا القيد يقبل القيم:

    • CASCADE: أين يتم حذف السجل الابن عند حذف السجل الأب. (مثال: عند حذف الفئة يتم حذف المنتجات التي تنتمي لهاته الفئة).
    • RESTRICT : أين يتم منع حذف السجل الأب عندما يمتلك أي سجل ابن. (مثال: لا يمكن حذف الفئة قبل حذف المنتجات التي تنتمي لهاته الفئة).
    • SET NULL: أين يتم استبدال قيمة FK بـ NULL في الابن عند حذف الأب. (مثال: عند حذف الفئة يتم وضع قيمة NULL للمفاتيح الأجنبية في المنتجات التي تنتمي لهاته الفئة)
    • NO ACTION: أين لن يحدث أي شيء، ويتم رد عملية الحذف. 
    • SET DEFAULT: أين يتم ضبط سجل أب افتراضي في حالة حذف الأب الأصلي. (مثال: عند حذف الفئة "رياضة" يتم وضع قيمة معرف فئة "عام" للمفاتيح الأجنبية في المنتجات التي كانت تنتمي لهاته الفئة "رياضة")

    ما تبحث عليه، هو SET NULL أو SET DEFAULT. ففي الأولى نعرف المفاتيح كـ:

    CONSTRAINT fk_category_product
        FOREIGN KEY (category_id)
        REFERENCES categories (id)
        ON DELETE SET NULL

    أما في الثانية فنعرفها كـ:

    category_id INT DEFAULT 1
    CONSTRAINT fk_category_product
        FOREIGN KEY (category_id)
        REFERENCES categories (id)
        ON DELETE SET DEFAULT 

    عذرا لم اجد
    ON DELETE SET DEFAULT في phpmyadmin

    وكذلك لم يتم التنفيذ من خلال اوامر sql

  3. بتاريخ 3 ساعة قال Adnane Kadri:

    يمكنك اضافة القيد ON DELETE عند إنشاء كل سجل لمفتاح أجنبي، يذكر أن هذا القيد يقبل القيم:

    • CASCADE: أين يتم حذف السجل الابن عند حذف السجل الأب. (مثال: عند حذف الفئة يتم حذف المنتجات التي تنتمي لهاته الفئة).
    • RESTRICT : أين يتم منع حذف السجل الأب عندما يمتلك أي سجل ابن. (مثال: لا يمكن حذف الفئة قبل حذف المنتجات التي تنتمي لهاته الفئة).
    • SET NULL: أين يتم استبدال قيمة FK بـ NULL في الابن عند حذف الأب. (مثال: عند حذف الفئة يتم وضع قيمة NULL للمفاتيح الأجنبية في المنتجات التي تنتمي لهاته الفئة)
    • NO ACTION: أين لن يحدث أي شيء، ويتم رد عملية الحذف. 
    • SET DEFAULT: أين يتم ضبط سجل أب افتراضي في حالة حذف الأب الأصلي. (مثال: عند حذف الفئة "رياضة" يتم وضع قيمة معرف فئة "عام" للمفاتيح الأجنبية في المنتجات التي كانت تنتمي لهاته الفئة "رياضة")

    ما تبحث عليه، هو SET NULL أو SET DEFAULT. ففي الأولى نعرف المفاتيح كـ:

    CONSTRAINT fk_category_product
        FOREIGN KEY (category_id)
        REFERENCES categories (id)
        ON DELETE SET NULL

    أما في الثانية فنعرفها كـ:

    category_id INT DEFAULT 1
    CONSTRAINT fk_category_product
        FOREIGN KEY (category_id)
        REFERENCES categories (id)
        ON DELETE SET DEFAULT 

    شكرا لك ..

    مثلا انا عندي جدولين
    الجدول الاول هو ( الصنف و ليكن مثلا سيارات )

    الجدول الثاني مثلا ( المنتج و عند اضافة منتج جديد يجب ان احدد احد الاصناف لينتمي المنتج لها )

    هل يمكن عند حذف الصنف  يبقى كما هو في المنتج . لان الان ينحذف المنتج ايضا بشكل تلقائي

    • أعجبني 1
  4. السلام عليكم
    اعمل على مشروع باستخدام php  و قواعد  البيانات mysql
    عندي جدولين في كل جدول يوجد Id خاص به و هو AI
    استخدمت Id الجدول لربطه بالجدول الاخر من خلال المفتاح الاجنبي و تم الربط بشكل صحيح و الامور تمام
    لكن يوجد مشكله عند حذف احدى البيانات في الجدول الاول يتم حذف العنصر في الجدول الثاني المرتبط به من خلال FK
    كيف يمكن السماح بالحذف دون حذف العنصر الاخر في الجدول المرتبط به ؟

    • أعجبني 1
  5. السلام عليكم
    منذ فتره رايت مقطع في اليوتيوب يشرح عن اهم الاضافات في المتصفح التي تساعد الطلاب في الدراسه من اليوتيوب
    اضافة متصفح لمعرفة تعليقات و ملاحظات باقي المتابعين   لكن للاسف نسيت الفيديو و نسيت اسم الاضافة اذا امكن المساعده اذا كان احدكم يستخدمها او سمع عنها
    شكرا لكم

    • أعجبني 1
  6. بتاريخ 4 ساعة قال بلال زيادة:

    يجب أولاً إنشاء قاعدة البيانات الخاصة بالمشروع في هذا المثال، سنستخدم جدولين: جدول للمستخدمين وجدول للبيانات الخاصة بكل مستخدم.

    CREATE TABLE users (
        id INT AUTO_INCREMENT PRIMARY KEY,
        username VARCHAR(50) NOT NULL,
        password VARCHAR(255) NOT NULL,
        role ENUM('owner', 'employee') NOT NULL
    );
    
    CREATE TABLE sales_data (
        id INT AUTO_INCREMENT PRIMARY KEY,
        user_id INT,
        data VARCHAR(255) NOT NULL,
        FOREIGN KEY (user_id) REFERENCES users(id)
    );

    ثم قم بإنشاء نموذج HTML لصفحة تسجيل الدخول واكتب الكود الخاص بالتحقق من معلومات تسجيل الدخول وإعداد الجلسة.

    <?php
    session_start();
    
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $username = $_POST["username"];
        $password = $_POST["password"];
    
        // قم بالتحقق من معلومات تسجيل الدخول واستعلام قاعدة البيانات
        // ...
    
        if ($user_exists && password_verify($password, $hashed_password)) {
            $_SESSION["user_id"] = $user_id;
            $_SESSION["role"] = $user_role;
            header("Location: dashboard.php");
            exit();
        } else {
            $error_message = "Invalid login credentials.";
        }
    }
    ?>
    <!DOCTYPE html>
    <html>
    <head>
        <title>Login</title>
    </head>
    <body>
        <form method="post">
            <input type="text" name="username" placeholder="Username" required><br>
            <input type="password" name="password" placeholder="Password" required><br>
            <input type="submit" value="Login">
        </form>
        <?php if(isset($error_message)) echo $error_message; ?>
    </body>
    </html>

    ثم إنشاء صفحة لوحة التحكم التي يمكن للمالك من خلالها إضافة وإدارة مستخدمين وبيانات المبيعات.

    <?php
    session_start();
    
    if (!isset($_SESSION["user_id"]) || $_SESSION["role"] !== "owner") {
        header("Location: login.php");
        exit();
    }
    
    // استعلامات لإدارة المستخدمين والبيانات هنا
    // ...
    ?>
    <!DOCTYPE html>
    <html>
    <head>
        <title>Owner Dashboard</title>
    </head>
    <body>
        <h1>Welcome, Owner!</h1>
        <!-- تضمين نماذج لإدارة المستخدمين والبيانات -->
    </body>
    </html>

    هذا المثال يعكس الفكرة العامة لنظام إدارة المبيعات مع تحقيق المتطلبات التي ذكرتها.

    شكرا لك على الاجابة
    المشروع يعمل الان بشكل طبيعي و انا اعمل عليه منذ 3 اشهر
    الفكره الان اريد ان انشئ لكل زبون يريد استخدام النضام  بضغطة واحده و بنفس الرابط لا اريد ان اكرر المشروع لكل مستخدم

    بتاريخ 45 دقائق مضت قال عبدالباسط ابراهيم:

    لتخطيط قاعدة البيانات لمشروعك بلغة PHP و MySQL لنظام إدارة المبيعات، هناك عدة جداول يمكنك إنشاؤها لتحقيق متطلباتك. هذا هو بعض التصور العام لهيكل قاعدة البيانات:

    جدول المستخدمين (Users Table):

    • user_id (معرف المستخدم)
    • username (اسم المستخدم)
    • password (كلمة المرور)
    • email (البريد الإلكتروني)
    • وغيرها من المعلومات الشخصية التي تحتاجها

    جدول الشركات (Companies Table):

    • company_id (معرف الشركة)
    • company_name (اسم الشركة)
    • owner_id (معرف مالك الشركة)

    جدول الموظفين (Employees Table):

    • employee_id (معرف الموظف)
    • employee_name (اسم الموظف)
    • employee_password (كلمة مرور الموظف)
    •  company_id (معرف الشركة التابع لها الموظف)

    جدول المبيعات (Sales Table):

    • sale_id (معرف البيعة)
    • sale_date (تاريخ البيعة)
    • sale_amount (قيمة البيعة)
    • employee_id (معرف الموظف القائم بالبيعة)

    باستخدام هذا التصميم، يمكنك إنشاء علاقات بين الجداول المختلفة باستخدام المفاتيح الأجنبية (Foreign Keys)، مثل علاقة بين جدول الموظفين وجدول الشركات باستخدام معرف الشركة (company_id)، وعلاقة بين جدول المبيعات وجدول الموظفين باستخدام معرف الموظف (employee_id).

    يمكنك أيضًا إضافة جداول إضافية حسب احتياجاتك، مثل جدول المنتجات، جدول العملاء، وما إلى ذلك.

    بناءً على هذا التصميم، يمكنك تنفيذ الوظائف المطلوبة في تطبيقك، مثل إنشاء حسابات المستخدمين، وإضافة الموظفين، وعرض بيانات المبيعات المرتبطة بكل مستخدم أو موظف.

    من الجيد أيضًا أن تستخدم إطار عمل قوي لـ PHP مثل Laravel أو CodeIgniter لتسهيل إدارة قاعدة البيانات وتطوير التطبيق بشكل عام. ولا تنسَ تنفيذ إجراءات الأمان المناسبة لتأمين البيانات وحماية الخصوصية للمستخدمين.

    شكرا لك على الاجابة
    المشروع يعمل الان بشكل طبيعي و انا اعمل عليه منذ 3 اشهر
    الفكره الان اريد ان انشئ لكل زبون يريد استخدام النضام  بضغطة واحده و بنفس الرابط لا اريد ان اكرر المشروع لكل مستخدم

  7. السلام عليكم
    اعمل على مشروع برمجي بلغة php فكرة المشروع نضام لادارة المبيعات ..
    اريد ان يعمل المشروع لاكثر من مستخدم و كل مستخدم له بياناته الخاصه به و لا تضهر لاي مستخدم اخر .. لذلك لا اريد ان اعمل مجلد و قاعدة بيانات منفصله لكل مستخدم
    اريد ان اعمل داش بورد خاص بمالك الموقع ينشئ من خلاله حسابات المستخدمين بحيث يكون لكل مستخدم بيانات منفصله تماما عن المستخدمين الاخرين (كما هو الحال في الفيس بوك مثلا او اي موقع ) و كذلك اريد ان يستطيع كل مستخدم بأنشاء موضف ضمن حسابه مع اسم و كلمة مرور  يضهر له فقط بيانات التي قام بأضافتها  الموضف الاب .. و هكذا مع بقية المستخدمين .

    • أعجبني 1
×
×
  • أضف...