السلام عليكم
كنت قد كتبت قبل فترة مساعدة في كود باستخدام البي اتش بي والجافا سكربت لعرض اخر 10 صور مضافة الى الداتا بيس ولكن كلعادة عدد كبير من المشاهدات ولا ردود ؟!!!!!!
المهم اني حصلت كود بالاجاكس وغيرت فيه ليلائم حاجتي ولكن ايضا توجد مشكلة انه ينفذ اول مرة وبعدها تطلع الصور دفعة واحدة
والمطلوب هو عرض الصور واحدة بعد الاخرى بفاصل 10 ثواني
ارفق لكم الكود مع مثال مرفوع على السيرفر وارجو ان يكون لدى احد الاعضاء الحل
ملف index
<html>
<head>
<script language="javascript">
function jah_switch(url,target)
{
if (document.getElementById(target).innerHTML != '')
{
document.getElementById(target).innerHTML = '';
}
else
{
jah(url,target);
}
}
function Switch(url,target) {
// native XMLHttpRequest object
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
req.onreadystatechange = function() {jahDone(target);};
req.open("GET", url, true);
req.send(null);
// IE/Windows ActiveX version
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req) {
req.onreadystatechange = function() {jahDone(target);};
req.open("GET", url, true);
req.send();
}
}
}
function jahDone(target) {
// only if req is "loaded"
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
results = req.responseText;
document.getElementById(target).innerHTML = results;
} else {
document.getElementById(target).innerHTML="خطأ:\n" +
req.statusText;
}
}
}
</script>
</head>
<body>
<?php
// جلب ملف الاتصال لانشاء الاتصال بقاعدة البيانات
require('config.php');
// طباعة div الذي سيحتوي على الصور
echo '<div id="photo_show">';
// الاستعلام عن صورة من جدول الصور مع الترتيب عشوائيا
$get_phos = @mysql_query ("select Car_pic from car order by Car_id desc LIMIT 1") or trigger_error(mysql_error(),E_USER_ERROR);
// جلب نتيجة الاستعلام، نتوقع نتيجة واحدة بناءا على طلبنا لذا لا داعي لحلقة التكرار
$phos= @mysql_fetch_array($get_phos);
// طباعة الصورة، مع استخدام اسمها لخاصية alt حتى يظهر عن مرور الماوس على الصورة
echo '<img width="200" src="'.$phos['Car_pic'].'" />';
// اقفال الـ div الذي يحتوي على الصورة
echo '</div>';
// هنا الجزء الأهم من الكود، وهو انشاء تايمر يقوم بتنفيذ الكود Switch كل 10 ثواني (10 آلاف ملي ثانية)
echo "<script>setInterval('Switch(\'photo_show.php\', \'photo_show\');', 10000);</script>";
//echo "<script>setInterval('Switch(\'photo_show.php\', \'photo_show\')', 10000);</script>";
?>
</body>
</html>
وهذا ملف ال phot_show
<?php
include('config.php');
$get_phos = @mysql_query ("select Car_pic from car order by Car_id desc LIMIT 1") or trigger_error(mysql_error(),E_USER_ERROR);
while($phos = @mysql_fetch_array($get_phos))
{
echo '<img width="200" src="'.$phos['Car_pic'].'" />';
}
,iوهذا تنفيذ الكود على السيرفر