Probleme condition if else

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

  1. Contributeur
    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
    1. 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
      1. 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