كل ما يهم مطور المواقع ... لغات برمجة المواقع .. سكربتات .. مناقشات ..
memadesoky
عضو جديد
مشاركات: 20 اشترك في: 27 يوليو 2008, 18:21
مكان: ارض البرمجة
مشاركة
بواسطة memadesoky » 23 مارس 2009, 23:27
انا لم افهم اخى معنى
{loop=loopname} ... {/loop}
ياعنى الكود دة يتم اضافتة فين
كود: تحديد الكل
$uquery = mysql_query("$usql");
while($users = mysql_fetch_array($uquery))
{
$usersname = $users['username'];
$usersid = $users['id'];
echo $tpl->show('admin_users.html');
}
دة جدول طبع الاعضاء فى امر option فى الاتش تى ام ال فا لاحظت ان التكرار يطبع لى الصفحة اكتر من مرة بكل عضو ياعنى العضو الاول لة صفحة ويكررها تانى بى العضو التانى مش بيظهرو اومر option تحت بعض فا قولت اعمل الامر فى ملف القالب ولكن لا افضل خلط البرمجة بى الاتش تى ام ال كن هعمل اية فا لم افهم معنى
{loop=loopname} ... {/loop}
وايضا
$tpl->do_sql('SELECT * FROM tablename', 10, 'loopname');
وشكرا
saanina
عبدالرحمــــن
مشاركات: 3762 اشترك في: 30 أغسطس 2004, 13:54
مشاركة
بواسطة saanina » 23 مارس 2009, 23:39
كود: تحديد الكل
$users_arr = array();
$uquery = mysql_query("$usql");
while($users = mysql_fetch_array($uquery))
{
$users_arr[] = array('username'=>$users['username'],
'id' => $users['id']
);
}
echo $tpl->show('admin_users.html');
في القالب
كود: تحديد الكل
{loop=users_arr}
...
{username}
{id}
...
{/loop}
طبعا ان وضعت امر طباعه القالب داخل while وهذا خطأ لانه بكذا راح يطبع القالب مع كل عضو !
اما الآن فنحن نجمع الاعضا كمصفوفه ونعطيها للقالب ليطبعها !
memadesoky
عضو جديد
مشاركات: 20 اشترك في: 27 يوليو 2008, 18:21
مكان: ارض البرمجة
مشاركة
بواسطة memadesoky » 23 مارس 2009, 23:44
لاء هو انا عملت كدا انظر
كود: تحديد الكل
case (users):
$uquery = mysql_query("$usql");
while($users = mysql_fetch_array($uquery))
{
$usersname = $users['username'];
$usersid = $users['id'];
echo $tpl->show('admin_users.html');
}
@mysql_free_result($uquery);
break;
ودة القالب
كود: تحديد الكل
<html>
<head>
<title>الاعضاء</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<form action="index.php?mod=userss" method="POST">
<table dir=\"rtl\" border=\"1\" width=\"100%\">
<tr>
<td>
{include_tpl admin.html}
</td>
<td>
<select name="users">
<option value="{usersid}">{usersname}</option>
</select>
<input type="submit" value="تعديل">
</td>
</tr>
</table>
</form>
</body>
</html>
حتى ملف اللى انا عملة تضمن admin.html
اهو
مثال بسيط عنة مش اكتر
كود: تحديد الكل
<html dir="rtl">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>لوحة الادارة</title>
</head>
<body>
<table border="1" width="43%" height="102">
<tr >
<td height="28" width="121"><a href="index.php">الصفحة الرئسية</a></td>
</tr>
<tr>
<td height="28" width="121"><a href="index.php?mod=settings">الاعدادات العامة</a></td>
</tr>
<tr>
<td height="28" width="121"><a href="index.php?mod=users">الاعضاء</a></td>
</tr>
<tr>
<td height="28" width="121"><a href="../login.php?action=logout">تسجيل الخروج</a></td>
</tr>
</table>
</body>
</html>
ممكن تقول ازى اعملها بنفس الطريقة اللى انا متابعها ولو مانفع ممكن شرح طريقة المصفوفة دى وشكرا لك اخى
saanina
عبدالرحمــــن
مشاركات: 3762 اشترك في: 30 أغسطس 2004, 13:54
مشاركة
بواسطة saanina » 23 مارس 2009, 23:49
كود: تحديد الكل
case (users):
$users_arr = array();
$uquery = mysql_query("$usql");
while($users = mysql_fetch_array($uquery))
{
$users_arr[] = array('username'=>$users['username'],
'userid' => $users['id']
);
}
@mysql_free_result($uquery);
echo $tpl->show('admin_users.html');
break;
كود: تحديد الكل
<html>
<head>
<title>الاعضاء</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<form action="index.php?mod=userss" method="POST">
<table dir="rtl\" border=\"1\" width=\"100%\">
<tr>
<td>
{include_tpl admin.html}
</td>
<td>
<select name="users">
{loop=users_arr}
<option value="{userid}">{username}</option>
{/loop}
</select>
<input type="submit" value="تعديل">
</td>
</tr>
</table>
</form>
</body>
</html>
memadesoky
عضو جديد
مشاركات: 20 اشترك في: 27 يوليو 2008, 18:21
مكان: ارض البرمجة
مشاركة
بواسطة memadesoky » 24 مارس 2009, 00:00
هو صح وكلو تمام بس معلش انا مش فهم ياعنى احنا كدا طبعنا القالب خارج الحلقة وكدا المفروض يعرض اخر عضو فقط لانة خارج التكرار ولو اننا حطنها فى مصفوفة اذ ما فائدة فى الاول
$users_arr = array();
اعتقد ان المصفوفة الثانية هى تؤدى الغرض المطلوب فا يارت لو تفهمنى اكون شاكر جدا ليك اخى عبد الرحمن
saanina
عبدالرحمــــن
مشاركات: 3762 اشترك في: 30 أغسطس 2004, 13:54
مشاركة
بواسطة saanina » 24 مارس 2009, 00:02
احنا سوينا
$users_arr = array();
عشان نعرف المتغير انه مصفوفه
ولو كان مافيش نتائج في الحلقه راح يروح للقالب على انه مصفوفه وماراح يعرض خطأ بعدين !
وطبعنا خارج الحلقه لاننا مانبغى نطبع القالب اكثر من مره , هي مره وحده ويكفي !
memadesoky
عضو جديد
مشاركات: 20 اشترك في: 27 يوليو 2008, 18:21
مكان: ارض البرمجة
مشاركة
بواسطة memadesoky » 24 مارس 2009, 00:22
saanina كتب: احنا سوينا
$users_arr = array();
عشان نعرف المتغير انه مصفوفه
ولو كان مافيش نتائج في الحلقه راح يروح للقالب على انه مصفوفه وماراح يعرض خطأ بعدين !
وطبعنا خارج الحلقه لاننا مانبغى نطبع القالب اكثر من مره , هي مره وحده ويكفي !
اخى حذفتة لم يحدث شئ لانى اعتقد ان
كلامة array تكفى لتعريفة انة مصفوفة
واعتقد برضو ان [] ليس لها فائدة ياعنى مادام لا تحتوى على عدد او اسم فا ليس لها فائدة حتى انت كتبت فى اللوب
users_arr
مش$users_arr[]
ياعنى المفروض $users_arr[] تعتبر متغير تانى غير users_arr اللى فوق او ممكن ما تعتبر متغير تانى لو تحتوى على عدد او حروف مثلا يكون ليها قيمة فى المتغير اللى فوق !!
saanina
عبدالرحمــــن
مشاركات: 3762 اشترك في: 30 أغسطس 2004, 13:54
مشاركة
بواسطة saanina » 24 مارس 2009, 00:27
طيب ياسيدي دامك عاوز كذا فبراحتك
memadesoky
عضو جديد
مشاركات: 20 اشترك في: 27 يوليو 2008, 18:21
مكان: ارض البرمجة
مشاركة
بواسطة memadesoky » 24 مارس 2009, 00:33
saanina كتب: طيب ياسيدي دامك عاوز كذا فبراحتك
لاء مش قصدى مجرد نقاش زعلات ولا اية
كل الموضوع انى عايز افهم بس
saanina
عبدالرحمــــن
مشاركات: 3762 اشترك في: 30 أغسطس 2004, 13:54
مشاركة
بواسطة saanina » 24 مارس 2009, 00:45
$users_arr = array();
ماراح تعرف فايدتها الان لان لديك نتائج , لكن تخيل ان قاعدة البيانات مافيهاش اي عضو
راح تكون المصفوفه صفر !
واصلا انت ماقلت ان هذي مصفوفه !
راح يقول النظام ان هذي مش مصفوفه ويظهر خطأ !
[] << تستخدم لاضافه عنصر للمصفوفه ولا يلزم ان يحوي اي قيمه