Привет, имея 1 проблему с моим сайтом, я понятия не имею, что делать для этой части. Мне нужно проверить, был ли продукт куплен. Таким образом, если пользователь, вошедший в систему, купил этот элемент, он отображает что-то другое по сравнению с тем, если он не приобрел этот элемент.
Используя этот пример данных
products
productID, title, runTime, imageLarge, classification
1, noah, 128 minutes, noahLarge.jpg, M
2, left behind, 105 minutes, leftBehindLarge.jpg, MA 15+
3, green lantern, 133 minutes, greenLantern.jpg, M
invoice
invoiceID, memberID, purchaseDate
1,11,1/10/2014
2,13,15/10/2014productsinvoice
invoiceID, productID
1, 2
1, 3
2, 1
2, 2
members
memberID, username, pass, first name, last name
11, bob, fwofefef, bob, marley
13, prius, f334ff43f, eski, martey
Проблема заключается в моем запросе SQL и этом фрагменте кода здесь
$sql = "SELECT productID, title, price, imageSmall, imageLarge FROM products WHERE releaseDATE < NOW() ORDER BY releaseDate DESC LIMIT 0,4";
$result = mysqli_query($con, $sql) or die(mysqli_error($con)); //run the query
while ($row = mysqli_fetch_array($result))
{
if(!isset($_SESSION['user']))
{
echo '
<h4>$'. $row['price'] .'</h4>
<p><input type="button" value="Add to Cart" onclick="addtocart(' .$row['productID'] . ')" class="btn btn-primary" value="Add to cart"/></p>';
}
else {
echo '
<a href="../pages/movieWatch.php?productID='.$row['productID'].'" class="btn btn-success"><span class="glyphicon glyphicon-cloud"> Stream</a> <a href="#" class="btn btn-info"><span class="glyphicon glyphicon-hdd"> Download</a>';
}
}
Таким образом, в основном, если пользователь bob приобрел productID 2, 3, я хочу, чтобы он отображал опцию для этих 2 продуктов, но остальные все еще говорят «добавить в корзину» и игнорировать $ _SESSION [‘user’], просто проверяющее, что условие if работает и это делает.
Во-первых, вы также должны выбрать memberID из таблицы счетов.
Итак, ваш запрос должен быть:
SELECT productID, title, price, imageSmall, imageLarge, memberID FROM products JOIN productsinvoice ON productsinvoice.productID=products.productID JOIN invoice ON productsinvoice.invoiceID=invoice.invoiceID WHERE releaseDATE < NOW() ORDER BY releaseDate DESC LIMIT 0,4;
во-вторых, предполагая, что вы также устанавливаете memberID в своей переменной сеанса, добавьте еще одно условие в свой оператор if:
if(!isset($_SESSION['user'])){
if ($row['memberID'] != $_SESSION['user']['memberID']) {
echo '
<h4>$'. $row['price'] .'</h4>
<p><input type="button" value="Add to Cart" onclick="addtocart(' .$row['productID'] . ')" class="btn btn-primary" value="Add to cart"/></p>';
}
} else {
echo '
<a href="../pages/movieWatch.php?productID='.$row['productID'].'" class="btn btn-success"><span class="glyphicon glyphicon-cloud"> Stream</a> <a href="#" class="btn btn-info"><span class="glyphicon glyphicon-hdd"> Download</a>';
}
Других решений пока нет …