我如何获取颜色和服务的$ row数据

时间:2013-01-26 11:25:26

标签: php mysql

我正在尝试整理一个网络组合,但如果可以的话,我无法理解如何实现它!

基本上我所追求的是......

在投资组合页面上,列出客户的详细信息及其名称,描述,标签(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

2 个答案:

答案 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。对于“样式”,列表项添加了一些类标记:)