PDA

View Full Version : load چند پنجره در حلقه while



scmorfi
شنبه 27 آبان 1391, 10:28 صبح
من یه مشکلی دارم اینه که میخوام تو حلقه while چند پنجره تو صفحه اصلی load کنم ولی اون page ها سر جایی که باید باشن قرار نمیگیرن کد رو میزارم شاید کسی بتونه کمکم کنه.فوریه
<?php
while ($val=mysql_fetch_assoc($q1))
{
$str=$val['subject'];
$str2=$val['pos'];

?>

<script>
$(document).ready(function(){
str="<?php echo $str ?>";
str2="<?php echo $str2 ?>";


s="admin/madule/"+str+"/index.php";


$.get(s, function(data) {
$("#a1").append(s);
$("."+str2).append(data);
});




});
</script>

<?php

}
?>

mrgraphy
شنبه 27 آبان 1391, 11:54 صبح
سلام دوست عزیز.
یعنی چی جایی که باید قرار بگیریند نمیگیرن؟
مگر کجا باید باشن؟ توضیحاتت ناقصه

scmorfi
شنبه 27 آبان 1391, 12:42 عصر
ببین داداش ایم کد کارش اینه که بیاد هر دفه که حاقه while انجام میشه مقدار s و str1 تغییر میکنه و بعد با عملیات get یه page رو load بکنه. و در تکرار بعدی حلقه یک page دیگه رو laod کنه.ولی مشکلی که اینجا هست اینه که حلقه اجرا میشه واسه دفعه اول عملیات get انجام نمیشه و وقتی تمام تکرارهای while تمام میشه اونوقت با آخرین مقدار str1 و s میاد یک page رو چندبار load میکنه.

masudafsar
شنبه 27 آبان 1391, 23:00 عصر
مشکل اینجاست که تگ script به تعداد تکرارهایی while در فایل html ایجاد میشه و چون اول پردازش PHP در سمت سرور انجام میشه و بعد js اجرا میشه پس با 4 بار تکرار ، 4 تگ script خواهیم داشت که وقتی صفحه کامل لود شد اسکریپت 4 بار با آخرین مقادیر متغیر های js اجرا میشه.

حالا راه حل اینه که شما از طریقی (مثل استفاده از JSON) داده ها رو از اسکریپت PHP به اسکریپت jQuery پاس بدید بعد حلقه رو در js بسازید نه در PHP.