我正在尝试为我的页面制作一个选项卡,其中每个选项卡显示一个mysql表行的不同字段。我想在选项卡中切换内容。 每行都有不同的ID,我想做一个标签式设计。应该通过表的id选择数据。 如果我在echo部分只使用一个简单的文本,该选项卡工作正常,但我无法从我的数据库中获取数据。 我尝试了这段代码,但它不起作用。
<?php
if (isset($data[0]) && is_numeric($data[0]) ) {
$content = mysql_fetch_assoc ( mysql_query( "select id,tab_content_one,tab_content_two,tab_content_three,tab_content_four,tab_content_five from db_name where id = $data[0];") );
} else {
$content = mysql_fetch_assoc ( mysql_query( "select id,tab_content_one,tab_content_two,tab_content_three,tab_content_four,tab_content_five from db_name order by id asc limit 1;") );
}
switch($_GET['tabNum']) {
case 1: echo strip_tags($content['tab_content_one']); break;
case 2: echo strip_tags($content['tab_content_two']); break;
case 3: echo strip_tags($content['tab_content_three']); break;
case 4: echo strip_tags($content['tab_content_four']); break;
case 5: echo strip_tags($content['tab_content_five']); break;
}
?>
我不知道我的代码有什么问题。你有什么想法吗?
答案 0 :(得分:1)
你必须将mysql_fetch_assoc包含在while循环中!对于您的代码,它将是这样的:
if (isset($data[0]) && is_numeric($data[0]) ) {
$sql = "select id,tab_content_one,tab_content_two,tab_content_three,tab_content_four,tab_content_five from db_name where id = $data[0];";
} else {
$sql = "select id,tab_content_one,tab_content_two,tab_content_three,tab_content_four,tab_content_five from db_name order by id asc limit 1;";
}
$result = mysql_query($sql);
while($content = mysql_fetch_assoc($result)){
switch($_GET['tabNum']) {
case 1: echo strip_tags($content['tab_content_one']); break;
case 2: echo strip_tags($content['tab_content_two']); break;
case 3: echo strip_tags($content['tab_content_three']); break;
case 4: echo strip_tags($content['tab_content_four']); break;
case 5: echo strip_tags($content['tab_content_five']); break;
}
}
无论如何,它建议你作为mysql_fetch_assoc,它将从PHP 5.5.0开始不再使用,而是使用mysql_PDO扩展名。