假设我们根据用户标准执行查询。在完成此查询之后,我向用户呈现一个数组,其中所有人都符合他的标准。
请注意,我已经在每个人的右侧添加了一个按钮,并且我正在努力弄清楚如何知道哪个人被选中,因为这个数组是动态的。
我为此发布了代码(但是,它已经很长了......)
$sql1 = "SELECT DISTINCT pid FROM open_position, person
WHERE open_position.cid=$s_cid AND (person.prof=open_position.field
OR person.studies LIKE '%open_position.studies%'
OR person.skillz LIKE '%open_position.skillz%'
OR person.languages LIKE '%open_position.pref_languages%')";
if ($result1 = mysqli_query($dbconn, $sql1)){
$data = array();
while ($row = mysqli_fetch_assoc($result1)) {
$data[] = $row["pid"];
}
mysqli_free_result($result1);
?>
<table style="float:center" class="table_center">
<tr>
<th id="top_left">pid</th>
<th>First Name</th>
<th>Last Name</th>
<th>Address</th>
<th>Studies</th>
<th>Skills</th>
<th>Languages</th>
<th>Hired</th>
<th id="top_right">Available From</th>
</tr>
<?php
$size = count($data);
$i = 0;
while ($i < $size) {
$sql2 = "SELECT * FROM person WHERE pid = '$data[$i]'";
if ($result2 = mysqli_query($dbconn, $sql2)) {
while ($row2 = mysqli_fetch_array($result2)) {
?>
<tr>
<td>
<?php
echo $row2['pid'];
?>
</td>
<td>
<?php
echo $row2['first_name'];
?>
</td>
<td>
<?php
echo $row2['last_name'];
?>
</td>
<td>
<?php
echo $row2['address'];
?>
</td>
<td>
<?php
echo $row2['studies'];
?>
</td>
<td>
<?php
echo $row2['skillz'];
?>
</td>
<td>
<?php
echo $row2['languages'];
?>
</td>
<td>
<?php
if ($row2['hired'] == "1"){
echo "YES";
}
else {
echo "NO";
}
?>
</td>
<td>
<?php
echo $row2['availability'];
?>
</td>
<td>
<input type="submit" class="button" name="hire" value="HIRE
<?php
$_SESSION['hired_pid'] = $data[$i];
?>"></input>
</td>
<tr>
<?php
}
}
$i = $i + 1;
}
?></table>
<?php
}
任何想法???
答案 0 :(得分:1)
好的实现这一目标。对于按钮本身,您可以将其添加到重定向到其中包含人员ID的网址。就像这样。
<a href='hire.php?pid=<?=$row2['pid'];?>'><input type='button' value='hire' /></a>
在hire.php中抓住那个人身份,并做任何你想做的事情。这可以通过多种方式完成,具体取决于您的要求。这只是一个样例。