الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كود php لا يعمل رغم كتابته بشكل صحيح

بدأه Sherif_Rihan في 21 أغسطس 2012 · 4 رد · 852 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

عندي مشكلة في كود php حيث انه لا يعمل كما هو مطلوب

الكود ونسخة من الجدول بالمرفقات

اسم قاعدة البيانات "words"

وشكرا

words.sql

joke.php

−2
#2

اذكر ما هي المشكلة

ضع رسائل الأخطاء إن وجدت

اذكر ما الذي تقوم بفعله، ما هو الشئ الذي تتوقعه، ما هو الشئ الذي تحصل عليه

mad.gif

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

تمام

المفروض اني بعمل استرجاع لبيانات موجودة في قاعدة البيانات

عبارة عن اسماء الاطباء الموجودة بالجدول

بحيث مثلا ان الاسماء لو موجودة تحت بعضها في الجدول بالشكل دا

......................................

احمد محمد سلام

مصطفى السيد عيسى

صبحي صلاح سامي

........................................

الكود يعرضهالي كدة

....................................

احمد محمد سلام

احمد

محمد

سلام

مصطفى السيد عيسى

مصطفى

السيد

عيسى

صبحي صلاح سامي

صبحي

صلاح

سامي

......................................

لا يوجد اي اثر لرسائل خطأ لان الصفحة تظهر لي بيضاء

ارجو المساعدة منكم ولكم جزيل الشكر

#4

لديك مشكلتين.

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>';
		}
	}
}
?>
1

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#5

الحقيقة كفيت ووفيت

وانا شاكر لحضرنك جدا جزاك الله كل خير :D: D

مواضيع مشابهة