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

Ext JS / Sencha Discussion :

champ image dans une form


Sujet :

Ext JS / Sencha

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 256
    Points : 138
    Points
    138
    Par défaut champ image dans une form
    Bonjour,

    J'ai construit une Ext.FormPanel à partir de laquelle je lis (et éventuellement modifie) les enregistrements d'une table MySQL par la méthode form.load. Tout se passe bien sauf pour un des champs qui est un BLOB contenant des images.

    En me référant à un exemple de Sencha, j'ai mis, pour recevoir cette image, un composant de xtype:box et j'ai mis le paramètre isFormField:true. Mais je n'arrive pas à afficher l'image contenue dans le BLOB. Pire même, cela me bloque ma page HTML au chargement en m'affichant une petite boite de dialogue animée "loading".
    Bref, je ne sais pas faire ...
    Si l'un ou l'une d'entre vous a un exemple de code pour me débloquer, ou un conseil, ou une idée, et qu'il (qu'elle) veuille bien m'en faire part, qu'il (qu'elle) en soit remercié(e) par avance.

    Kim

  2. #2
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    salut
    ben si tu nous en dis pas plus sur ce que tu fais ....

    A+JYT

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 256
    Points : 138
    Points
    138
    Par défaut Complément
    Bonjour,
    Puisqu'apparemment je n'ai pas été assez clair dans la définition de mon problème, voici une description plus détaillée :
    J'ai une formPanel dont la liste des items est (raccourcie) ci-dessous :
    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
     
                   items: [{
    			id:'recordid',
                            fieldLabel: 'recordID',
                            name: 'recordid',
                            disabled:true,
                            width:40
                        }, {
                            fieldLabel: 'First Name',
                            name: 'first',
                            width:190
                        }, 
    ..............
    {
                     xtype:'box'
    				 ,name:'img'
                    ,anchor:''
                    ,isFormField:false
                    ,fieldLabel:'Image'
                    ,autoEl:{
                        tag:'div', children:[{
                             tag:'img'
                            ,qtip:'You can also have a tooltip on the image'
                            ,src:'getimage.php'
                        },{
                             tag:'div'
                            ,style:'margin:0 0 4px 0'
                            ,html:'Image Caption'
                        }]
                    }
                },
    .............................
    Sur ma FormPanel, j'ai également un bouton Load qui appelle la fonction form.load
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    fs.form.load ({
                url:'getadherent.php', // PHP
                method:'GET', 
                waitMsg:'Loading'            
            });
    	}
    Le fichier getadherent.php retourne un certain nombre de données dans un tableau
    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
     
    // requête SQL pour récupérer une image dans une base de données
    ......................
    // traitement de la requête
    ............................
    // le tableau $col contient les valeurs des colonnes, résultat de la requête SQL
    	$data[] = array(
    			'recordid' => $col[0],
    			'first' => $col[3],
    			'last' => $col[4],
    			'company' => $col[5],
    			'richtext' => $col[6],
    			'email' => $col[7],
    			'img'=>$col[2], // champ BLOB contenant l'image !!!
    			'classement' => $col[8],
    			'dob' => $col[9],
    			'fee' => $col[10]);
     
    	$tmpData = json_encode($data);
    	$tmpData = substr($tmpData,1,strlen($tmpData)-2); // strip the [ and ]
    	$tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); 
     
    	$result = $tmpData;
    et les champs de ma FormPanel se trouvent ainsi correctement renseignés avec les valeurs des champs de la requête. Le suel que je n'arrive pas à afficher correctement dans la forme est $col[2] qui contient une image.
    Je voudrais donc savoir quel type de champ et comment le paramétrer dans ma Form pour qu'il affiche cette variable, à moins qui'il ne faille agir aussi sur le fichier php.

    J'espère que j'ai été plus clair cette fois-ci.
    D'avance merci pour toute piste, exemple, renseignement.

    Kim

    Pour info, l'exemple Sencha dont je suis parti (mais qui ne traite pas le problème de l'image) est à
    http://www.sencha.com/forum/showthre...dfusion-or-PHP

  4. #4
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Citation Envoyé par kimlee Voir le message
    Bonjour,
    ....
    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
     
    // requête SQL pour récupérer une image dans une base de données
    ......................
    // traitement de la requête
    ............................
    // le tableau $col contient les valeurs des colonnes, résultat de la requête SQL
    	$data[] = array(
    			'recordid' => $col[0],
    			'first' => $col[3],
    			'last' => $col[4],
    			'company' => $col[5],
    			'richtext' => $col[6],
    			'email' => $col[7],
    			'img'=>$col[2], // champ BLOB contenant l'image !!!
    			'classement' => $col[8],
    			'dob' => $col[9],
    			'fee' => $col[10]);
     
    	$tmpData = json_encode($data);
    	$tmpData = substr($tmpData,1,strlen($tmpData)-2); // strip the [ and ]
    	$tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); 
     
    	$result = $tmpData;
    ...
    Salut
    c'est le script getimage.php qui semble être le plus intéressant dans cette affaire

    il ne te faut pas mettre ton blob dans ton retour
    mais c'est le script getimage.php qui doit aller le chercher

    un note tout de même pour quoi ces str_replace et substr ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
      $response = array(
        'data' => array(
          'recordid' => $col[0],
          'first' => $col[3],
          'last' => $col[4],
          'company' => $col[5],
          'richtext' => $col[6],
          'email' => $col[7],
          'classement' => $col[8],
          'dob' => $col[9],
          'fee' => $col[10]),
        'success' => true
      );
      $result = json_encode($response);
    A+JYT

  5. #5
    Membre habitué
    Inscrit en
    Septembre 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 256
    Points : 138
    Points
    138
    Par défaut Champ image avec ExtJS
    Merci sekaijin pour ta réponse.
    Néanmoins, le contenu de getimage.php est exactement ce que je voudrais connaitre. Pour l'instant, je suis capable d'afficher une image statique avec le code ci-dessous, par exemple, mais je ne sais pas afficher dans ce composant ma variable $col[2] qui est un champ provenant d'une requête SQL.
    J'ai essayé diverses variantes de code, mais sans succès.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?
    header("Content-type: image/gif");
     
        $image = "comete1.jpg";
     
    	readfile($image);
    ?>
    Le débat reste ouvert

    Kim

  6. #6
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    tu ajoute un paramètre idimage à ton script
    et en fonction de l'idimage tu retourne l'image apropriée

    un simple http://...../getimage.php?idimage=....
    te donne l'image que tu veux.

    A+JYT

Discussions similaires

  1. Placer une Image dans une Form
    Par MarcVB6 dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 28/11/2007, 04h05
  2. Afficher une image dans une form
    Par sys1 dans le forum Débuter
    Réponses: 5
    Dernier message: 03/11/2007, 09h42
  3. [WD9] Impression champ image dans une fenêtre
    Par cactus666 dans le forum WinDev
    Réponses: 6
    Dernier message: 30/10/2007, 15h03
  4. quelle est le type d'un champ image dans une base de MySQL
    Par aimad_maroc dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 11/04/2007, 10h15
  5. image dans une form
    Par myspirou dans le forum C++Builder
    Réponses: 4
    Dernier message: 22/04/2006, 20h07

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