IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

fonction ne marche pas


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut fonction ne marche pas
    bonjour,
    je creer un site d annonce mais la fonction de redimensionnment ne fonctionne pas voici son appel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    include("fctaffichimage.php");
    ...
    while($image = mysql_fetch_assoc($illustration))	
    {
    $content.='<img alt="" fctaffichimage('.$host.'/uneAnnonce/images/'.$image['up_filename'].',120,100) />';
    }
    et la fonction fctaffichimage.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    <?php
     
    // ---------------------------------------------------------------------------------------
    // fonction de redimensionnement A L'AFFICHAGE
    // ---------------------------------------------------------------------------------------
    // La FONCTION : fctaffichimage($img_Src, $W_max, $H_max)
    // Les parametres :
    // - $img_Src : URL (chemin + NOM) de l image Source
    // - $W_max : LARGEUR maxi finale ----> ou 0 : largeur libre
    // - $H_max : HAUTEUR maxi finale ----> ou 0 : hauteur libre
    // ---------------------------------------------------------------------------------------
    // Affiche : src="..." width="..." height="..." pour la balise img
    // Utilisation :
    // <img alt=""  fctaffichimage('repimg/monimage.jpg', 120, 100)  />
    // ---------------------------------------------------------------------------------------
    function fctaffichimage($img_Src, $W_max, $H_max) {
    echo tesyt2;
     
     if (file_exists($img_Src)) {
     echo oui;
       // ----------------------------------------------------
       // Lit les dimensions de l'image source
       $img_size = GetImageSize($img_Src);  
       $W_Src = $img_size[0]; // largeur source
       $H_Src = $img_size[1]; // hauteur source
       // ----------------------------------------------------
       if(!$W_max) { $W_max = 0; }
       if(!$H_max) { $H_max = 0; }
       // ----------------------------------------------------
       // Teste les dimensions tenant dans la zone
       $W_test = round($W_Src * ($H_max / $H_Src));
       $H_test = round($H_Src * ($W_max / $W_Src));
       // ----------------------------------------------------
       // si l image est plus petite que la zone
       if($W_Src<$W_max && $H_Src<$H_max) {
          $W = $W_Src;
          $H = $H_Src; 
       // sinon si $W_max et $H_max non definis
       } elseif($W_max==0 && $H_max==0) { 
          $W = $W_Src;
          $H = $H_Src; 
       // sinon si $W_max libre
       } elseif($W_max==0) {
          $W = $W_test;
          $H = $H_max;
       // sinon si $H_max libre
       } elseif($H_max==0) {
          $W = $W_max;
          $H = $H_test;
       // sinon les dimensions qui tiennent dans la zone
       } elseif($H_test > $H_max) {
          $W = $W_test; 
          $H = $H_max;
       } else {
          $W = $W_max;
          $H = $H_test;
       }
       // ----------------------------------------------------
     } else { // si le fichier image n existe pas
          $W = 0;
          $H = 0;
    	  echo non;
     }
     // ----------------------------------------------------
     // AFFICHE les dimensions optimales
     echo ' src="'.$img_Src.'" width="'.$W.'" height="'.$H.'"';
    }
    // Affiche :  src="..." width="..." height="..." pour la balise img
    // ---------------------------------------------------------------------------------------
    ?>
    merci de votre aide.
    la source de la page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <tr><td><img alt="" fctaffichimage(http://localhost/idealeparution/uneAnnonce/images/0_090911103733.jpg,120,100) />
    l adresse est la bonne, la fonction est bien place j ai fait un echo et je pense que le script ne rentre pas dans la fonction.

  2. #2
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par défaut
    Tu as mal placé tes quotes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while($image = mysql_fetch_assoc($illustration))	
    {
    $content.='<img alt="" '.fctaffichimage($host.'/uneAnnonce/images/'.$image['up_filename'],120,100).' />';
    }
    de plus dans le code de la fonction il y a plusieurs echo mal écrit, il manque les quotes :


  3. #3
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    bonjour,
    merci de ton aide j ai mit ce que tu ma dit et voici l erreur:

    src="http://localhost/idealeparution/uneAnnonce/images/0_090911103733.jpg" width="0" height="0" src="http://localhost/idealeparution/uneAnnonce/images/1_090911103733.jpg" width="0" height="0" src="http://localhost/idealeparution/uneAnnonce/images/2_090911103733.jpg" width="0" height="0"
    de plus il ne passe par la boucle file_exists donc il ne trouve pas le fichier alors que c est le bon nom mais i prend plusieurs nom est ca le pb?
    MERCI

  4. #4
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par défaut
    Je ne comprend pas ou est l'erreur ?

  5. #5
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    Deja c est un echo qui renvoie le resultat j ai donc remplacer la derniere ligne fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $content.= ' src="'.$img_Src.'" width="'.$W.'" height="'.$H.'"';
    mais la source m'affiche :
    <img alt="" /><img alt="" /><img alt="" />
    donc rien n est renvoyer alors que le code est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while($image = mysql_fetch_assoc($illustration))	
    								{
    								$content.='<img alt="" '.fctaffichimage($host.'/uneAnnonce/images/'.$image['up_filename'] , 120, 100 ).' />';
    }
    merci de votre aide.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il faudrait que la fonction fasse un retour de valeur au lieu d'un echo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // AFFICHE les dimensions optimales
     return ' src="'.$img_Src.'" width="'.$W.'" height="'.$H.'"';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    bonjour, merci de la fonction ca marche nikel mais la hauteur et la largeur est a 0.Donc n affiche pas l image.Le chemin du fichier est correct mais quand il test son existence il ne rentre pas dans la boucle.Je ne sais pas pk?J ai mit en plus un chemin fixe et pas de boucle while.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img alt=""  src="http://localhost/idealeparution/uneAnnonce/images/0_090911103733.jpg" width="0" height="0" />
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    <?php
     
    // ---------------------------------------------------------------------------------------
    // fonction de redimensionnement A L'AFFICHAGE
    // ---------------------------------------------------------------------------------------
    // La FONCTION : fctaffichimage($img_Src, $W_max, $H_max)
    // Les parametres :
    // - $img_Src : URL (chemin + NOM) de l image Source
    // - $W_max : LARGEUR maxi finale ----> ou 0 : largeur libre
    // - $H_max : HAUTEUR maxi finale ----> ou 0 : hauteur libre
    // ---------------------------------------------------------------------------------------
    // Affiche : src="..." width="..." height="..." pour la balise img
    // Utilisation :
    // <img alt=""  fctaffichimage('repimg/monimage.jpg', 120, 100)  />
    // ---------------------------------------------------------------------------------------
    function fctaffichimage($img_Src, $W_max, $H_max) {
    echo $img_Src;
     
     if (file_exists($img_Src)) {
     echo oui;
       // ----------------------------------------------------
       // Lit les dimensions de l'image source
       $img_size = GetImageSize($img_Src);  
       $W_Src = $img_size[0]; // largeur source
       $H_Src = $img_size[1]; // hauteur source
       // ----------------------------------------------------
       if(!$W_max) { $W_max = 0; }
       if(!$H_max) { $H_max = 0; }
       // ----------------------------------------------------
       // Teste les dimensions tenant dans la zone
       $W_test = round($W_Src * ($H_max / $H_Src));
       $H_test = round($H_Src * ($W_max / $W_Src));
       // ----------------------------------------------------
       // si l image est plus petite que la zone
       if($W_Src<$W_max && $H_Src<$H_max) {
          $W = $W_Src;
          $H = $H_Src; 
       // sinon si $W_max et $H_max non definis
       } elseif($W_max==0 && $H_max==0) { 
          $W = $W_Src;
          $H = $H_Src; 
       // sinon si $W_max libre
       } elseif($W_max==0) {
          $W = $W_test;
          $H = $H_max;
       // sinon si $H_max libre
       } elseif($H_max==0) {
          $W = $W_max;
          $H = $H_test;
       // sinon les dimensions qui tiennent dans la zone
       } elseif($H_test > $H_max) {
          $W = $W_test; 
          $H = $H_max;
       } else {
          $W = $W_max;
          $H = $H_test;
       }
       // ----------------------------------------------------
     } else { // si le fichier image n existe pas
          $W = 0;
          $H = 0;
     }
     // ----------------------------------------------------
     // AFFICHE les dimensions optimales
    // AFFICHE les dimensions optimales
     return ' src="'.$img_Src.'" width="'.$W.'" height="'.$H.'"';
     
    }
    // Affiche :  src="..." width="..." height="..." pour la balise img
    // ---------------------------------------------------------------------------------------
    ?>
    MERCI DE VOTRE AIDE.

Discussions similaires

  1. pourquoi cette fonction ne marche pas?
    Par kazannova dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/04/2008, 01h59
  2. La sous-fonction ne marche pas dans le programme principal
    Par lematlabeur dans le forum MATLAB
    Réponses: 11
    Dernier message: 15/11/2007, 21h04
  3. fonction redimensionnement marche pas sous firefox
    Par calitom dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 11/09/2007, 14h39
  4. [EasyPHP] fonction mail marche pas en local
    Par sitalgerie dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 02/04/2007, 20h01
  5. pourquoi ma fonction ne marche pas?
    Par isma92 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 30/01/2007, 14h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo