Probleme condition if else

elisnipe -  
 Utilisateur anonyme -
Bonjour,
je fais un système de favoris et selon si l'utilisateur a oui ou non l'image dans ses favoris j'aimerais ajouter les boutons "ajouter en favoris" ou alors "supprimer de ses favoris"
le problème est que le bouton "ajouter en favoris" disparait lorsque je fais la condition, j'ai du mal m'y prendre quelque part mais je ne sais pas ou...


$favoris = $bdd->qry("SELECT * FROM favoris INNER JOIN users ON favoris.user_id = users.id WHERE favoris.id = '$m' ");	


<?php if(empty($favoris)) {
foreach($favoris as $favoris){
?>
<li><a href='/site/modules/favoris.php?f=<?php echo intval($pics->id);?>'>Ajouter en favoris</a></li>

<?php }}else{ ?>

<li><a href='/site/modules/favorisdelete.php?f=<?php echo intval($pics->id);?>'>Supprimer de vos favoris</a></li>
<?php } ?>



bonne journée

3 réponses

ThEBiShOp Messages postés 9307 Statut Contributeur 1 566
 
Salut, avant tout il faut savoir ce que tu as dans ta variable $favoris

pour ça fait ceci :

printr_r($favoris);

et dis moi ce que tu obtiens
0
elisnipe
 
Salut ThEBiShop,

J'obtiens un array() vide ...

au fait me suis trompé sur le code d'avant

voici le bon code :

 $userid = $_SESSION['user']['id'];

$favoris = $DB->query("SELECT * FROM favoris WHERE id = '$m' AND user_id = '$userid' ");

<?php if(empty($favoris)) {

foreach($favoris as $favoris){

?>

<li><a href='/site/modules/favoris.php?f=<?php echo intval($pics->id);?>'>Ajouter en favoris</a></li>

<?php }}else{ ?>

<li><a href='/site/modules/favorisdelete.php?f=<?php echo intval($pics->id);?>'>Supprimer de vos favoris</a></li>

<?php } ?>


Merci
0
Utilisateur anonyme
 
Bonjour

Je ne comprends pas très bien la logique : si $favoris est vide, tu boucles sur $favoris ???
Et de plus, tu donnes le même nom à ta valeur et à ton tableau :
$favoris as $favoris
???

Surtout que $favoris, résultat d'un query, devrait être une ressource et pas un array, vide ou non.

Très très bizarre
0