我是PHP/Mysql的新手,正在尝试通过一些在线教程进行学习。有一件事我似乎想不通。
我可以使用常用的SELECT
命令在mysql数据库中搜索结果,并将结果显示在一个表中,每行代表一个匹配的数据库条目和所有相关列:
+--------+--------+--------+--------+
|id |part |price |model |
+--------+--------+--------+--------+
|1 | a | 10 | X1 |
+--------+--------+--------+--------+
|2 | b | 20 | X2 |
+--------+--------+--------+--------+
|3 | c | 30 | X3 |
+--------+--------+--------+--------+
and so on...
但是,我怎么能把事情分开呢,这样我的结果一开始只包括id
和part
,而price
和model
只显示在用户点击搜索结果后的文本区域内?这样,他们不需要查看大量数据,但可以查看他们感兴趣的搜索匹配的一些相关附加信息?每次点击搜索都可以更新文本区域,只显示该结果的附加数据。我需要包含一些javascript/jquery来绑定点击事件吗?还是可以在PHP中完成所有操作?
谢谢。
适用于我的更新解决方案
正如下面所建议的,我做了以下操作:1(在
class='.rowselect'
为我的搜索结果中的<TR>
绑定单击事件2(在生成我的搜索结果表
使用此代码:
$(document).ready(function(){
$('.rowselect').click(function(){
var sel_id = $(this).attr('id');
$.post("reported.php", //URL of the page on server
{ // Data Sending With Request To Server
rowid: sel_id
},
function(data,status){ // Required Callback Function
$('.output').val(data); // textarea has class output
});
});
});
以及reported.php
的PHP
// $conn to database first, then ...
// $name= mysqli_real_escape_string($conn, $_POST['rowid']);//-query the database table
$sql="SELECT price, model FROM db_name entry_id=".$name.";";
//-run the query against the mysql query function
$result=mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($result);
echo "Price: ".$row['price'] ."'n'nModel: ". $row['model'];
您最初只能用SELECT语句调用前两列,并将其显示在表中,表中的结果可以显示为链接,当用户说单击ID时,您可以向服务器端(PHP(的方法发出POST请求,该方法将为单击的ID提供额外的数据,然后您可以将其填充在文本区域中。
示例:
//Send a POST request with id or part
$id = (int) $_POST['id'];
$query = "SELECT price,model from your_table where id= ?";
//more PDO stuff