PDA

View Full Version : سوال: درخواست اصلاح و تكميل يك قطعه كد



amir ghasemiyan
یک شنبه 01 تیر 1393, 15:36 عصر
سلام دوستان

من در حال نوشتن يك كد هستم. تو اين كد به يك آرايه دو بعدي نياز دارم. اينطوري ساختمش:


$newArray[$counter]['amirid'] = $foruming['forumid'];
$newArray[$counter++]['amircount'] = $threading['postcount'];

اين آرايه داخل يك حلقه ساخته ميشه.
اولا بهم بگين درست ساختم اين آرايه رو يا خير؟
دوما لطف كنيد بگين من چطوري ميتونم اين آرايه رو بر اساس amircount سورت (صعودي به نزولي. تمامي مقادير عددي ميباشند) كنم؟
سوما ميخوام داخل يك حلقه ديگه از تك تك رديف هاي اين آرايه استفاده كنم. من از اين كد استفاده كردم. درسته يا خير؟

foreach($newArray as $amirrow)

emadrezvani
یک شنبه 01 تیر 1393, 16:32 عصر
اگه شما این دوخط رو در داخل یک حلقه قرار داده باشید در هر بار اجرای حلقه مقدار قبلی بازنویسی میشه. سناریو کارتون رو بگید.

DR.HTML
یک شنبه 01 تیر 1393, 17:37 عصر
سلام دوستان

من در حال نوشتن يك كد هستم. تو اين كد به يك آرايه دو بعدي نياز دارم. اينطوري ساختمش:


$newArray[$counter]['amirid'] = $foruming['forumid'];
$newArray[$counter++]['amircount'] = $threading['postcount'];

اين آرايه داخل يك حلقه ساخته ميشه.
اولا بهم بگين درست ساختم اين آرايه رو يا خير؟
دوما لطف كنيد بگين من چطوري ميتونم اين آرايه رو بر اساس amircount سورت (صعودي به نزولي. تمامي مقادير عددي ميباشند) كنم؟
سوما ميخوام داخل يك حلقه ديگه از تك تك رديف هاي اين آرايه استفاده كنم. من از اين كد استفاده كردم. درسته يا خير؟

foreach($newArray as $amirrow)

کدتون یه ذره عجیبه یعنی یه ارایه کلی دارید که توش دو تا ارایه دارید که هرکدوم یه مقدارو قرار میده ؟ اگر چیزیه که میخواین این شکلیه که درست در غیر اینصورت یه تجدید نظر بکنید
اریرو میتونید با توابع قسمت ارایه تنظیم کنید براساس مقدار خاصی مثل تابع sort
کد حلقتونم شکلش که درست حالا بستگی داره چجوری میخواید استفاده کنید اما دیروز توی اموزشهای اقای شهرکی قسمت جالبیو که دیدم اینجوری بود که قبلا ندیده بودم کسی به این شکل استفاده کنه . دیده بودمش اما استفادشو نه !
foreach ($newArray as $key=>$amirrow)




قسمت key شماره ارایرو نگه میداره و دومیه مقدار اون سطر از ارایرو

amir ghasemiyan
یک شنبه 01 تیر 1393, 21:01 عصر
اگه شما این دوخط رو در داخل یک حلقه قرار داده باشید در هر بار اجرای حلقه مقدار قبلی بازنویسی میشه. سناریو کارتون رو بگید.
چرا آخه؟
تو خط دوم شمارنده ++ ميشه.

والا اين يك هك ويبولتين هست كه تعداد پست هاي هر انجمن رو براي هر كاربر حساب ميكنه و تو پرفايلش يك تب ايجاد ميكنه و نشون ميده. تنها عيبي كه داره اينه كه بر اساس شناسه انجمن مرتب ميكنه. من ميخوام بر اساس تعداد پست مرتب كنه. كل فايل رو قرار ميدم.
متاسفانه مشكلي كه هست اينه كه بايد ابتدا به ترتيب انجمن ها رو بگرده و تعداد پست ها رو در بياره بعد اين مقادير رو تو يك آرايه بريزيم و مجددا بر اساس تعداد پست سورت كنيم.


<?xml version="1.0" encoding="ISO-8859-1"?>

<product productid="post_areas_vbb" active="1">
<title>Post Areas For VBB</title>
<description>Post Areas For VBB = HSVFORUM.VN</description>
<version>1.0.1</version>
<url>http://hsvforum.vn/</url>
<versioncheckurl>http://hsvforum.vn/forum.php</versioncheckurl>
<dependencies>
</dependencies>
<codes>
</codes>
<templates>
<template name="memberinfo_block_forum" templatetype="template" date="1338341876" username="achoo254" version=""><![CDATA[
<vb:if condition="$userinfo['userid'] != $bbuserinfo['userid']">
<span><a href="./forumdisplay.php?{vb:raw foruming.forumid}">{vb:raw foruming.title}: </a></span><br />
</vb:if>
]]></template>
<template name="memberinfo_block_post" templatetype="template" date="1338341876" username="achoo254" version=""><![CDATA[
<vb:if condition="$userinfo['userid'] != $bbuserinfo['userid']">
<span>{vb:raw postid}</span><br />
</vb:if>
]]></template>
<template name="memberinfo_block_Posted" templatetype="template" date="1338341876" username="achoo254" version=""><![CDATA[
<div id="view-Posted" class="<vb:if condition="$selected_tab == 'Posted'">selected_view_section<vb:else />view_section</vb:if><vb:if condition="$userinfo['userid'] != $bbuserinfo['userid']"> vm_other_prof</vb:if>">
<div class="blocksubhead subsectionhead userprof_headers userprof_headers_border">
<h4 class="subsectionhead-understate">TOP Areas Of Posting</h4>
</div>
<div class="blockbody userprof_content userprof_content_border">
<table>
<tr>
<td align="right">
{vb:raw ad_location.memberinfo_block_forum}
</td>
<td>
{vb:raw ad_location.memberinfo_block_post}
</td>
</tr>
</table>
</div>

]]></template>
</templates>
<stylevardfns>
</stylevardfns>
<stylevars>
</stylevars>
<plugins>
<plugin active="1" executionorder="5">
<title>Areas Profiles</title>
<hookname>member_complete</hookname>
<phpcode><![CDATA[global $vbulletin;
if ($vbulletin->options['areas_on']==1)
{
if (isset($vbulletin->GPC['tab']))
{
$selected_tab = $vbulletin->GPC['tab'];
}
$blockinfo['title'] = "Post Areas";
$blockid = "Posted";
$taburl = $memberurl = fetch_seo_url('member', $prepared) . "&amp;tab=Posted#Posted";

$templater = vB_Template::create('memberinfo_tab');
$templater->register('selected_tab', $selected_tab);
$templater->register('relpath', $relpath);
$templater->register('blockinfo', $blockinfo);
$templater->register('blockid', $blockid);
$templater->register('taburl', $taburl);
$template_hook['profile_tabs_last'] .= $templater->render();

$newArray = array('amirid'=>array(),'amircount'=>array());
$counter = 0;

$userid = $userinfo['userid'];
$forumid = explode(',', $vbulletin->options['areas_forumid']);
$sqlketnoi3 = $vbulletin->db->query_read("
SELECT *
FROM " . TABLE_PREFIX . "forum
");
while($foruming = $vbulletin->db->fetch_array($sqlketnoi3))
{
foreach($forumid AS $idforum)
{
if($idforum == $foruming['forumid'])
{
$sqlketnoi2 = $vbulletin->db->query_read("
SELECT *,COUNT(postid) AS postcount
FROM " . TABLE_PREFIX . "thread,post
WHERE thread.forumid = ".$idforum." AND post.threadid = thread.threadid AND post.userid = ".$userid."
");

while($threading = $vbulletin->db->fetch_array($sqlketnoi2))
{
if($threading['postcount']>=1)
{
$newArray['amirid'][$counter] = $foruming['forumid'];
$newArray['amircount'][$counter++] = $threading['postcount'];
}
}
}
}
}
$counter = 0;
foreach($newArray as $amirrow)
{
while($foruming = $vbulletin->db->fetch_array($sqlketnoi3))
{
if($amirrow['amirid'][$counter] == $foruming['forumid'])
{
$postid = $amirrow['amirid'];
$templater = vB_Template::create('memberinfo_block_post');
$templater->register('postid', $postid);
$ad_location['memberinfo_block_post'] .= $templater->render();

$templater = vB_Template::create('memberinfo_block_forum');
$templater->register('foruming', $foruming);
$ad_location['memberinfo_block_forum'] .= $templater->render();
}
}
$counter++;
}


$templater = vB_Template::create('memberinfo_block_Posted');
$templater->register('selected_tab', $selected_tab);
$template_hook['profile_tabs'] .= $templater->render();
}
]]></phpcode>
</plugin>
</plugins>
<phrases>
<phrasetype name="vBulletin Settings" fieldname="vbsettings">
<phrase name="setting_areas_forumid_desc" date="0" username="" version=""><![CDATA
[List IDs, separate with commas]]></phrase>
<phrase name="setting_areas_forumid_title" date="0" username="" version=""><![CDATA[Forumid]]></phrase>
<phrase name="setting_areas_on_desc" date="0" username="" version=""><![CDATA[Enable/Disable MOD]]></phrase>
<phrase name="setting_areas_on_title" date="0" username="" version=""><![CDATA[MOD Enable/Disable]]></phrase>
<phrase name="settinggroup_areas" date="0" username="" version=""><![CDATA[Post Areas For VBB by achoo254]]></phrase>
</phrasetype>
</phrases>
<options>
<settinggroup name="areas" displayorder="500">
<setting varname="areas_on" displayorder="1">
<datatype>free</datatype>
<optioncode>yesno</optioncode>
<defaultvalue>1</defaultvalue>
</setting>
<setting varname="areas_forumid" displayorder="2">
<datatype>free</datatype>
</setting>
</settinggroup>
</options>
<helptopics>
</helptopics>
<cronentries>
</cronentries>
<faqentries>
</faqentries>
<navigation>
</navigation>
</product>

amir ghasemiyan
یک شنبه 01 تیر 1393, 21:05 عصر
کدتون یه ذره عجیبه یعنی یه ارایه کلی دارید که توش دو تا ارایه دارید که هرکدوم یه مقدارو قرار میده ؟ اگر چیزیه که میخواین این شکلیه که درست در غیر اینصورت یه تجدید نظر بکنید
اریرو میتونید با توابع قسمت ارایه تنظیم کنید براساس مقدار خاصی مثل تابع sort
کد حلقتونم شکلش که درست حالا بستگی داره چجوری میخواید استفاده کنید اما دیروز توی اموزشهای اقای شهرکی قسمت جالبیو که دیدم اینجوری بود که قبلا ندیده بودم کسی به این شکل استفاده کنه . دیده بودمش اما استفادشو نه !
foreach ($newArray as $key=>$amirrow)




قسمت key شماره ارایرو نگه میداره و دومیه مقدار اون سطر از ارایرو

چيزي كه من تو خروجي حلقه اول نياز دارم يك همچين چيزي هست:


amircount
amirid


4
1



10
2


26
3


15
4


20
5



بعد اينو بر اساس amircount سورتش ميكنم و داخل حلقه foreach ازش خروجي ميگيرم

MMSHFE
یک شنبه 01 تیر 1393, 21:10 عصر
کدتون درسته. البته این کد بهتره:

$newArray[$counter++] = array(
'amirid' => $foruming['forumid'],
'amircount' => $threading['postcount'],
);
برای مرتب کردن هم از تابع usort استفاده کنید:

function MySort($first, $second) {
if($first['amircount'] == $second['amircount']) {
return 0;
}
return ($first['amircount'] > $second['amircount'] ? -1 : 1);
}

usort($newArray, 'MySort');

amir ghasemiyan
یک شنبه 01 تیر 1393, 21:20 عصر
کدتون درسته. البته این کد بهتره:

$newArray[$counter++] = array(
'amirid' => $foruming['forumid'],
'amircount' => $threading['postcount'],
);
برای مرتب کردن هم از تابع usort استفاده کنید:

function MySort($first, $second) {
if($first['amircount'] == $second['amircount']) {
return 0;
}
return ($a['amircount'] < $b['amircount'] ? -1 : 1);
}

usort($newArray, 'MySort');

ممنون دوست عزيز
شما كه همشو زحمت كشيديد انجام دادين، مرحمت ميكنين بگين حلقه آخرش رو چطوري بايد بنويسم؟

MMSHFE
یک شنبه 01 تیر 1393, 21:27 عصر
این کد رو بعد از usort بگذارین:

echo '<table border="1px" cellpadding="5px" cellspacing="0" width="500px">' . PHP_EOL;
echo '<tr><th width="50%">Forum ID</th><th width="50%">Post Count</th></tr>' . PHP_EOL;
foreach($newArray as $item) {
echo '<tr>';
echo '<td>' . $item['amirid'] . '</td>';
echo '<td>' . $item['amircount'] . '</td>';
echo '</tr>' . PHP_EOL;
}
echo '</table>' . PHP_EOL;

amir ghasemiyan
یک شنبه 01 تیر 1393, 21:32 عصر
این کد رو بعد از usort بگذارین:

echo '<table border="1px" cellpadding="5px" cellspacing="0" width="500px">' . PHP_EOL;
echo '<tr><th width="50%">Forum ID</th><th width="50%">Post Count</th></tr>' . PHP_EOL;
foreach($newArray as $item) {
echo '<tr>';
echo '<td>' . $item['amirid'] . '</td>';
echo '<td>' . $item['amircount'] . '</td>';
echo '</tr>' . PHP_EOL;
}
echo '</table>' . PHP_EOL;

ممنون دوست عزيز
نبايد echo بشه ولي مهم حلقه بود كه متوجه شدم.ممنون
درضمن خروجي كه بهم ميده اشتباهه. اصلا سورت نميشه.



Forum ID
Post Count






4
1






2
13


5
9

amir ghasemiyan
یک شنبه 01 تیر 1393, 22:02 عصر
این کد رو بعد از usort بگذارین:

echo '<table border="1px" cellpadding="5px" cellspacing="0" width="500px">' . PHP_EOL;
echo '<tr><th width="50%">Forum ID</th><th width="50%">Post Count</th></tr>' . PHP_EOL;
foreach($newArray as $item) {
echo '<tr>';
echo '<td>' . $item['amirid'] . '</td>';
echo '<td>' . $item['amircount'] . '</td>';
echo '</tr>' . PHP_EOL;
}
echo '</table>' . PHP_EOL;

براي سورت از كد زير كمك گرفتم. نتيجه اي كه ميخواستم رو بهم داد.


foreach ($newArray as $key => $row)
{
$Postcounts[$key] = $row['amircount'];
$Forumids[$key] = $row['amirid'];
}

array_multisort($Postcounts, SORT_DESC, $Forumids, SORT_ASC, $newArray);



متاسفانه مشكل در حلقه آخر هنوز پابرجاست. اصلا خروجي بهم نميده

MMSHFE
یک شنبه 01 تیر 1393, 22:22 عصر
راستش با vB زیاد کار نکردم ولی شما باید درمورد add custom content to vbulletin page جستجو کنید. ضمناً کدی که گذاشتم برای داده های تست که خودم استفاده کردم کار میکنه و مشکلی نداره. فقط یک خطای جزئی توی کد بود (بجای first$ و second$ از a$ و b$ استفاده کرده بودم) که درستش کردم و کد الان درست کار میکنه. بهرحال تابع multisort هم تابع خوبیه برای این کار.

amir ghasemiyan
یک شنبه 01 تیر 1393, 22:34 عصر
راستش با vB زیاد کار نکردم ولی شما باید درمورد add custom content to vbulletin page جستجو کنید. ضمناً کدی که گذاشتم برای داده های تست که خودم استفاده کردم کار میکنه و مشکلی نداره. فقط یک خطای جزئی توی کد بود (بجای first$ و second$ از a$ و b$ استفاده کرده بودم) که درستش کردم و کد الان درست کار میکنه. بهرحال تابع multisort هم تابع خوبیه برای این کار.

آها بله. احساس كردم بايد مشكل از اونجا باشه. به هر حال خيلي خيلي لطف كردين.ممنون

ولا قسمتي از كد كه مشكل دارم ربطي به vb نداره. فقط گيرم تو قسمت php هست.
يك متغير داريم به نام sqlketnoi3 كه ميره از ديتابيس يك كوئري ميگيره. بعد fetch_array ميكنيم تو يك متغير به نام foruming.
حالا من ميخوام تو حلقه به ازاي هر item['amirid'] ساير ستون هاي جدول رو بهم بده.
من اين طوري نوشتم. فقط براي سطر اول حساب كرد:


foreach($newArray as $item)
{
while($foruming = $vbulletin->db->fetch_array($sqlketnoi3))
{
if($foruming['forumid'] == $item['amirid'])
{
$postid = $item['amircount'];
$templater = vB_Template::create('memberinfo_block_post');
$templater->register('postid', $postid);
$ad_location['memberinfo_block_post'] .= $templater->render();

$templater = vB_Template::create('memberinfo_block_forum');
$templater->register('foruming', $foruming);
$ad_location['memberinfo_block_forum'] .= $templater->render();
}
}
}

MMSHFE
یک شنبه 01 تیر 1393, 22:38 عصر
اینو تست کنید (جای حلقه ها رو عوض کردم) :

while($foruming = $vbulletin->db->fetch_assoc($sqlketnoi3)) {
foreach($newArray as $item) {
if($foruming['forumid'] == $item['amirid']) {
$postid = $item['amircount'];
$templater = vB_Template::create('memberinfo_block_post');
$templater->register('postid', $postid);
$ad_location['memberinfo_block_post'] .= $templater->render();
$templater = vB_Template::create('memberinfo_block_forum');
$templater->register('foruming', $foruming);
$ad_location['memberinfo_block_forum'] .= $templater->render();
break;
}
}
}

amir ghasemiyan
یک شنبه 01 تیر 1393, 22:57 عصر
كلا نابود شد :لبخند: ديگه هيچي لود نشد

MMSHFE
یک شنبه 01 تیر 1393, 23:02 عصر
آقا من دیگه نمیدونم! چون درمورد vB اطلاعات کافی ندارم نمیتونم درست راهنمایی کنم. بهرصورت ساختار کلی همونه که گفتم و خودتون مطابق نیاز و شرایط vB اصلاحش کنید. البته اینجا هم break اشتباهاً بیرون شرط بود که باز اصلاحش کردم. دوباره تست کنید.

amir ghasemiyan
یک شنبه 01 تیر 1393, 23:05 عصر
آقا من دیگه نمیدونم! چون درمورد vB اطلاعات کافی ندارم نمیتونم درست راهنمایی کنم. بهرصورت ساختار کلی همونه که گفتم و خودتون مطابق نیاز و شرایط vB اصلاحش کنید. البته اینجا هم break اشتباهاً بیرون شرط بود که باز اصلاحش کردم. دوباره تست کنید.

ممنون از وقتي كه گذاشتي عزيز :گل (به علت كمبود شكلك :دي)

DR.HTML
یک شنبه 01 تیر 1393, 23:16 عصر
خوب بالاخره یه ویبولتنی دیدیم اینجا :D
ببین دوست من کاری که این هک میکنه مشخصه اما شما میتونی بهترشو راحتر بنویسی !

حالا شما به جای ارایه از دیتابیست استفاده کن ! تعداد پستهای هر کاربر توی هر انجمنو بشمر با دستورات Sql هم میتونی پیاده کنی !

در مورد هک کلا خود هک داره از سیستم پیاده بر اساس اسم میکنه
$sqlketnoi2 = $vbulletin->db->query_read(" SELECT *,COUNT(postid) AS postcount
FROM " . TABLE_PREFIX . "thread,post
WHERE thread.forumid = ".$idforum." AND post.threadid = thread.threadid AND post.userid = ".$userid."
");


حالا شما بیا کد Sql رو تغیر بده و اون اول دسته بندی کن ! بعد بفرست به مراحل بعدی .

البته راه اول رو پیشنهاد میکنم !
دوم عذر میخوام یه سالی هست با vb کار نکردم وتوابعشو فراموش کردم و الا خودم برات مینوشتم

amir ghasemiyan
یک شنبه 01 تیر 1393, 23:25 عصر
خوب بالاخره یه ویبولتنی دیدیم اینجا :D
ببین دوست من کاری که این هک میکنه مشخصه اما شما میتونی بهترشو راحتر بنویسی !

حالا شما به جای ارایه از دیتابیست استفاده کن ! تعداد پستهای هر کاربر توی هر انجمنو بشمر با دستورات Sql هم میتونی پیاده کنی !

در مورد هک کلا خود هک داره از سیستم پیاده بر اساس اسم میکنه
$sqlketnoi2 = $vbulletin->db->query_read(" SELECT *,COUNT(postid) AS postcount
FROM " . TABLE_PREFIX . "thread,post
WHERE thread.forumid = ".$idforum." AND post.threadid = thread.threadid AND post.userid = ".$userid."
");


حالا شما بیا کد Sql رو تغیر بده و اون اول دسته بندی کن ! بعد بفرست به مراحل بعدی .

البته راه اول رو پیشنهاد میکنم !
دوم عذر میخوام یه سالی هست با vb کار نکردم وتوابعشو فراموش کردم و الا خودم برات مینوشتم

چشمت روشن :لبخند:

متوجه منظورت نشدم عزيز. خب براي شمارش تعداد پست داره از ديتابيس استفاده ميكنه ديگه :متفکر:

DR.HTML
یک شنبه 01 تیر 1393, 23:56 عصر
نه نه متوجه نشدین

اولی میاد اطلاعاتو میگیره کلی توی ارای های مختلف میزاره برای شکلی که میخواد پیاده شه شما بیا ساده ترش کن به عنوان مثال هر کاربر تعداد پستهاش توی فروم های مختلف بشمره اینم همین کارو میکنه اما میاد توی ارایه های متلف به کار میبره ! حالا چرا اینکارو کرده جابش سادست برای اینکه این هک فقط برای یه استایل خاص درست نشده برای استایل های مختلفی ساخته شده ! برای اینکه توی همه نشون داده بشه میاد به این شکل پردازش میکنه که قالب به هم نریزه !
نمیدونم متوجه منظورم شدید ؟ :لبخند:

به هر حال راه حل اول شما کاربرتونو جستجو یکنین تعداد پست هر فروم میخونین :D بر اساس اون چاپش میکنین :D

یا اگر میخواین خودتون یکی جدید ننویسین و از همین استفاده کنین کد Sql بالارو sort کنید مثلا از این استفاده کنین

ORDER BY

amir ghasemiyan
دوشنبه 02 تیر 1393, 00:01 صبح
نه نه متوجه نشدین

اولی میاد اطلاعاتو میگیره کلی توی ارای های مختلف میزاره برای شکلی که میخواد پیاده شه شما بیا ساده ترش کن به عنوان مثال هر کاربر تعداد پستهاش توی فروم های مختلف بشمره اینم همین کارو میکنه اما میاد توی ارایه های متلف به کار میبره ! حالا چرا اینکارو کرده جابش سادست برای اینکه این هک فقط برای یه استایل خاص درست نشده برای استایل های مختلفی ساخته شده ! برای اینکه توی همه نشون داده بشه میاد به این شکل پردازش میکنه که قالب به هم نریزه !
نمیدونم متوجه منظورم شدید ؟ :لبخند:

به هر حال راه حل اول شما کاربرتونو جستجو یکنین تعداد پست هر فروم میخونین :D بر اساس اون چاپش میکنین :D

یا اگر میخواین خودتون یکی جدید ننویسین و از همین استفاده کنین کد Sql بالارو sort کنید

كد sql رو نميشه سورت كرد. يبار ديگه كد رو با دقت بخون عزيز. مياد به ترتيب شماره تالار ها تعداد پست رو پيدا ميكنه. همونجا هم چاپ ميكنه. ديگه نميشه سورت كرد
روش اولي هم كه گفتي ظاهرش امكان پذيره ولي در عمل نميشه. من امتحان كردم. تنها راه همين كدي هست كه ميبيني. فقط بايد يك آرايه ازش بگيرم و اون آرايه رو سورت كنم
فكر نميكنم راه ديگه اي داشته باشه

DR.HTML
دوشنبه 02 تیر 1393, 00:03 صبح
پست رو ویرایش شد منظورم چیدن نتایج بدست اومدست !

مثل ORDER BY

amir ghasemiyan
دوشنبه 02 تیر 1393, 13:21 عصر
دوستان سوالم تقريبا به جواب رسيد ولي فقط يك مشكل ديگه باقي مونده. اگه كسي بتونه كمكم كنه خيلي ممنون ميشم ازش

در آخر يك حلقه داريم كه آرايه توليد شده رو برامون مينويسه. من اين رو نوشتم:



foreach($newArray as $item)
{
while($foruming = $vbulletin->db->fetch_array($sqlketnoi3))
{
if($foruming['forumid'] == $item['amirid'])
{
$postid = $item['amircount'];
$templater = vB_Template::create('memberinfo_block_post');
$templater->register('postid', $postid);
$ad_location['memberinfo_block_post'] .= $templater->render();

$templater = vB_Template::create('memberinfo_block_forum');
$templater->register('foruming', $foruming);
$ad_location['memberinfo_block_forum'] .= $templater->render();
}
}
}


فقط يك مشكل داره اونم اينه كه حلقه foreach فقط يك بار انجام ميشه. يعني دفعه دوم به بعد كه مياد داخل حلقه شرط while برقرار نيست و در نتيجه چيزي چاپ نميكنه. كسي ميتونه تو حل اين مشكل كمكم كنه؟

amir ghasemiyan
دوشنبه 02 تیر 1393, 13:40 عصر
دوستان جواب سوالمو گرفتم. مشكل از fetch_array بود. وقتي حلقه while تموم ميشد، متغير $sqlketnoi3 هم از بين ميرفت. مراحل توليد $sqlketnoi3 رو داخل حلقه foreach گذاشتم اوكي شد.

از دوستاني كه سعي در راهنماييم داشتن كمال تشكر رو دارم. اجرتون با خدا