我试图使用php和mysql在一个表中显示2个表的记录。 我有2个表会员和付款
构件
id | name |.....
----------
101 | abc |..
和付款表包含
id | uid | amount
----------
1 | 101 | 1200
我想显示输入no的记录。我的表显示所有行。 我想显示只有1个数字的记录。
这是代码.. 这是page1,其中用户输入一个数字和dat编号的记录,以显示在第二页。
<form method="post" action="reportdet2.php">
<label type="text" name="name" maxlength="50" size="30" class="label">Enter the Membership Number which You waant to edit</label><br />
<input type="text" name='id' placeholder="enter Membership Number" class="input" size="40"/><br />
<span class="field">(* Required field)</span><br /><br />
<input type="hidden" name='uid' placeholder="" class="input" size="40"/><br />
<input type="submit" name="submit" value="SUBMIT" class="button"><br /><br /><br /><br />
</form>
</body>
</html>
第2页
<?php
mysql_connect("localhost","root","");
mysql_select_db("anthonys");
if(isset($_POST['submit']))
{
$id= $_POST['id'];
if( ! ctype_alnum($id) )
die('invalid id');
$uid=$_POST['uid'];
$query="SELECT m.id, m.fathername, m.mothername
FROM member m JOIN payment p ON m.id = p.uid";
if(mysql_num_rows($run)>0){
echo "<script>window.open('reportdet2.php','_self')</script>";
}
else {
echo "<script>alert('Membership No is Invalid!')</script>";
}
}
?>
<th>No</th>
<th>Name</th>
<th>UID</th>
<th>Amount</th>
</tr>
<?php
$id="";
$id=$_REQUEST["id"];
$uid=$_REQUEST["uid"];
mysql_connect("localhost","root","");
mysql_select_db("anthonys");
$query="SELECT m.id, m.fathername, m.mothername
FROM member m JOIN payment p ON m.id = p.uid";
$run= mysql_query($query);
while($row=mysql_fetch_array($run))
{
$id=$row[0];
$name=$row[1];
$uid=$row[2];
$amount=$row[3];
?>
<tr align='center'>
<td><?php echo $id; ?></td>
<td><?php echo $name; ?></td>
<td><?php echo $uid; ?></td>
<td><?php echo $amount; ?></td>
</tr>
<?php } ?>
</table>
<?php
$result = mysql_query("SELECT sum(amount) FROM payment") or die(mysql_error());
while ($rows = mysql_fetch_array($result)) {
?>
<div class="pull-right">
<div class="span">
<div class="alert alert-success"><i class="icon-credit-card icon-large"></i> Total: <?php echo $rows['sum(amount)']; ?></div>
</div>
</div>
<?php }
?>
</body>
</html>
答案 0 :(得分:0)
在SQL查询中添加WHERE m.id = $id
子句,仅显示与$id
匹配的记录。
请注意,您的(示例)脚本容易受到各种令人讨厌的攻击......我不知道您的实际应用程序是否有安全措施来阻止SQL injection等。如果没有,您可能想要add them!