php count()帮助给出html元素集属性

时间:2009-06-06 14:54:33

标签: php html count

我正在构建一个我希望以某种方式显示的菜单。但是,它应该从数据库填充,因此不能进行硬编码。

基本上我希望<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(),以确定哪一个去哪里。

我认为我需要将数据库结果放入变量并从那里分配值????

有道理吗??

希望!

3 个答案:

答案 0 :(得分:2)

好的,首先看一下this。 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。

答案 1 :(得分: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>';

结果您将收到包含ids'link1','link2'等

的列表

答案 2 :(得分: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>'