البرمجة

ترتيب منتجات قاعدة البيانات باستخدام HTML وPHP

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

أولًا، في الجزء الخاص بالـ HTML، يجب عليك تحديد id لكل عنصر li بدلاً من name، لتكون قادرًا على تحديد العنصر بشكل فعال. هذا يمكن أن يكون كالتالي:

html
<ul align="center"> <li id="asc" onclick="AscendingProds()"><a>Ascending to Descendinga>li> <li id="desc" onclick="DescendingProds()"><a>Descending to Ascendinga>li> ul>

ثم في جزء الـ PHP، يجب عليك استخدام الكلمة الرئيسية function لتعريف الدوال AscendingProds و DescendingProds. يمكنك أيضًا استخدام mysqli_fetch_assoc لاسترجاع البيانات من نتائج الاستعلام. إليك كيف يمكن أن يكون الكود:

php
$mysqli = new mysqli("اسم_الخادم", "اسم_المستخدم", "كلمة_المرور", "اسم_قاعدة_البيانات"); function AscendingProds() { global $mysqli; $results = $mysqli->query("SELECT * FROM prds ORDER BY price ASC"); while ($row = mysqli_fetch_assoc($results)) { // استخدم البيانات كما تشاء echo $row['product_name'] . " - " . $row['price'] . "
"
; } } function DescendingProds() { global $mysqli; $results = $mysqli->query("SELECT * FROM prds ORDER BY price DESC"); while ($row = mysqli_fetch_assoc($results)) { // استخدم البيانات كما تشاء echo $row['product_name'] . " - " . $row['price'] . "
"
; } } ?>

تأكد من استبدال “اسم_الخادم”، “اسم_المستخدم”، “كلمة_المرور”، و “اسم_قاعدة_البيانات” بقيم وصولك الفعلية.

هذه التعديلات يجب أن تجعل الكود يعمل بشكل صحيح، ويمكنك تعديله وفقًا لاحتياجات مشروعك الخاص.

المزيد من المعلومات

بالطبع، دعونا نوسع على الموضوع ونقدم مزيد من المعلومات حول كيفية تحسين وتحديث الكود لضمان فعاليته وأمانه.

  1. استخدام استعلام معلماتي (Prepared Statements):
    يفضل دائمًا استخدام استعلامات معلماتيّة لتجنب هجمات حقن ال SQL. يمكنك تعديل الاستعلامات كما يلي:

    php
    function AscendingProds() { global $mysqli; $stmt = $mysqli->prepare("SELECT * FROM prds ORDER BY price ASC"); $stmt->execute(); $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { // استخدم البيانات كما تشاء echo $row['product_name'] . " - " . $row['price'] . "
    "
    ; } $stmt->close(); } function DescendingProds() { global $mysqli; $stmt = $mysqli->prepare("SELECT * FROM prds ORDER BY price DESC"); $stmt->execute(); $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { // استخدم البيانات كما تشاء echo $row['product_name'] . " - " . $row['price'] . "
    "
    ; } $stmt->close(); }
  2. التحقق من اتصال قاعدة البيانات:
    قبل تنفيذ أي استعلام، يجب التحقق من نجاح الاتصال بقاعدة البيانات:

    php
    $mysqli = new mysqli("اسم_الخادم", "اسم_المستخدم", "كلمة_المرور", "اسم_قاعدة_البيانات"); if ($mysqli->connect_error) { die("فشل الاتصال: " . $mysqli->connect_error); }
  3. تنظيم الكود واستخدام الدوال:
    يمكنك تحسين هيكل الكود بتنظيمه في ملفات منفصلة واستخدام الدوال لتحقيق إعادة استخدام أفضل:

    • قم بوضع الاتصال بقاعدة البيانات في ملف منفصل (مثل db_connection.php).
    • ثم قم بتضمين هذا الملف في الملف الرئيسي.
  4. التعامل مع الأخطاء:
    يفضل إضافة إجراءات للتعامل مع الأخطاء وعرض رسائل خطأ مناسبة للمستخدم أو تسجيل الأخطاء في سجل الأخطاء.

  5. تحسين أمان الجلسة:
    إذا كنت تقوم بتنفيذ عمليات متقدمة مع الجلسات، قم بالتحقق من الهوية والصلاحيات لضمان أمان التطبيق.

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

زر الذهاب إلى الأعلى