我已经进行了大约3天的研究,即使我进行了所有搜索,仍然不知道该怎么做。
这是我已经完成的事情:
我在index.php
中有一个表,该表从MySQL数据库中获取数据。当用户单击表中的任何给定行时,我希望打开eventDetail.php
页。
这是我还没有想到的:
当我需要eventDetail.php
运行一个MySQL查询时,该查询将获取在上一个index.php
页面上单击的表行的数据并将其存储在数组中,这样我就可以在eventDetail.php
页面。
这是index.php
页面上打开我的eventDetail.php
页面的代码:
index.php
<script>
$(document).ready(function onClickRow() {
$('.clickDetail').click(function(){
var str=$(this).attr("value"); /* Find out which button is clicked, stores
its value in variable 'str'*/
$(window.location = 'eventDetail.php').load('eventDetail.php?str='); /* To
collect data from database */
})
})
</script>
这是我到目前为止在eventDetail.php
中所拥有的,但是甚至不确定我是否已经正确开始:
eventDetail.php
<?php
$db_host = '127.0.0.1'; // Server Name
$db_user = 'root'; // Username
$db_pass = 'password'; // Password
$db_name = 'mydb'; // Database Name
$conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if (!$conn) {
die ('Failed to connect to MySQL: ' . mysqli_connect_error());
}
$str=$_GET['str']; // collect the row id
$queryRow = ("SELECT id, eventName, description FROM mytable WHERE
id=:id");
我需要将前一页上单击的行中的id, eventName, description
返回到数组,以便我可以实际在此页上使用该数据。
答案 0 :(得分:0)
最后通过@BobRodes解决了这个问题。
这是您在index.php
中需要的脚本:
<script>
$(document).ready(function onClickRow() {
$('.clickDetail').click(function(){
var str=$(this).attr('value'); // Find out which button is clicked, stores its value in variable 'str'
$(window.location = 'eventDetail.php?str='+str).load('eventDetail.php?str='+'/'+str); // To collect data from database
})
})
</script>
这是您在eventDetail.php
中需要的php代码:
<?php
$db_host = '127.0.0.1'; // Server Name
$db_user = 'root'; // Username
$db_pass = 'password'; // Password
$db_name = 'mydb'; // Database Name
$conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if (!$conn) {
die ('Failed to connect to MySQL: ' . mysqli_connect_error());
}
$str = $_GET['str']; // collect the row id
$queryRow = ("SELECT id, eventName, description FROM mytable WHERE id='$str'"); // SQL Statement
$result = mysqli_query($conn, $queryRow); // Execute SQL Query
$items = array(); // Create an array and store in a variable called $items
// Statement below fetches the row that was clicked and stores the data in the array $items
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
$items[] = $row;
}
}
// Statement below separates each item in the array and converts it to a string and stores in variable named $item
foreach ($items as $item) {
echo $item['id'];
echo $item['eventName'];
echo $item['description'];
}
mysqli_close($conn);
?>
这将打开eventDetail.php
并返回在URL中单击的数据库中的表行。然后,您可以编辑页面其余部分中的代码,以根据需要在页面上返回该行中的数据。