par
PRIME » 05 mai 2022, 22:00
bonjour,
je suis débutant en php et je voudrais développer un site ou il est possible de mettre en ligne des 'produits',
j'ai une db constitué de deux tables (users, product) avec dans la table users un nombre de produits qui ne doit pas dépasser 10 (product_number) pour chaque utilisateur, et j'ai dans ma table product plusieurs produits qui ont chacun un id unique (product_id), un nom unique (product_name) et ils sont associé a un nom d'utilisateur (seller_name).
mon problème est le suivant :
je voudrais afficher tous les 'produits' d'un utilisateur qui sont dans la table produit grâce a une fonction.
j'ai déjà essayer cette fonction mais sans succès car elle n'affiche que le premier produit :
<?php
function prod($user) {
include "db_conn.php";
$sql2 = "SELECT * FROM users WHERE user_name = '$user'";
$result2 = mysqli_query($conn, $sql2);
$row2 = mysqli_fetch_assoc($result2);
$nb = 0;
echo '<p>You have '.$row2['product_number'].' product</p><br>';
if ($row2['product_number'] <= 10 and $row2['product_number'] > 0) {
while ($nb !== $row2['product_number']) {
$sql = "SELECT * FROM product WHERE seller_name = '$user'";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($result);
$oldname = $row['product_name'];
if ($nb == 0) {
if ($row['seller_name'] == $user){
$clr = hex2rgba($row['color'], 0.3);
return "<div class='product' style='--clr:{$clr};--price:{$row['price']};--img:url({$row['image']});--content:{$row['content']}'><p>{$row['description']}</p></div>";
} else {
return 'error';
}
$nb = $nb + 1;
} else {
if ($row['product_name'] != $oldname) {
if ($row['seller_name'] == $user){
$clr = hex2rgba($row['color'], 0.3);
return "<div class='product' style='--clr:{$clr};--price:{$row['price']};--img:url({$row['image']});--content:{$row['content']}'><p>{$row['description']}</p></div>";
} else {
return 'error';
}
$nb = $nb + 1;
} else {
$sql1 = "SELECT * FROM users WHERE user_name = '$user' AND product_name != $oldname";
$result1 = mysqli_query($conn, $sql1);
$row1 = mysqli_fetch_assoc($result1);
if ($row1['seller_name'] == $user){
$clr = hex2rgba($row1['color'], 0.3);
return "<div class='product' style='--clr:{$clr};--price:{$row1['price']};--img:url({$row1['image']});--content:{$row1['content']}'><p>{$row1['description']}</p></div>";
} else {
return 'error';
}
$nb = $nb + 1;
}
}
}
} else {
return '<p>Add a product!</p><br>';
}
}
?>
Merci d'avance
bonjour,
je suis débutant en php et je voudrais développer un site ou il est possible de mettre en ligne des 'produits',
j'ai une db constitué de deux tables (users, product) avec dans la table users un nombre de produits qui ne doit pas dépasser 10 (product_number) pour chaque utilisateur, et j'ai dans ma table product plusieurs produits qui ont chacun un id unique (product_id), un nom unique (product_name) et ils sont associé a un nom d'utilisateur (seller_name).
mon problème est le suivant :
je voudrais afficher tous les 'produits' d'un utilisateur qui sont dans la table produit grâce a une fonction.
j'ai déjà essayer cette fonction mais sans succès car elle n'affiche que le premier produit :
[PHP]<?php
function prod($user) {
include "db_conn.php";
$sql2 = "SELECT * FROM users WHERE user_name = '$user'";
$result2 = mysqli_query($conn, $sql2);
$row2 = mysqli_fetch_assoc($result2);
$nb = 0;
echo '<p>You have '.$row2['product_number'].' product</p><br>';
if ($row2['product_number'] <= 10 and $row2['product_number'] > 0) {
while ($nb !== $row2['product_number']) {
$sql = "SELECT * FROM product WHERE seller_name = '$user'";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($result);
$oldname = $row['product_name'];
if ($nb == 0) {
if ($row['seller_name'] == $user){
$clr = hex2rgba($row['color'], 0.3);
return "<div class='product' style='--clr:{$clr};--price:{$row['price']};--img:url({$row['image']});--content:{$row['content']}'><p>{$row['description']}</p></div>";
} else {
return 'error';
}
$nb = $nb + 1;
} else {
if ($row['product_name'] != $oldname) {
if ($row['seller_name'] == $user){
$clr = hex2rgba($row['color'], 0.3);
return "<div class='product' style='--clr:{$clr};--price:{$row['price']};--img:url({$row['image']});--content:{$row['content']}'><p>{$row['description']}</p></div>";
} else {
return 'error';
}
$nb = $nb + 1;
} else {
$sql1 = "SELECT * FROM users WHERE user_name = '$user' AND product_name != $oldname";
$result1 = mysqli_query($conn, $sql1);
$row1 = mysqli_fetch_assoc($result1);
if ($row1['seller_name'] == $user){
$clr = hex2rgba($row1['color'], 0.3);
return "<div class='product' style='--clr:{$clr};--price:{$row1['price']};--img:url({$row1['image']});--content:{$row1['content']}'><p>{$row1['description']}</p></div>";
} else {
return 'error';
}
$nb = $nb + 1;
}
}
}
} else {
return '<p>Add a product!</p><br>';
}
}
?>[/PHP]
Merci d'avance