لدي برنامج أقوم فيه بتخزين القوالب داخل قاعدة البيانات ثم أقوم باستخراجها لاحقا باستخدام الدالة eval لتنسيق المخرجات من قاعدة البيانات .
وهذا الكود الذي يستخرج البيانات ويقوم بتطبيق التامبلت عليها
كود PHP:
@mysql_connect("$server", "$db_user", "$db_pass");
@mysql_select_db("$database");
$res=mysql_query("SELECT * FROM info");
while ( $row = mysql_fetch_array($res)){
$name=$row[name];
$comm=$row[comm];
$W = mysql_query("SELECT * FROM templates WHERE (id = 1)");
while ($rot=mysql_fetch_array($W))
{
$temp_aot = $rot["tamp_code"] ;
$temp_aot=str_replace('"',"'",$temp_aot);
eval("\$temp_aot = \"$temp_aot\";");
echo $temp_aot;
}
}
المشكلة ياشباب إني جربت الدالة هذي مع متغير ذو قيمة واحدة وقامت بعملها بالشكل المطلوب حيث استبدلت المتغير بقيمته في التامبلت
لكن عندما جربتها على أن تطبق التامبلتس على مصفوفة بأسماء الأعضاء ومشاركاتهم من قاعدة البيانات لاحظت انها تقوم بتكرار التامبلت كاملا مع كل مشاركة
مثلا .. التامبلتس لعرض البيانات هكذا :
بيانات المشاركين
------------------------------------------------------------
$row[name]
------------------------------------------------------------
$row[comm]
فالدالة تقوم بتكرار عنوان الصفحة والجدول لكل مشاركة بالطريقة التالية:
بيانات المشاركين
------------------------------------------------------------
العضو الأول
------------------------------------------------------------
المشاركة الأولى
بيانات المشاركين
------------------------------------------------------------
العضو الثاني
------------------------------------------------------------
المشاركة الثانية
بيانات المشاركين
------------------------------------------------------------
العضو الثالث
------------------------------------------------------------
المشاركة الثالثة
واللي أبيه طبعا أن يكون عنوان الصفحة واحد فقط في الأعلى ثم جدول واحد لجميع الأعضاء بمشاركاتهم تحت بعض دون إعادة تكرار للجدول والعنوان بين كل مشاركة وأخرى