如何使用MySQL查询的输出从数据库中提取有关该输出的额外信息?
例如,如果我的查询生成了一个名称列表,并且有关于数据库中存在的每个名称的额外信息,当我单击输出页面上的名称时,系统将从数据库中提取相关信息并显示它在另一页上。
编辑:以下是代码:
<?php
// you can delete mysql-assoc
while($row = mysql_fetch_array($rs, MYSQL_ASSOC)) {
?>
<tr align="center">
<td width="5%">
<a href="// I don't know what do put here " >
<?php print("{$row["pid"]}");?>
</a>
</td>
<td><?php print("{$row["place"]}");?></td>
<td><?php print("{$row["date"]}");?></td>
<td><?php print("{$row["ppp"]}");?></td>
<td><input type="button" value="Book"></td>
</tr> <?php } ?>
答案 0 :(得分:0)
大;这就是你所缺少的:
<a href="<?php // I don't know what to put here ?>" >
应该是:
<a href="<?php echo 'database.php?action=viewrecord({$row["pid"]})'?>" >
从那里,您应该能够使用用户的pid
提取相关信息。
另外,除非你真的担心间距,否则你应该抛弃相关的HTML;这样做可以为您节省每次要转储变量时重复输入<?php ?>
的任务。
<?php
// you can delete mysql-assoc
while($row = mysql_fetch_array($rs, MYSQL_ASSOC)) {
echo "<tr align='center'>";
echo "<td width='5%'>";
echo "<a href='database.php?action=viewrecord({$row['pid']})'>";
echo "{$row['pid']}";
echo "</a>";
echo "</td>";
echo "<td>{$row['place']}</td>";
echo "<td>{$row['date']}</td>";
echo "<td>{$row['ppp']}</td>";
echo "<td><input type='button' value='Book'></td>";
echo "</tr>";
}
?>
答案 1 :(得分:0)
将第一个输出结果的每一行设置为等于变量,然后在php中使用if语句查找这些变量中的字符串,然后(在某种页面刷新按钮上,因为php是服务器端代码) )显示其他内容。
答案 2 :(得分:0)
感谢您的帮助,但这不起作用:(当我按下记录时,我是php的初学者,网址看起来像
localhost/ass/database.php?action=viewrecord%28{$row[
这不是你问题的直接答案,但是因为你是php的新手,我想通过它来解决问题。你使用的语法使独角兽哭泣。它让我头疼jsut tryign破译它。以另一种方式使用相同的代码:
<?php while($row = mysql_fetch_array($rs, MYSQL_ASSOC)): ?>
<tr align="center">
<td><?php printf('<a href="database.php?action=%s">%s</a>', url_encode('viewrecord('.$row['pid'].')'), $row['pid']); ?></td>
<td><?php echo $row['place']; ?></td>
<td><?php echo $row['date']; ?></td>
<td><?php echo $row['ppp']; ?></td>
<td><input type="button" value="Book"></td>
</tr>
<?php endwhile; ?>
然而这database.php?action=viewrecord()
让我担心。我希望你没有使用eval
来执行URL传递的函数。通常,这看起来更像是:database.php?action=viewrecord&id=2
。您将验证action
参数是否有效,然后调用与该参数关联的函数(可能是也可能不是实际函数名称),并且您将传入id
参数。
Eaxample database.php:
$action = isset($_POST['action']) ? $_POST['action'] : 'index';
switch($action) {
case 'viewrecord':
if(isset($_POST['id']) {
viewrecord((integer) $_POST['id']);
}
break;
// a whole bunch of other cases here for other actions
default:
// the default thing to do if an action is in valid
}
// the rest of your processing