Я пытаюсь вывести продукт из таблицы продуктов, используя внешний ключ, который находится в другой таблице, потому что продукты затем сохраняются в учетной записи пользователя.Получение данных из таблицы с использованием внешних ключей PHP MySQL
реляционные таблицы:
useraccount > savedproduct < products
Поскольку многие пользователи могут иметь много продуктов, и многие продукты могут иметь много пользователей, я составил таблицу для Inbetween, который содержит только savedProductId, ProductID и user_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>";
часть, где я пытаюсь вывести сохраненные продукты, связанные с идентификатором пользователя и т.д.:
}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>";
}
Каждый бит помощи приветствуется.
Посмотрите на это, и это похоже на правильный путь, спасибо за то, что помогли мне по правильному пути :) –
вот и все :) пожалуйста, проголосуйте за мой ответ +1 :) – Stone
Я пока не могу проголосовать , но приняли ответ :) –