我试图为我的页面制作一个选项卡,其中每个选项卡显示mysql表行的不同字段。我想切换标签中的内容。每一行都有一个不同的id,我想做一个选项卡设计。数据应该根据表的id来选择。选项卡的工作很好,如果我使用只是一个简单的文本在回声部分,但我不能从我的数据库中获取数据。我试过这段代码,但它不起作用。
<?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;
}
?>
我不知道我的代码有什么问题。你知道吗?
必须将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扩展代替。