2009-06-06 72 views
0

我正在構建一個菜單,我想以某種方式顯示。但是,它將從數據庫填充,因此無法進行硬編碼。php count()幫助給html元素設置屬性

本質上我想<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> 

基本上,菜單被填充,我想用count()摸出哪一個去的地方來分配特定的ID爲<li>

我在想,我需要把數據庫的結果給一個變量,並從那裏賦值????

任何意義?

希望!

+0

你問如何獲得的,而不是使用1一,二,三, 2,3?你是什​​麼意思使用php count()設置類?如果'項目1'只是一個數字, – 2009-06-06 15:00:12

回答

2

不是很清楚你需要什麼COUNT()的。 首先你必須得到相關的所需順序從數據庫項目(排序編號,標題等)的陣列 的,你可以得到這樣的事情:

//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名單鏈接1' ,‘鏈接2’等

2

好吧,首先看看this。 count()不是你正在尋找的函數。將ID標籤存儲到數據庫並在腳本中獲取它們以便稍後打印是個不錯的主意。

基本上代碼將看起來像:
EDIT(閱讀註釋之後),元件陣列可以被擴展,以保持鍵入希望的任何數據,例如另一個數組:

$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>"; 

而不是$元素,您將使用數據庫中的行。

+0

會工作嗎? – DanC 2009-06-06 15:11:40

1

下面是一個方法,你可以做到這一點,在PROJECT_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>'