السلام عليكم ورحمة الله وبركاته
عندي مشكلة في كود php حيث انه لا يعمل كما هو مطلوب
الكود ونسخة من الجدول بالمرفقات
اسم قاعدة البيانات "words"
وشكرا
اذكر ما هي المشكلة
ضع رسائل الأخطاء إن وجدت
اذكر ما الذي تقوم بفعله، ما هو الشئ الذي تتوقعه، ما هو الشئ الذي تحصل عليه
![]()
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
تمام
المفروض اني بعمل استرجاع لبيانات موجودة في قاعدة البيانات
عبارة عن اسماء الاطباء الموجودة بالجدول
بحيث مثلا ان الاسماء لو موجودة تحت بعضها في الجدول بالشكل دا
......................................
احمد محمد سلام
مصطفى السيد عيسى
صبحي صلاح سامي
........................................
الكود يعرضهالي كدة
....................................
احمد محمد سلام
احمد
محمد
سلام
مصطفى السيد عيسى
مصطفى
السيد
عيسى
صبحي صلاح سامي
صبحي
صلاح
سامي
......................................
لا يوجد اي اثر لرسائل خطأ لان الصفحة تظهر لي بيضاء
ارجو المساعدة منكم ولكم جزيل الشكر
لديك مشكلتين.
1- بياناتك في القاعدة بترميز UTF8، بالتالي عليك أن تحدد نوع الترميز للاتصال حتى يتم قراءة البيانات بشكل صحيح.
من أجل ذلك نستخدم mysql_set_charset(...)
2- تستخدم mysql_fetch_array(...) بصورة خاطئة.. يبدو أن الاسم خلط عليك الأمور، الـ array لا يقصد بها إعادة كل الـ rows في array ومن ثم تستطيع المرور عليها واحد تلو الآخر كما تفعل في الحلقة. الـ array المقصود بها أن يتم إعادة سطر وحيد، ويتم تمثيل البيانات فيه بمصفوفة تسمح لك بقراءة محتواه إما من خلال index حسب ترتيب العمود ضمنه، أو باسم العمود.
لتفهم الفكرة اكتب print_r(mysql_fetch_array($result)) وانظر ما الذي سيظهر لديك.
بالتالي عليك بكل الأحوال أن تقوم باستخدام حلقة أخرى لجلب جميع الـ rows، وهذا نقوم به عادة باستخدام while
<?php
$cn=@mysql_connect("localhost","root","");
if (!$cn)
{
die ('Couldnot connect:<br>' . mysql_error());
}
$db=mysql_select_db('words',$cn) or die(mysql_error());
mysql_set_charset('utf8',$cn);
$desc = "باطنة";
$sql="select doctorname from mainschedules where department = '$desc'";
$result = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_array($result))
{
echo $row["doctorname"].'<br>'; # you can also use $row[0] instead of $row["doctorname"]
$arrx = explode( " ", $row["doctorname"] );
for ($m=0; $m<count($arrx); $m++)
{
if ($arrx[$m] != "" && $arrx[$m] != " ")
{
echo $arrx[$m].'<br>';
}
}
}
?>Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
الحقيقة كفيت ووفيت
وانا شاكر لحضرنك جدا جزاك الله كل خير :D: D