مقدمة:
منذ مدة طويلة و أنا أفكر في برنامج أو كود يتيح لي إدارة قواعد البيانات عن طريق صفحة ويب, و كان الهدف هو الهروب من مشكلتين في عميل mysql العادي (من الطرفية)
الأولى: هي دوران السطر إذا كانت النتيجة أكبر من عرض الشاشة.
الثانية: هي أختلال ترتيب الخانات إذا كانت تحتوي على بيانات باللغة العربية.
و نقطة إضافية هي أني أردت أن يكون عرض البيانات في جدول أكثر تنظيما و أجمل.كلتا المشكلتين كانتا مزعجتين جدا و تجعلاني أكره التعامل مع قاعدة البيانات, و حين حاولت إستخدام البرنامج "MySQL Query Browser" و اجهتني مشكلة في اللغة العربية حيث لم يعرضها بصورة سليمة.
طلبت من أحد معارفي أن يصنع لي بريمج صغير بلغة الـ PHP يقوم بنفس وظيفة MySQL Query Browser و أنتظرته طويلا و لكنه لم يفعل شيئا
و بعد الإحباط قررت أن أنفذ ما أريد بنفسي فقمت ببعض البحث البسيط على الإنترنت و قرائة بعض الصفحات حتى خرجت بالبرنامج المرفق.شرح عام:
البرنامج هو صفحة وحيدة مكتوبة بلغة الـ PHP فيها خمس مربعات نصية
الأول نكتب فيه عنوان خادم قواعد البيانات
الثاني نكتب فيه إسم المستخدم الذي سندخل به على الخادم
الثالث نكتب فيه كلمة السر
الرابع نكتب فيه أسم قاعدة البيانات المطلوب العمل عليها
الخامس نكتب فيه تعليمة الـ SQL المطلوب تنفيذها
بعد ذلك يوجد زر لتنفيذ الأمر (يمكنك ضغط زر الإدخال مباشرة), ثم و بعد تنفيذ الأمر المطلوب يظهر لك جدول به نتائج الأمر الذي أدخلته.الثاني نكتب فيه إسم المستخدم الذي سندخل به على الخادم
الثالث نكتب فيه كلمة السر
الرابع نكتب فيه أسم قاعدة البيانات المطلوب العمل عليها
الخامس نكتب فيه تعليمة الـ SQL المطلوب تنفيذها
خطوات الإستخدام:
نضع الملف في أي مكان على خادم الويب (بشرط أن يدعم الـ PHP) ثم نفتحه بإستخدام المتصفح ثم نملاء البيانات المطلوبة و نضغط على زر التنفيذ ليعرض لنا النتيجة مرسومة في جدول, و لاحظ أنك لا تحتاج لكتابة الفاصلة المنقوطة ";" بعد كل أمر و لكنك إذا كتبتها فسيتم تنفيذ الأمر أيضا.
تحسينات و تعديلات مطلوبة:
توجد بعض التحسينات و التعديلات المطلوبة و لكني لا أملك الوقت لأقوم بها كلها و البريمج بصورته الحالية يؤدي الوظيفة المطلوبة منه و لكني أكتبها لكي تكون واضحة لكم
- البرنامج لا يقوم بعرض رسائل الخطأ المتولدة من خادم قواعد البيانات, حيث يقوم فقط بعرض رسالة "Erro with SQL command !!!"
- لا يمكن إستخدام البريمج بدون كتابة إسم قاعدة بيانات موجودة, يمكنك إستخدام قاعدة البيانات "test" إذا كنت تنوي إستخدام أوامر SQL عامة مثل "show databases"
النص البرمجي:
هذا هو نص البرنامج نفسه, كل ما عليك هو نسخة و وضعه في ملف نصي بأسم "db.php" ثم نقله إلى خادم الويب الخاص بك وبعد ذلك إستخدامه
<html> <!-- إسم البرنامج: بريمج إدارة قواعد بيانات بإستخدام PHP الكاتب: محمد رشاد "http://www.mrashad.com" الترخيص: البريمج يخضع لرخصة وقف العامة "http://www.ojuba.org/wiki/waqf/%D8%B1%D8%AE%D8%B5%D8%A9_%D9%88%D9%82%D9%81_%D8%A7%D9%84%D8%B9%D8%A7%D9%85%D8%A9?s[]=%D8%B1%D8%AE%D8%B5%D8%A9&s[]=%D9%88%D9%82%D9%81" الإصدارة رقم: 2.0 Application name: Database management system by PHP script Author: Mohamad Rashad "http://www.mrashad.com" License: Waqf General Public License "http://www.ojuba.org/wiki/waqf/license" Version: 2.0 --> <form action="db.php" method="get"> <meta charset=utf-8"> <?php echo "The Server:<input size='13' name='srvtxt' value='$srvtxt'>"; echo "\n the user name:<input size='13' name='usertxt' value='$usertxt'>"; echo "\n the password:<input size='13' name='passtxt' type='password' value='$passtxt'>"; echo "\n the database:<input size='13' name='dbtxt' value='$dbtxt'><P>\n"; echo "SQL command:<input size='88' name='qtxt' value='$qtxt'><br>\n"; ?> <P><input type='submit' value='Do' /><P> <?php $con = mysql_connect($srvtxt,$usertxt,$passtxt); if (!$con) { die('Could not connect to the database server, check the server, user name and password !!!'); } mysql_select_db($dbtxt, $con) or die("Can't use the database !!!"); if ( $qtxt != "" ) { $result = mysql_query("$qtxt") or die("Erro with SQL command !!!"); $affected = mysql_affected_rows($con); if ($result == 1) { die("\n<br>$affected item(s) affected"); } $sql_num=mysql_num_rows($result); echo "<P>"; echo "Number of rows is: $sql_num<p>\n"; echo "<table border='1'>\n"; for($i = 0; $i < mysql_num_fields($result); $i++) { print '<th>' . mysql_field_name($result, $i) . '</th>'; } while($row = mysql_fetch_array( $result )) { echo "<tr>"; for($i=0;$i<count($row);$i++) { echo "<td>$row[$i]</td>";} echo "</tr>\n"; } echo "</table><br>\n"; } mysql_close($con); ?> <P>Thank you for using <a href="http://www.mrashad.com"><i>Mohamad Rashad</i></a> DBMS by PHP script, This script is licensed under <a href="http://www.ojuba.org/wiki/waqf/license">Waqf General Public License</a><br> </form> </html>
تحياتي


Menu
Cat Widget