我正在尝试使用另一个表中的外键从我的products表输出产品,因为产品会保存到用户帐户中。
关系表:
useraccount > savedproduct < products
由于许多用户可以拥有许多产品,并且许多产品可以拥有许多用户,因此我已经为中间组成了一个表,其中仅包含savedProductId,productId和user_id。
如果有意义的话,我想从仅附加了特定用户ID的savedproduct表中输出产品数据。
它实际上有效,但显示所有产品(重复两次),而不仅仅是保存产品中用户ID下的产品,我的代码在这里:
注意:请不要说任何关于注射等的事情,我会在实现完所有目标后再实施,谢谢。
$user_check=$_SESSION['login_user'];
$sqlCommand = "(SELECT * FROM userAccount WHERE email='$user_check')";
$query = mysqli_query($con,$sqlCommand) or die("Error: ".mysqli_error($con));
$column = mysqli_fetch_array($query);
if($column['admin'] != NULL){
echo "<section class='userName'><h3>".$column['firstName']." ".$column['surname']."</h3></section>";
echo "<section class='address'>".$column['addressLine1']."<br />".$column['addressLine2']."<br />".$column['county']."<br />".$column['country']."<br />".$column['postCode']."</section>";
echo "<section class='email'><h3>".$column['email']."</h3></section>";
echo "<section class='passwordUpdate'><a href='update.php?user_id=".$column['user_id']."'>Change Password</a></section>";
echo "<section class='logout'><a href='extras/logoutProcess.php'>Logout</a></section>";
echo "<hr />";
</section>";
我尝试输出与用户ID等关联的已保存产品的部分:
}else{
$userIdent=$column['user_id'];
$sqlCommand = "SELECT savedProduct.user_id, product.productName, product.productId, product.productImg, product.price FROM savedProduct, product WHERE savedProduct.user_id=$userIdent LIMIT 2";
$query = mysqli_query($con,$sqlCommand) or die("Error: ".mysqli_error($con));
echo "<section class='userName'><h3>".$column['firstName']." ".$column['surname']."</h3></section>";
echo "<section class='address'>".$column['addressLine1']."<br />".$column['addressLine2']."<br />".$column['county']."<br />".$column['country']."<br />".$column['postCode']."</section>";
echo "<section class='email'><h3>".$column['email']."</h3></section>";
echo "<section class='passwordUpdate'><a href='update.php?user_id=".$column['user_id']."'>Change Password</a></section>";
echo "<section class='logout'><a href='extras/logoutProcess.php'>Logout</a></section>";
echo "<hr />";
echo '<section style="overflow:auto;height:400px;"><table cellpadding="0" cellspacing="0" border="0">
<tr>
<th></th>
<th>Product</th>
<th>Price</th>
</tr>';
while($savedP = mysqli_fetch_array($query)){
echo "<tr>
<td>
<a target='_self' href='fullProductInfo.php?productId=".$savedP['productId']."'>
<img src='http://www.littlepenguindesigns.co.uk/pages/CMX/images/products/".$savedP['productImg']."' alt='".$savedP['productName']."' width='180' height='150' border='0' />
</a>
</td>
<td><a target='_self' href='fullProductInfo.php?productId=".$savedP['productId']."'>".$savedP['productName']."</a></td>
<td>£".$savedP['price']."</td>
</tr>";
}
echo "</table></section>";
}
赞赏每一点帮助。
答案 0 :(得分:0)
如果我理解你的问题是正确的,那么你只需要在这3张桌子上right join
。