这是我的数据
id cost cat foreign colours
--------------------------------------------------------
385_white 99 swarovski 12 black;blue
386_white 99 swarovski 12 black;blue;green
387_white 99 swarovski 12 yellow;green
389_white 99 swarovski 12 white;silver
385_white 99 swarovski 12 silver
这是我的查询
$checkSQL=mysql_query("SELECT * FROM `products`");
while($r = mysql_fetch_array($checkSQL)) {
echo '
<ul class="ColourList">
<li class="$row">$row</li>
</ul>
';
}
伪代码 - 这应该将列表拆分为唯一的li
foreach ($r["colours"] as $key){
$key = explode(";", $r["colours"]);
<li class="$key"></li>
}
我想为表格行中的每种颜色创建一个列表li
项,所以基本上将冒号分成不同的行 - 认为它是explode
?
答案 0 :(得分:5)
这应该这样做:)
$checkSQL=mysql_query("SELECT * FROM `products`");
while($r = mysql_fetch_assoc($checkSQL)) {
echo '<ul class="ColourList">';
$cols = explode( ';', $r['colours'] );
foreach ( $cols as $col ){
echo '<li class="' . $col . '">' . $col . '</li>';
}
echo '</ul>';
}
答案 1 :(得分:0)
$this->dbo = new mysqli(
'localhost',
'username',
'password',
'name_of_database'
);
$r = $this->dbo->query( "SELECT * FROM `products`" ) or die( $this->dbo->error );
while ( $r_items = $r->fetch_assoc() )
{
echo '<ul class="ColourList">';
foreach( explode(";" $r_items['colours']) as $r_color) {
echo '<li class="' . $r_color . '">' . $r_color . '</li>';
}
echo '</ul>';
}
$this->dbo->close();
我提供了此代码而不是原始代码,因为其他人已经提供了一个很好的示例,说明如何修复代码以使其工作。这是一个mysqli的例子,出于安全原因你应该考虑使用mysqli而不是常规的mysql ...我不知道确切的原因,但我被告知最好使用mysqli。
如果我的代码中有任何错误,请原谅我,这尚未经过测试但应该有效。