我是php的新手,正在研究某些东西,我无法弄清楚它是如何工作的。我有这样的查询,它将显示数据库中的特定行:
<?php
include ('test/tru/conek.php');
$result=mysql_query("SELECT * FROM post_jobs WHERE job_category='Administration'");
while($row=mysql_fetch_array($result)){
?>
<tr >
<th style="font-weight:normal"><input type="text" name="name" value="<?php $name=$row['company_name']; echo $name ; ?>" readonly="readonly" /></th>
<th style="font-weight:normal"><a href="#" onclick="ss()" name="res"><?php echo $row['job_responsibilities']; ?></a></th>
<th style="font-weight:normal" id="industry"><?php echo $row['industry']; ?></th>
<th style="font-weight:normal" id="date"><?php echo $row['date']; ?></th>
<th style="font-weight:normal" id="loc"><?php echo $row['location']; ?></th>
</tr>
</table>
<?php } ?>
我的问题是,如何通过点击链接显示或确定特定行的信息然后显示?
答案 0 :(得分:0)
在将它们打印到屏幕上之后,您似乎想要区分这些行。最常见的方法是使用每行的ID号。你添加一个'id'行,它自动递增并且主要进入你的mysql表。然后,您可以将其添加到html中的链接:
<th style="font-weight:normal">
<a href="#" onclick="ss(<?php echo htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8'); ?>)" name="res">
<?php echo htmlspecialchars($row['job_responsibilities'], ENT_QUOTES, 'UTF-8'); ?>
</a>
</th>
然后,您将在ss()函数中使用Javascript中的id号进行操作。如果您实际上根本不想使用Javascript,那么您应该将您的链接标记写为:
<th style="font-weight:normal">
<a href="somewhere.php?id=<?php echo htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8'); ?>" name="res">
<?php echo htmlspecialchars($row['job_responsibilities'], ENT_QUOTES, 'UTF-8'); ?>
</a>
</th>
我认为这就是你要找的东西。
编辑:我多么愚蠢,我也忘了提到你不应该先打开用户提供的数据而不先删除它。这是为了防止Cross Site Scripting (XSS)这是网页中常见但非常严重的漏洞。我已经相应地编辑了我的代码。您应该使用正确的数据编码替换“UTF-8”。这也是您应该明确说明编码的原因:http://shiflett.org/blog/2007/may/character-encoding-and-xss