我如何使用表中的属性作为变量?

时间:2013-11-28 12:14:06

标签: php html mysql database href

我有这段代码:

$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(从点击的属性表中)获取此日期?

3 个答案:

答案 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获取响应。