0

特定の方法で表示したいメニューを作成しています。ただし、データベースから入力されるため、ハードコードすることはできません。

基本的に、タグが作成されたときにタグが設定された場所に表示されるようにしたいので、<li>PHP count() を使用してクラスを設定し、すでに CSS が設定されていることを望んでいました。

基本的に、メニューには 12 個を超える<li>タグはありません。生成時に CSS ID を割り当てられるようにしたいと考えています。ページ上に絶対に配置する必要があるため、汎用クラスを持つことはできません。そのため、count() を使用して<li>タグの数を返し、何らかの方法で一意の CSS ID を割り当てることを望んでいました。

<ul id="work_div"> 
    <li id="one"><a href="detail/one">Project 1</a></li>
    <li id="two"><a href="detail/two">Project 2</a></li>
    <li id="three"><a href="detail/three">Project 3</a></li>
    <li id="four"><a href="detail/four">Project 4</a></li>
</ul> 

<li>基本的に、メニューが読み込まれると、特定の IDをに割り当てて、count()どの ID がどこに行くのかを判断したいと思います。

データベースの結果を変数に入れ、そこから値を割り当てる必要があると考えています????

なんか意味ある??

うまくいけば!

4

3 に答える 3

2

count() が何のために必要なのかはあまり明確ではありません。まず、データベースから関連するアイテムの配列を目的の順序 (ID、タイトルなどで並べ替え) で取得する必要があります。次のようなものを取得できます。

//result from database
$array = array(array('page_id'=>'1','sef_title'=>'one','title'=>'Project 1'),array('page_id'=>'2','sef_title'=>'two','title'=>'Project 2'),array('page_id'=>'3','sef_title'=>'three','title'=>'Project 3'));

//create counter starting from 1
$i = 1;
$arrayLinks = array();
foreach($array as $link){
$arrayLinks[] = "<li id=\"link{$i}\"><a href=\"detail/{$link['sef_title']}\">{$link['title']}</a></li>";
$i++;
}
//print result in ul
echo '<ul id="work_div">' . implode("", $arrayLinks) . '</ul>';

その結果、ID「link1」、「link2」などのリストを受け取ります

于 2009-06-06T15:36:03.797 に答える
2

わかりました、まずこれを見てください。count() は、探している関数ではありません。後で印刷するために、ID ラベルをデータベースに保存し、それらのスクリプトで取得することをお勧めします。

基本的にコードは次のようになります:
編集(コメントを読んだ後)、要素配列を拡張して、別の配列など、必要なデータ型を保持できます。

$elements = array ( "one" => array ( "Project 1", "detail/one"), "two" => array( "Project 2", "detail/two"));
echo "<ul id='work_div'>";
foreach( $elements as $id => $key)
{
   list( $name, $href) = $key;
   echo "<li id=$id><a href='$href'>$name</a></li>";
}
echo "</ul>";

$element の代わりに、データベースの行を使用します。

于 2009-06-06T15:06:39.640 に答える
1

以下はそれを行うための1つの方法です。ここで、project_idはIDの番号です。

echo '<ul id="work_div">'
$sql = 'SELECT project_id, project_name, project_link FROM projects';
$dh = mysql_query( $sql );

while ( $result = mysql_fetch_assoc( $dh ) ) {
    echo '<li id="'.$result['project_id'].'"><a href="'.$result['project_link'].'">'.$result['project_id'].'</a></li>';
}
echo '</ul>'

プロジェクトIDを使用したくない場合は、次の方法で使用できます。

$numbers = array("zero", "one", "two", "three", "four", "five", "six", "seven");
echo '<ul id="work_div">'
$sql = 'SELECT project_name, project_link FROM projects';
$dh = mysql_query( $sql );
$counter = 1;
while ( $result = mysql_fetch_assoc( $dh ) ) {
    echo '<li id="'.$numbers[$counter].'"><a href="'.$result['project_link'].'">'.$result['project_id'].'</a></li>';
    $counter++;
}
echo '</ul>'
于 2009-06-06T17:47:18.570 に答える