我正在尝试整理一个网络组合,但如果可以的话,我无法理解如何实现它!
基本上我所追求的是......
在投资组合页面上,列出客户的详细信息及其名称,描述,标签(html,css,photoshop,jquery等),使用颜色(黑色,白色,蓝色,绿色等)和使用的服务等。
在我的客户表中,我有: “ID标题说明标记服务颜色客户端”
使用这个当前系统,我必须在一行中声明所有颜色和服务,这意味着我无法将内容分开以使用css对其进行样式化(见下文)。
**我希望能够将每个项目使用的颜色显示为16x16颜色块,将服务显示为<ul><li></li></ul>
列表。
这可能吗?
我当前的脚本可以在这里找到: http://davidpottrell.co.uk/paste/portfolio.txt
我在追求的(在图片右侧找到) http://davidpottrell.co.uk/paste/todo.png
答案 0 :(得分:1)
$db = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'username', 'password');
$query = $db->query('SELECT * FROM client');
foreach($query as $row) {
// I assume you're storing colours as a delimited string? (red,green,yellow)
$colours = explode(',', $row['colours']);
if (count($colours)) {
foreach ($colours as $colour) {
echo '<div class="colour_block" id="'.$colour.'"></div>';
}
}
// Same thing with services
$services = explode(',', $row['services']);
if (count($services)) {
echo '<ul>';
foreach ($services as $service) {
echo '<li id="'.$service.'">'.$service.'</div>';
}
echo '</ul>';
}
}
答案 1 :(得分:1)
您目前如何保存服务和颜色?您是否将service1;service2;service3
之类的字符串写入服务列?如果是这样,请使用PHP explode()
函数
$var = "service1;service2;service3";
$result = explode(";", $var);
var_dump($result)
现在,您可以遍历数组并使用某些图像/列表项或其他任何内容替换每个服务。它应该像那样工作,虽然我没有测试它:
while($row = mysql_fetch_array($result)) {
$service_array = explode(",", $row[services]);
echo "<div class='portfolio_block'><h3>Services</h3>";
if(count($services)) {
echo "<ul>";
foreach($service_array as $service) {
echo "<li>" . $service . "</li>";
}
echo "</ul>"
}
echo "</div>";
}
我还建议采用Jamies建议并从mysql_*
功能切换到PDO。对于“样式”,列表项添加了一些类标记:)