php - 带有 mysql 和 pgp 的 jquery 选项卡

标签 php jquery mysql tabs

我正在尝试制作包含学生信息的选项卡,这些信息存储在数据库中。我希望第一个选项卡显示所有学生的信息。第二个标签显示成绩为A的学生信息,第三个标签显示成绩为B的学生信息。

我编写了这段代码,但只有第一个选项卡显示了学生的信息,而第二个和第三个选项卡没有显示任何内容。

代码有什么问题?

<html>
<head>

<title>students table</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<script>
$(function() {
$( "#tabs" ).tabs();
});
</script>
</head>
<body>
<div id="tabs">
<ul>
<li><a href="#tabs-1">1</a></li>
<li><a href="#tabs-2">2</a></li>
<li><a href="#tabs-3">3</a></li>
</ul>


<?php
$connection = mysql_connect("","","");
if (!$connection)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("", $connection);


$result = mysql_query("SELECT * FROM studentTable");
while($row = mysql_fetch_array($result))
{

?>  

<div id="tabs-1">

<?php 
echo "Student id: '" . $row["id"];
echo "Student name: '" . $row["name"];
echo "Student grade: '" . $row["grade"];
echo '</table>';
}
?>

</div>


<?Php 

$result2 = mysql_query("SELECT * FROM studentTable WHERE grade = 'A'");   
while($row = mysql_fetch_array($result2))
{
?>

<div id="tabs-2">

<?php 
echo "Student id: '" . $row["id"];
echo "Student name: '" . $row["name"];
echo "Student grade: '" . $row["grade"];
echo '</table>';
}
?>

</div>

<?php  
$result3 = mysql_query("SELECT * FROM studentTable WHERE grade = 'B'");   
while($row = mysql_fetch_array($result3))  
{
?>     


<div id="tabs-3">

<?php 
echo "Student id: '" . $row["id"];
echo "Student name: '" . $row["name"];
echo "Student grade: '" . $row["grade"];
echo '</table>';
}
?>     

</div>

</div>
</body>
</html>

最佳答案

我认为你的问题是因为你有你的 tabs-# <div>在您的 while() 中打开标签循环。

$result = mysql_query("SELECT * FROM studentTable");
while($row = mysql_fetch_array($result))
{  
?>  
<div id="tabs-1">  //this here needs to be above/outside while($row = mysql_fetch_array($result)){  

这正在创建 n数量<div id="tabs-1"> , <div id="tabs-2"> , <div id="tabs-3"> , 没有匹配的结束标签 </div> ,所以现在 <div id="tabs-2"> & <div id="tabs-3">嵌套在 <div id="tabs-1"> 中jQuery 不知道要绑定(bind)哪一个 tabs到。

尝试将它们移动到 while() 之前循环-

<div id="tabs-1">
<?php 
$result = mysql_query("SELECT * FROM studentTable");
while($row = mysql_fetch_array($result))
{
 ...
}
?>
</div>
<div id="tabs-2">
<?php 
$result2 = mysql_query("SELECT * FROM studentTable WHERE grade = 'A'");   
while($row = mysql_fetch_array($result2))
{
...
}
?>   
</div>
<div id="tabs-3">
<?php  
$result3 = mysql_query("SELECT * FROM studentTable WHERE grade = 'B'");   
while($row = mysql_fetch_array($result3))  
{
...
}
?>     
</div>

此外,您还有 echo '</table>';在每个选项卡 div 的末尾。如果您实际上没有 table ,可能想要删除它们。

关于php - 带有 mysql 和 pgp 的 jquery 选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17531259/

相关文章:

php - 如何使 "test"MySQL 服务器完整?

php - 我可以打开 mySql 连接,但不能打开特定数据库

PHP MySQL - 内部连接 ​​: userid = part of value

javascript - jQuery 来回隐藏

android - 在 TableView 中显示结果集

mysql - 创建与现有表具有相同字段的 mysql 表

php - Javascript 等待 PHP 函数返回

javascript - 如何使用淡入淡出更改背景图像

java - 无法将 json 字符串绑定(bind)到 Spring MVC Controller 中的对象?

php - 最佳关键字搜索技术