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

إنشاء قاعدة بيانات باستخدام بايثون لتخزين أسماء المستخدمين ومنشوراتهم وعرض أحدث منشور في واجهة المستخدم

عمار هبه

السؤال

السلام عليكم
كيف اعمل قاعد بيانات يكون فيها اسم الشخص ومنشوراته
بحيث تستقبل هذه القاعدة عدد لانهائي من المنشورات لنفس الشخص
ثم كيف استدعي المنشور الاحدث وعرضه في واجهه
حبي لكم

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0
بتاريخ منذ ساعة مضت قال Mustafa Suleiman:

أنت لم توضح إطار العمل الذي تنوي استخدامه هل هو flask أم Django أم ستعتمد على بايثون فقط؟

بايثون فقط

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

لتسهيل الأمر سنستخدم قاعدة بيانات SQLite، وإليك مثال بسيط باستخدام بايثون ومكتبة SQLite:

1- إنشاء قاعدة بيانات وجدول

import sqlite3

# اتصال بقاعدة البيانات (ستقوم بإنشاء ملف بنفس موقع السكربت)
conn = sqlite3.connect('database.db')
cursor = conn.cursor()

# إنشاء جدول لتخزين المستخدمين ومنشوراتهم
cursor.execute('''
    CREATE TABLE IF NOT EXISTS users (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        name TEXT NOT NULL
    )
''')

cursor.execute('''
    CREATE TABLE IF NOT EXISTS posts (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        user_id INTEGER,
        content TEXT NOT NULL,
        timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        FOREIGN KEY (user_id) REFERENCES users(id)
    )
''')

# حفظ التغييرات وإغلاق الاتصال
conn.commit()
conn.close()

2- إضافة مستخدم ومنشورات له

def add_user_and_posts(name, posts):
    conn = sqlite3.connect('database.db')
    cursor = conn.cursor()

    # إضافة المستخدم
    cursor.execute('INSERT INTO users (name) VALUES (?)', (name,))
    user_id = cursor.lastrowid  # استخراج معرف المستخدم الجديد

    # إضافة المنشورات
    for post in posts:
        cursor.execute('INSERT INTO posts (user_id, content) VALUES (?, ?)', (user_id, post))

    # حفظ التغييرات وإغلاق الاتصال
    conn.commit()
    conn.close()

# مثال على إضافة مستخدم ومنشورات
add_user_and_posts('John Doe', ['منشور 1', 'منشور 2', 'منشور 3'])

3- استرجاع أحدث منشور وعرضه

def get_latest_post(user_id):
    conn = sqlite3.connect('database.db')
    cursor = conn.cursor()

    # الحصول على أحدث منشور للمستخدم
    cursor.execute('SELECT content, timestamp FROM posts WHERE user_id = ? ORDER BY timestamp DESC LIMIT 1', (user_id,))
    result = cursor.fetchone()

    # إغلاق الاتصال
    conn.close()

    return result

# مثال على استرجاع أحدث منشور
latest_post = get_latest_post(1)  # حيث 1 هو معرف المستخدم
if latest_post:
    content, timestamp = latest_post
    print(f'أحدث منشور: "{content}" في {timestamp}')
else:
    print('لم يتم العثور على منشورات')

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...