1

私はphpとMysqlの初心者です。このように「cat_filter」というテーブルを作成しました

cat_filter_id   cat_filter_value    cat_filter_name               categories_id

5   Colore Metallo      Bianco                              13
2   Tipologia Schienale Rete                                11
3   Finiture            Cromata                             11
4   Tipologia Poltrona  Direzionale;Operativa;Visitatori    11

私はこのコードを実行しました:

$connessione=mysql_connect($db_host,$db_user,$db_password);
mysql_select_db($db_database,$connessione);     
$data = mysql_query("SELECT * FROM cat_filter WHERE categories_id=$current_category_id") or die(mysql_error());  echo '<p>';
while($info = mysql_fetch_array( $data )) 
{ 
echo ''.$info['cat_filter_value'] . ': <a href="index.php?main_page=advanced_search_result&keyword='.$info['cat_filter_name'] . '&search_in_description=1&categories_id='.$current_category_id . '">'.$info['cat_filter_name'] . '</a> ~ ';
}
echo '</p>';
mysql_close();

非常にうまく機能しますが、フィールドにこの「;」で区切られた値がもっとある場合は、それを希望します。出力はそれぞれに分けられます(私の英語で申し訳ありません)..それは明らかですか?よろしくお願いします!よろしくお願いします。フランチェスコ

4

1 に答える 1

1

echo '' . $info['cat_filter_value']ループを実行するように行を変更します。

foreach (explode(';', $info['cat_filter_value']) as $value) {
    echo $value . ": ...";
}
于 2013-05-14T17:31:20.110 に答える