2012-11-30 66 views
0

我在PHP中是这样的noob。我真的坚持这一点,可以做一些帮助!在HTML中使ID唯一

我使用以下代码来控制变量(例如$ project1title和$ project1description)为空/非空时是否出现div class和span ID。

$html = '<div class="infobar"><div class="infobar-close"></div>'; 
$content = false; 

if ($project1title !== '' && $project1description !== '') 
{ 
$html .= '<span id="title"></span><span id="description"></span>'; 
$content = true; 
} 
// etc. 

$html .= '</div>'; 

if ($content) 
{ 
echo $html; 
} 

代码工作正常,当我只有一个项目的名称&说明存在,但是当我开始添加($project2title !== '' && $project2description !== '') if ($project3title !== '' && $project3description !== ''),等它弄乱了,因为我需要为每个项目名称&说明一个唯一的ID。我的问题是,我怎样才能让他们每个人都有一个唯一的ID? (我需要使用数组吗?)一旦我给每个项目一个唯一的ID,在上面的代码中我需要声明每个唯一的ID?

+0

尝试使用'class'或'代替description_number'。 –

+0

为什么你需要它在'id'中,使用'class'有什么问题? –

回答

0

不宜操作是:中

!= 

代替

!== 

0

这个怎么样:

<?php 



$projects = array(
    array(
     'title' => 'myTitle', 
     'description' => 'my description', 
    ), 
    array(
     'title' => 'myTitle2', 
     'description' => 'my description2', 
    ), 
); 


$html = '<div class="infobar"><div class="infobar-close"></div>'; 
$content = false; 


$id = 1; 
foreach($projects as $project){ 
    if(!empty($project['title']) && !empty($project['description'])){ 
     $html .= '<span id="title'. $id .'"></span><span id="description'. $id .'"></span>'; 
     $content = true; 
    } 
    $id++; 
} 

$html .= '</div>'; 

if ($content) { 
    echo $html; 
} 

注意,如果ID是对你很重要,你可以添加项目数组中的ID键。 这有帮助吗?

另外,我想你应该看看动态VAR: 这里是你可以用它来做什么简单的例子:

<?php 





$html = '<div class="infobar"><div class="infobar-close"></div>'; 
$content = false; 




for($i = 1;$i<=10;$i++){ 
    $title = 'project' . $i . 'title'; 
    $description = 'project' . $i . 'description'; 

    if (isset($$title) && isset($$description) && $$title !== '' && $$description !== '') 
    { 
     $html .= '<span id="title'. $i .'"></span><span id="description'. $i .'"></span>'; 
     $content = true; 
    } 

} 





$html .= '</div>'; 

if ($content) 
{ 
    echo $html; 
}