2

これは私のデータです

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か?

4

2 に答える 2

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>';
}
于 2012-10-01T15:59:13.473 に答える
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の例です。セキュリティ上の理由から、通常のmysqlの代わりにmysqliを使用することを検討してください...正確な理由はわかりませんが、代わりにmysqliを使用するのが最善であると言われています。

コードにエラーがある場合はご容赦ください。これはテストされていませんが、機能するはずです。

于 2012-10-01T15:58:47.053 に答える