我有这段代码:
$emp_id=$_POST['Personal_ID'];
echo"$emp_id";
$sql="select distinct * from dir, training_list_of_dir, trainings_of_dir
where dir.personal_id=trainings_of_dir.personal_id and trainings_of_dir.training_tag=training_list_of_dir.training_tag
and trainings_of_dir.Personal_ID='$emp_id'";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
$result= mysqli_query($con,$sql);
echo"<table border='1'>
<tr>
<th>second name</th>
<th>First name</th>
<th>Training tag</th>
<th>Training_name</th>
<th>Date of last training</th>
<th>Date of next training</th>
</tr>";
while ($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>","<a href='some.php'>". $row['Second_name']."</a>", "</td>";
echo "<td>","<a href='some.php'>".$row['First_name']."</a>" ,"</td>";
echo "<td>","<a href='some.php'>". $row['Training_tag']. "</a>" ,"</td>";
echo "<td>","<a href='some.php'>".$row['Training_name']. "</a>" ,"</td>";
echo "<td>","<a href='some.php'>".$row['Date_of_last_training']. "</a>" ,"</td>";
echo "<td>","<a href='some.php'>". $row['Date_of_next_training']. "</a>" ,"</td>";
echo "</tr>";
}
echo "</table>";
我想使用表中的每个链接来做其他事情。例如,如果我点击训练标签,它会显示表格中带有训练标签的行。或者如果我点击Date_of_last_training
,它会告诉我所有在此日期接受培训的人。
所以问题是,当它向我显示包含行的表时,如何在where
子句中使用属性名称?例如,使用“上次培训的日期”,如何在where date_of_last_training = $date_of_last_training
(从点击的属性表中)获取此日期?
答案 0 :(得分:0)
我给出的答案中有sql注入漏洞(安全问题)。这只是一个简单的答案。请不要在互联网上使用。
在你的php中,将锚点更改为: 回声“”。 “”。 $ row ['Training_tag']。 “”。 “”;
这将创建如下链接:http://.../training_tag.php?q=sometag
为其他链接做同样的事情。
in training_tag.php
$q = $_GET['q'];
// replace ?? with correct values
$query = "select * from ?? where ?? = '$q'";
// run your query etc.
答案 1 :(得分:0)
使用此代码更改while循环。在some.php页面中,您的逻辑基于类型
while ($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td><a href='some.php'>". $row['Second_name']."</a></td>";
echo "<td><a href='some.php'>".$row['First_name']."</a></td>";
echo "<td><a href='some.php?type=traintag&tag=".$row['Training_tag']."'>". $row['Training_tag']. "</a></td>";
echo "<td><a href='some.php?type=trainname&tname=".$row['Training_name']."'>".$row['Training_name']. "</a></td>";
echo "<td><a href='some.php?type=lasttrain&date=".$row['Date_of_last_training'].">".$row['Date_of_last_training']. "</a></td>";
echo "<td><a href='some.php?type=nexttrain&date=".$row['Date_of_next_training']."'>". $row['Date_of_next_training']. "</a></td>";
echo "</tr>";
}
答案 2 :(得分:0)
只需使用jquery即可。使用
单击表字段获取表名$('table tr th').click(function(){
$table = $( this ).text();
});
并传递此值并使用ajax获取响应。