Monday, 15 February 2010

php - Displaying a list with numerous values -



php - Displaying a list with numerous values -

i hoping may able help problem.

i using next query

$query = $db->prepare("select p.pattern_for, c_main.name cat_name, c_main.slug cat_slug, c_sub.name sub_cat_name, c_sub.slug sub_cat_slug products p inner bring together categories c_main on c_main.name = p.c_main inner bring together categories c_sub on c_sub.name = p.c_sub p.stock_level > 0 , p.pattern_for != '' grouping p.pattern_for order p.pattern_for asc"); $query->execute();

the above works fine want give person creating products ability able add together numerous values column 'pattern_for'.

so have next values -

product - 'men, women, children product b - 'women' product c - 'toddlers, girls' product d - 'men, boys' product e - 'girls, women, babies'

what need (in query) split values using comma , display them in list grouping them shows 1 time , ordering alphabetically.

so illustration output of above be...

babies boys children girls men toddlers women

is possible?

for may come across problem in future here query ended using...

$query_pattern_for = $db->prepare("select p.pattern_for, c_main.name cat_name, c_main.slug cat_slug, c_sub.name sub_cat_name, c_sub.slug sub_cat_slug products p inner bring together categories c_main on c_main.name = p.c_main inner bring together categories c_sub on c_sub.name = p.c_sub c_main.type = 0 , c_sub.type = 0 , p.stock_level = 0 , p.reorder = 0 , p.pattern_for != '' , p.status = 1 or c_main.type = 0 , c_sub.type = 0 , p.stock_level > 0 , p.pattern_for != '' , p.status = 1 grouping pattern_for order p.pattern_for asc"); $query_pattern_for->execute(); $count_pattern_for = $query_pattern_for->rowcount();

and php...

while ($row = $query_pattern_for->fetch(pdo::fetch_assoc)) { $get_pattern_for .= $row['pattern_for'] . ','; } $get_pattern_for = str_replace(', ', ',', $get_pattern_for); $get_pattern_for = explode(",", $get_pattern_for); $get_pattern_for = array_unique($get_pattern_for); $get_pattern_for = array_filter($get_pattern_for); sort($get_pattern_for); foreach($get_pattern_for $pattern_for) { $pattern_for_slug = str_replace(' ','',$pattern_for); $pattern_for_slug = str_replace('/','-',$pattern_for_slug); $pattern_for_slug = preg_replace('/[^\w-]/', '', $pattern_for_slug); $pattern_for_slug = strtolower($pattern_for_slug); echo '<a href="'.$url.'&patterns-for='.$pattern_for_slug.'"><li>'; if ($get_patterns_for == $pattern_for_slug) { echo '<div class="tick-box-selected">&#10004;</div>'.$pattern_for.''; } else { echo '<div class="tick-box"></div>'.$pattern_for.''; } echo '</li></a>'; }

i hope helps out someday.

thank dan

php mysql

No comments:

Post a Comment