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

كود Php مع Ajax , اكمال تلقائي للنص عند ادخال احرف الكلمة.

بدأه Mohammad Hussein في 8 أبريل 2009 · 1 رد · 1,566 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

هذة دعوة للمشاركة لتطوير نظام بحث لعدة جداول في قاعدة بيانات MYSQL باستخدام PHP مع AJAX. فكرة ؟

هذا الكود جيد, و رغبت بنقلة لكم مع الحاجة الى بعض التعديلات بما يخص اللغة العربية, بماذا يساعد هذا الكود؟

لنفرض ان لديك قاعدة بيانات تحوي على اسماء طلبة , و الاسم الرباعي كاملا مثل : احمد خليل حسين الماني.

فيمكنك ان تضع في خانة البحث : ( احم ) مثلا و يظهر لك بقية الاسم بشكل اوتوماتيكي اي تلقائي. و هذا يعمل جيدا مع اللغة الانجليزية و لكن العربية بحاجة الى تعديل. يشبة الى حد ما عمل محرك البحث Googl عندما تضع بداية الكلمة و يكمل Google الباقي.

السكربت يعمل على PHP 5 , و يمكن تعديلة ليعمل على 4.

السكربت عبارة عن ملف PHP و ملف JavaScript و ملف HTML , سأضعا كلها في المرفقات.

الملف الاول و هو المهم , ملف كود PHP . و نرغب في بحثة:

	// PHP5 Implementation - uses MySQLi.
	// mysqli('localhost', 'yourUsername', 'yourPassword', 'yourDatabase');
	$db = new mysqli('localhost', 'root' ,'', 'test');

	if(!$db) {
		// Show error if we cannot connect.
		echo 'ERROR: Could not connect to the database.';
	} else {
		// Is there a posted query string?
		if(isset($_POST['queryString'])) {
			$queryString = $db->real_escape_string($_POST['queryString']);


			// Is the string length greater than 0?

			if(strlen($queryString) >0) {
				// Run the query: We use LIKE '$queryString%'
				// The percentage sign is a wild-card, in my example of countries it works like this...
				// $queryString = 'Uni';
				// Returned data = 'United States, United Kindom';

				// YOU NEED TO ALTER THE QUERY TO MATCH YOUR DATABASE.
				// eg: SELECT yourColumnName FROM yourTable WHERE yourColumnName LIKE '$queryString%' LIMIT 10

				$query = $db->query("SELECT title FROM stud WHERE title LIKE '$queryString%' LIMIT 10");
				if($query) {
					// While there are results loop through them - fetching an Object (i like PHP5 btw!).
					while ($result = $query ->fetch_object()) {
						// Format the results, im using <li> for the list, you can change it.
						// The onClick function fills the textbox with the result.

						// YOU MUST CHANGE: $result->value to $result->your_colum
	         			echo '<li onClick="fill(\''.$result->title.'\');">'.$result->title.'</li>';
	         		}
				} else {
					echo 'ERROR: There was a problem with the query.';
				}
			} else {
				// Dont do anything.
			} // There is a queryString.
		} else {
			echo 'There should be no direct access to this script!';
		}
	}

الملف الثاني و هو ملف Java Script , حملة من المرفقات و ضروري ان يتم استدعائة في صفحة البحث.

الملف الثالث و هو ملف HTML الذي يحوي Field.و بعض JS

جميع الملفات كاملة في الملف المضغوط في المرفقات.

المشكلة انة لا يعمل جيدا مع اللغة العربية, و لذا بحاجة لحل باستخدام iconv و التي يجب ان تكون مدعومة من Apache server.

\ محمد

autoComplete.zip

#2

هناك أخ قد سبق ووضع نفس سكربتك ربما بإتحادكما ستجعلونه يدعم العربية .

صممت سكربت اريد رأيكم فيه, ajax jquery autosuggest

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

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