回显制表符中的不同字段


echo different fields in tabs

我试图为我的页面制作一个选项卡,其中每个选项卡显示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扩展代替。