PDA

View Full Version : سوال: لیست باز شونده برای دسته بندی



SadeghPro19
شنبه 30 دی 1391, 23:26 عصر
سلام دوستان
یک لیست بازشونده داریم که میخوام دسته بندی های سایت توش قرار بگیره و میخوام زیرشاخه هر دسته با کمی فاصله بیشتر نسبت به دسته اصلی خود قرار بگیرد مثل این عکس(98700)ولی کد من لیست رو به این صورت (98701) نشون میده!! از دوستان خواهش دارم من رو راهنمایی کنن. فایل sql هم ضمیمه شد.

<?php
function categories($parent = 0){
$parent = is_numeric($parent)?(int)$parent : 0;
$items = mysql_query("SELECT * FROM `categories` WHERE (`parentid`='{$parent}') ORDER BY `id`");
if($items && mysql_num_rows($items) > 0) {
while($item = mysql_fetch_assoc($items)) {
$count = mysql_result(mysql_query("SELECT COUNT(*) AS `count` FROM `categories` WHERE (`parentid`='{$item['id']}')"), 0, 0);
if($count > 0) {
if($item['parentid'] == 0)
echo '<option style="font-weight:bold;" value="'.$item['id'].'">'.$item['title'].'</option>';
else{
echo '<option value="'.$item['id'].'">&nbsp;&nbsp;'.$item['title'].$i.'</option>';
}
categories($item['id']);
}
else {
echo '<option value="'.$item['id'].'">&nbsp;&nbsp;&nbsp;&nbsp;'.$item['title'].'</option>';
}
}
mysql_free_result($items);
}
}
echo '<select>';
categories();
echo '</select>';
?>98702

$ M 3 H R D A D $
شنبه 30 دی 1391, 23:39 عصر
به تعدد حلقه های داخلی یک متغییر واسه نگه داشتن تعداد &nbsp یا همون فاصل داشته باش و نهایتا فاصله و چاپ کن
یا از padding ساتفاده کن در استایل
اینها جنبه نمایشی دارند دوست عزیز
استفاده از -- پیشنهاد میشه
اخبار
------داخلی
------------سیاسی
------------علمی
------خارجی
------------ورزشی

$ M 3 H R D A D $
یک شنبه 01 بهمن 1391, 00:00 صبح
<?php
$con = mysql_connect("localhost","root","") or die("cannot connect to server");

mysql_select_db("sample_db");

$refs = array();
$list = array();

$sql = "SELECT id, parentid, title FROM categories ORDER BY title";
mysql_set_charset("utf8", $con);
$result = mysql_query($sql,$con);
while($data = @mysql_fetch_assoc($result)) {
$thisref = &$refs[ $data['id'] ];

$thisref['parentid'] = $data['parentid'];
$thisref['title'] = $data['title'];

if ($data['parentid'] == 0) {
$list[ $data['id'] ] = &$thisref;
} else {
$refs[ $data['parentid'] ]['children'][ $data['id'] ] = &$thisref;
}
}
function chap($v)
{
for($i=0;$i<$v;$i++)
$str .="&nbsp;&nbsp;";
return $str;
}
function toUL($arr,$sp=0){

foreach ($arr as $v){
$html .= '<option style="height:20px;">' . chap($sp).$v['title'];
if (array_key_exists('children', $v)){
$html .= toUL($v['children'],++$sp);
}
$html .= '</option>'.PHP_EOL;
}

return $html;
}
?>
<center><select dir="rtl" style="font-family:tahoma;font-size:9pt">
<?php
// build the list and output it
echo toUL($list);

?>
</select></center>

SadeghPro19
یک شنبه 01 بهمن 1391, 00:25 صبح
با تشکر از مهرداد عزیز مشکل حل شد.

greenkit
یک شنبه 18 مرداد 1394, 00:32 صبح
با سلام
چطور میتونم لیست کشویی شبیه به این برا مطالبم درست کنم؟
http://farsi-nopcommerce.ir/%D8%A7%D...86%D8%A7%D8%AA (http://farsi-nopcommerce.ir/%D8%A7%D9%85%DA%A9%D8%A7%D9%86%D8%A7%D8%AA)