Partage
  • Partager sur Facebook
  • Partager sur Twitter

No image

alors sa en met une

    30 août 2006 à 0:40:47

    Bonjour, alors voila j’ais un module news, il y à un champ image, et j’aimerais que lorsque la personne ne rentre pas d’image, donc dès que le champ image est vide, sa en rajoute une automatiquement.

    le code news:
    <?php
      include ('config_db.php');

      mysql_connect ($home, $login, $password);
      mysql_select_db ($base);

    if (isset($_GET['modifier_news'])) // Si on demande de modifier une news
    {
        // On récupère les infos de la correspondante
        $retour = mysql_query('SELECT * FROM news WHERE id=' . $_GET['modifier_news']);
        $donnees = mysql_fetch_array($retour);
       
        // On place le titre et le contenu dans des variables simples
        $titre = $donnees['titre'];
        $contenu = $donnees['contenu'];
        $description = $donnees['description'];
        $image = $donnees['image'];
        $id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification
    }
    else // C'est qu'on rédige une nouvelle news
    {
        // Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news
        $titre = '';
        $contenu = '';
        $description = '';
        $image = '';
        $id_news = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
    }
    ?>

    <form name="news" action="liste_news.php" method="post">
    <p>Titre : <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" /></p>

    <p>Image : <input type="text" size="30" name="image" value="<?php echo $image; ?>" /></p>

    <p>
        Description :<br />
        <textarea name="description" cols="30" rows="5">
        <?php echo $description; ?>
        </textarea><br />
    <br>
        <textarea name="contenu" id="contenu" wrap="virtual" cols="50" rows="10">
        <?php echo $contenu; ?>
        </textarea><br />
       
        <input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
        <input type="submit" value="Envoyer" />
    </p>
    </form>
    • Partager sur Facebook
    • Partager sur Twitter
      30 août 2006 à 0:47:53

      Trois choix :
      • Si c'est une creation, tu mets en valeur $image = "adresse image defaut" dans cette portion :
        else
        {
            $titre = '';
            $contenu = '';
            $description = '';
            $image = '';
        .....
      • A l'affichage, tu fais une structure
        if(!empty($donnees['image'] { echo $donnees['image']; }
        else{ echo 'image par defaut' ; }
      • (je suis pas sur) Dans ta BDD, dans le champ image, tu mets en valeur par defaut l'adresse de ton image
      • Partager sur Facebook
      • Partager sur Twitter
        30 août 2006 à 0:53:20

        if(!empty($donnees['image'] { echo $donnees['image']; }
        else{ echo 'image par defaut' ; }


        Je le rajoute ou sur ma page d'affichage ? car j'ais essayer mais sa ma mit une erreur ^^

        Ma page d'affiche:
        <?php
          include ('config_db.php');

          mysql_connect ($home, $login, $password);
          mysql_select_db ($base);

        // On récupère les 5 dernières news
        $retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 5');
        while ($donnees = mysql_fetch_array($retour))
        {
        ?>
        <table
         style="margin-left: auto; margin-right: auto; text-align: left; width: 400px;"
         border="1" cellpadding="2" cellspacing="2">
          <tbody>
            <tr>
              <td style="text-align: center; width: 150px;"><?php echo $donnees['titre']; ?></td>
              <td style="width: 250px;">Postez le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></td>
            </tr>
          </tbody>
        </table>
        <table
         style="margin-left: auto; margin-right: auto; text-align: left; width: 400px;"
         border="1" cellpadding="2" cellspacing="2">
          <tbody>
            <tr>
              <td style="width: 150px; text-align: center;"><img src="<?php echo $donnees['image']; ?>"></td>
              <td style="width: 250px;">
            <?php
            $description = nl2br(stripslashes($donnees['description']));
            echo $description;
            ?>
              </td>
            </tr>
          </tbody>
        </table>
        <div style="text-align: center;"></div>
        <table
         style="margin-left: auto; margin-right: auto; text-align: left; width: 400px;"
         border="1" cellpadding="2" cellspacing="2">
          <tbody>
            <tr>
              <td style="background-color: rgb(255, 255, 255);">
            <?php
            $contenu = nl2br(stripslashes($donnees['contenu']));
            echo $contenu;
            ?>
            </td>
            </tr>
          </tbody>
        </table>
        <br>
        <?php
        } // Fin de la boucle des news
        ?>
        • Partager sur Facebook
        • Partager sur Twitter
          30 août 2006 à 1:01:43

          if(!empty($donnees['image']) { echo $donnees['image']; }
          else{ echo 'image par defaut' ; }

          J'avais mal fermé le if, et tu le mets la ou tu souhaites afficher l'image ^^
          • Partager sur Facebook
          • Partager sur Twitter
            30 août 2006 à 1:04:42

            j'ais mis cela par exemple mais sa ne fonctionne pas:

            <?php
              include ('config_db.php');

              mysql_connect ($home, $login, $password);
              mysql_select_db ($base);

            // On récupère les 5 dernières news
            $retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 5');
            while ($donnees = mysql_fetch_array($retour))
            {
            ?>
            <table
             style="margin-left: auto; margin-right: auto; text-align: left; width: 400px;"
             border="1" cellpadding="2" cellspacing="2">
              <tbody>
                <tr>
                  <td style="text-align: center; width: 150px;"><?php echo $donnees['titre']; ?></td>
                  <td style="width: 250px;">Postez le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></td>
                </tr>
              </tbody>
            </table>
            <table
             style="margin-left: auto; margin-right: auto; text-align: left; width: 400px;"
             border="1" cellpadding="2" cellspacing="2">
              <tbody>
                <tr>
                  <td style="width: 150px; text-align: center;"><?php
            if(!empty($donnees['image']) { echo $donnees['image']; }
            else{ echo 'images/no-image.jpg' ; }
            ?><img src="<?php echo $donnees['image']; ?>"></td>
                  <td style="width: 250px;">
                <?php
                $description = nl2br(stripslashes($donnees['description']));
                echo $description;
                ?>
                  </td>
                </tr>
              </tbody>
            </table>
            <div style="text-align: center;"></div>
            <table
             style="margin-left: auto; margin-right: auto; text-align: left; width: 400px;"
             border="1" cellpadding="2" cellspacing="2">
              <tbody>
                <tr>
                  <td style="background-color: rgb(255, 255, 255);">
                <?php
                $contenu = nl2br(stripslashes($donnees['contenu']));
                echo $contenu;
                ?>
                </td>
                </tr>
              </tbody>
            </table>
            <br>
            <?php
            } // Fin de la boucle des news
            ?>
            • Partager sur Facebook
            • Partager sur Twitter
              30 août 2006 à 1:15:18

              Essaie en faisant
              if(!empty(trim($donnees['image']))) { echo $donnees['image']; }
              else{ echo 'image par defaut' ; }


              ( j'ai oublié de fermer tout dans le if, jsuis crevé ^^ )
              Sinon, la premiere solution peut eviter les erreurs aussi, parce que la, si quelqu'un rentre un seul caractere, ca bug.
              • Partager sur Facebook
              • Partager sur Twitter
                30 août 2006 à 1:23:10

                ok ba pas l'air de fonctionner...
                je fait la première méthode alors, merci quand même ;)
                • Partager sur Facebook
                • Partager sur Twitter
                  30 août 2006 à 1:45:38

                  Ah, question, dans $donnees['image'], c'est quoi ? l'adresse de l'image, ou la balise en entiere ?
                  Si c'est juste l'adresse, c'est ca le code :

                  if(!empty(trim($donnees['image']))) { echo '<img src="' . $donnees['image'] . '" alt="image"/> '; }
                  else{ echo '<img src="images/no-image.jpg" alt="image" />' ; }
                  • Partager sur Facebook
                  • Partager sur Twitter
                    30 août 2006 à 10:37:37

                    hmm quand je la met sa me met ceci:

                    Citation

                    Parse error: parse error, unexpected T_STRING, expecting T_VARIABLE or '$' in /homepages/41/d160655629/htdocs/ado/arma/news/index.php on line 59



                    qui correspond a ceci:
                    if(!empty(trim($donnees['image']))) { echo '<img src="' . $donnees['image'] . '" alt="image"/> '; }
                    else{ echo '<img src="images/no-image.jpg" alt="image" />' ; }
                    • Partager sur Facebook
                    • Partager sur Twitter
                      30 août 2006 à 11:43:58

                      Bah, essaie la solution dans le formulaire alors, c'est plus sur, et plus rapide ^^
                      • Partager sur Facebook
                      • Partager sur Twitter
                        30 août 2006 à 12:20:12

                        ouai c'ets ce que je fait :D
                        • Partager sur Facebook
                        • Partager sur Twitter

                        No image

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown