我正在回应数据库中涵盖的区域列表。该列表包含从数据库中获取的标题和子标题,
$area_shire = '';
$area_district = '';
$area_name = '';
while($rows = mysql_fetch_array($query)):
if($rows['area_shire'] != $area_shire) {
echo '<h1>'.$rows['area_shire'].'</h1>';
$area_shire = $rows['area_shire'];
}
/* same for district using h2 and name using h3 */
endwhile;
我现在想让每个结果成为超文本网址,所以我添加了
$area_shire_url = str_replace(' ', '_', $area_shire);
$area_district_url = str_replace(' ', '_', $area_district);
$area_name_url = str_replace(' ', '_', $area_name);
并将每个回声更改为
echo '<a href=\"Tree_Surgery_'.$area_shire_url.'.php\"><h2>'.$rows['area_shire'].'<br></h2>';
$area_shire = $rows['area_shire'];}
/* same for district using h2 and name using h3 */
这根本没用?
答案 0 :(得分:1)
'<a href=\"Tr
我认为您不需要转义"
,因为您没有使用"
来定义您的php语句。
答案 1 :(得分:1)
我会将剪辑重写为:
$area_shire = '';
$area_district = '';
$area_name = '';
while($rows = mysql_fetch_assoc($query)) {
if ($rows['area_shire'] != $area_shire) {
$area_shire = $rows['area_shire'];
$area_shire_url = 'Tree_Surgery_'.str_replace(' ', '_', $area_shire).'.php';
echo '<h2><a href="'.$area_shire_url.'">'.$area_shire.'</a></h2><br>';
}
// same for district using h2 and name using h3
}
您的错误似乎是您在单引号字符串中转义"
。使用'
时,php将按原样回显所有包含的字符;不需要逃避。
请注意,我还使用了mysql_fetch_assoc代替mysql_fetch_array并重新排列了HTML标记的顺序,以避免在block-level elements内嵌套inline elements。
我还选择将完整的url存储在一个变量中,而不仅仅是它的一部分,并将它在echo语句中组合到完整的url中。在我看来,这更容易阅读。特别是当你想稍后编辑时。
答案 2 :(得分:0)
您不需要转义双引号,因为文本不在双引号内。您的代码末尾似乎也有}
,除非这不是所有代码,否则这不是必需的。
我没有看到此格式或while
循环,请尝试将其更改为:
while($rows = mysql_fetch_array($query)){
// do stuff
}
更重要的是,您尚未结束a
标记。以</a>