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 :

[Conception] Affichage


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Par défaut [Conception] Affichage
    Bonjour

    je veux afficher des images, avec un bouton radio, juste en dessous de l'image.

    Je veux 6 images par lignes et qu'ensuite on passe à une autre ligne, comment puis je faire ?

    et afficher mon bouton supprimer centré sur une autre ligne quand toutes les images sont affichées

    Merci d'avance

  2. #2
    Membre expérimenté
    Inscrit en
    Septembre 2005
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 185
    Par défaut
    après avoir coché le bouton radio et posté ou koi?
    je ne comprend pas

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    314
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 314
    Par défaut
    tu récupères tes images comment ?
    En lisant un dossier?
    ou tu connais déjà le nombre exact et tu les mets en dur dans le code?

  4. #4
    Membre éclairé Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Par défaut
    Je récupére mes images dans une base de données ou j'ai stockée le chemin ainsi que le contenu du alt donc je peut si il y a besoin récupérer le nombre d'images...
    Je ne mets pas les liens en dur dans le code puisque je les récupére dans la base de données

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $query = "SELECT id,path,alt FROM ". TABLE_VIGNETTE;
    $result = tep_db_query($query);
     
    echo "<table>";
     
    while($data = mysql_fetch_assoc($result)){
    	echo "<tr><td>";
    	echo "<img src = '".HTTP_SERVER.DIR_WS_CATALOG.DIR_WS_IMAGES.DIR_WS_VIGNETTE.$data['path']."' alt = '".$data['alt']."'>";
    	echo "</td><td>";
    	echo tep_draw_input_field('fichier',$data['id'],'','','radio');//crée le bouton radio
    	echo "</td></tr>";
    }
    echo "</table>";
    Je vais essayer de réexpliquer pour ceux qui n'ont pas compris...

    Je veux afficher des images associées chacune a un bouton radio, me permettant de la sélectionner et ainsi de la supprimer, je veux que le bouton radio apparaissent juste en dessous de l'image et qu'il y ai n images par lignes...

  5. #5
    Membre éclairé Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Par défaut
    Citation Envoyé par ciesco
    Ne quittez pas je vous passe le service demande, il vous sera facture 80 centimes la minute...
    C'est vrai que ca fait vachement avancer le problème ça... je ne pense pas demander un bout de code toute les 5 minutes et quand je le demande c'est que je m'en sors vraiment pas...

  6. #6
    Membre expérimenté
    Inscrit en
    Septembre 2005
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 185
    Par défaut
    ok c'est compris .ton probleme serait donc un problème de mise en forme .si tel est le cas utilise un tableau

  7. #7
    Membre éclairé Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Par défaut
    oui c'est just un problème de mise en forme, j'ai essayé avec un tableau mais je ne vois pas comment faire pour obtenir l'affichage que je vous ai décrit..

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    une solution un peu "bidouille":


    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
     
     
    echo "<form action='POST' name='form_suppr_img'>";
     
    $query = mysql_query($ta_requete);
     
    //numéro de l'image dans la ligne
    $num_img = 1;
     
    echo "<TABLE>";
    echo "     <TR>";
     
    while($ligne = mysql_fetch_object($query)
    //On lit le résultat de la requête ligne à ligne
    //a chaque passage dans la boucle, on va afficher le couple image + bouton d'option
    {
             echo "<TD>";
             echo "  <TABLE>";
             //affichage de l'image
             echo "      <TR><TD><img src='".$ligne['nom_du_champ_image']."'></img></TD></TR>";
             //affichage du bouton d'option:
             echo "      <TR><TD><input type='radio' name='nom_image'></TD></TR>";
             echo "   </TABLE>";
             echo "</TD>";
     
     
     
             if($num_img==6)
             //si on est à la sixième image de la ligne, on change de ligne
             {
                   echo "</TR><TR>";
                   $num_img=1;
             }
             else
             {
                   $num_img++;
             }
    }
     
    echo "</TR></TABLE>";
     
    echo "<CENTER><input type='submit' value='supprimer l'image'></CENTER>";
     
    echo "</FORM>";

    Je pense que ca devrait marcher...

    [edit]
    A la place de recréer une table dans chaque case, un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <CENTER><img src=...><BR><input type='radio' ...></CENTER>
    devrait suffire

  9. #9
    Membre éclairé Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Par défaut
    il n'y a pas moyen de travailler avec un modulo pour alléger un peu ce code ?

  10. #10
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    J'avais commis une fonction pour afficher en tableau html des données issues d'une requête.

    Il faut fournir à la fonction un array des données et le nombre de colonnes que l'on souhaite.

  11. #11
    Membre éprouvé Avatar de ciesco
    Inscrit en
    Février 2004
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 110
    Par défaut
    Je disais ca car ca faisiat un peu je veux ca je veux ca et je veux ca.
    MAis puisque visiblement ca n'est pas ca et que tu as expliqe plus clairement ce que tu veux. Excuse moi alors.
    Donc si tu le veux avec le modulo regarde ce post ou j'avais donen la solution .
    http://www.developpez.net/forums/vie...098&highlight=

  12. #12
    Membre éclairé Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Par défaut
    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
    echo"<table border='1'>"; 
    $cpt=0; 
             while($res=mysql_fetch_array($send)) 
             { 
                 $output = (!($cpt%3))?"<tr><td>":"<td>"; 
                   echo $output; 
                   $lienphoto=$chemin."".$res[3];    
                   $h_vign = "120"; 
                   $taille = getimagesize($lienphoto); 
                   $reduc  = floor(($h_vign*100)/($taille[1])); 
                   $l_vign = floor(($taille[0]*$reduc)/100); 
     
                   echo"<img src='$lienphoto' width='$l_vign' height='$h_vign'>"; 
     $output = (($cpt%3)==2)?"</td></tr>":"</td>"; 
     
    echo $output; 
     
     
     
    $cpt++; 
     
                //echo'</tr>'; 
     
             } 
          echo'</table>';
    Je me permets de copier ton code ici ciesco afin que cela soit plus facile a suivre...

    mais je ne comprends pas comment il fonction, tu ne fait jamais un if sur le modulo ?

  13. #13
    Membre éclairé Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Par défaut
    Citation Envoyé par macbook
    J'avais commis une fonction pour afficher en tableau html des données issues d'une requête.

    Il faut fournir à la fonction un array des données et le nombre de colonnes que l'on souhaite.

    La fonction termine le tableau pour qu'il soit html valide :

    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
    <?php
    ****function*affiche_tab*(*$tab*,*$nb*)
    ****{****
    ****$nb_var*=*count*(*$tab*)*;*//*nombre*d'occurence*à*afficher
    ****$nb_line*=*ceil*(*count*(*$tab*)*/*$nb*)*;*//*nombre*de*ligne*que*comportera*le*tableau*HTML
    ****$nb_cell*=**$nb_line***$nb*-*$nb_var*;*//*nombre*de*cellule*"vide"*à*la*fin*du*tableau*HTML
    ****$width*=*ceil*(*100*/*$nb*)*;*//*largeur*des*cellules*en*%
     
    ****$table_html*=*'<table*border="0"*width="600"*cellspacing="0"*cellpadding="0"*align="center">'*;*//*A*personnaliser
     
    ****$i*=*0*;
    ********foreach*(*$tab*as*$value*)
    ********{
    ************if*(*$i*==*0*)*//*Début*d'une*ligne*de*tableau*HTML
    ************{
    ************$table_html*.=*'<tr>'*;
    ************}
     
    ********$table_html*.=*'<td*width="'*.*$width*.*'%">'*.*$value*.*'</td>'*;
    ********$i*++*;
     
    ************if*(*$i*==*$nb*)*//*Fin*d'une*ligne*de*tableau*HTML
    ************{
    ************$table_html*.=*'</tr>'*;
    ************$i*=*0*;
    ************}
    ********}
     
    ****$end_table_html*=*''*;
    ********if*(*$nb_cell*!=*0*)//*Ajout*de*cellule*"vide"*pour*finir*le*tableau*HTML
    ********{
    ********$i*=*0*;
    ************while*(*$i*<*$nb_cell*)
    ************{
    ************$end_table_html*.=*'<td>&nbsp;</td>'*;
    ************$i*++*;
    ************}
    ********$end_table_html*.=*'</tr>'*;
    ********}
     
    ****$table_html*.=*$end_table_html*.*'</table>'*;
     
    ****return*$table_html*;
    ****}
    ?>
    Phpsyntaxcolor powered by decabodi
    Le tableau que je dois fournir en entrée comprends quoi alors ? mes images associées à leur bouton radio ? je renvoye donc un tableau de tableau ?

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    mais je ne comprends pas comment il fonction, tu ne fait jamais un if sur le modulo
    Le
    (!($cpt%3))?
    fonctionne exactement comme un
    En fait, la syntaxe abrégée du if (si je me rappelle bien) est

    (condition)? resultat_si_vrai : resultat_si_faux ;

  15. #15
    Membre éclairé Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Par défaut
    Citation Envoyé par The Wretched
    mais je ne comprends pas comment il fonction, tu ne fait jamais un if sur le modulo
    Le
    (!($cpt%3))?
    fonctionne exactement comme un
    En fait, la syntaxe abrégée du if (si je me rappelle bien) est

    (condition)? resultat_si_vrai , resultat_si_faux ;
    ok je ne connaissais pas cette syntaxe

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    Je me suis trompé, c'est un " : " à la place d'une " , " entre les deux résultats

  17. #17
    Membre éclairé Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Par défaut
    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
    $cpt=0; 
    							while($data=mysql_fetch_array($result)) 
    							{ 
    								$donnees = true;
    								$output = (!($cpt%6))?"<tr><td>":"<td>"; 
     
    								echo "  <table>"; 
    						        //affichage de l'image 
    						        echo "<img src = '".HTTP_SERVER.DIR_WS_CATALOG.DIR_WS_IMAGES.DIR_WS_VIGNETTE.$data['path']."' alt = '".$data['alt']."'>"; 
    						        //affichage du bouton d'option: 
    						        echo tep_draw_input_field('fichier',$data['id'],'','','radio');
    						        echo "   </table>"; 
     
     
    								$output = (($cpt%6)==2)?"</td></tr>":"</td>"; 
    								$cpt++;
    							}
    J'ai fait ca mets ca m'affiche tout en colonne avec le bouton radio a droite de l'image

    image1 o
    image2 o
    etc...

    moi je voudrais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    image1     image2     image3    image4    image5    image6
       o         o         o          o         o         o
    image7     image8     image9    image10    image11   image12
       o         o         o          o         o         o

  18. #18
    Membre éclairé Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Par défaut
    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
    $cpt=0; 
    							while($data=mysql_fetch_array($result)) 
    							{ 
    								$donnees = true;
    								$output = (!($cpt%6))?"<tr><td>":"<td>"; 
     
    								echo "  <table><tr><td>"; 
    						        //affichage de l'image 
    						        echo "<img src = '".HTTP_SERVER.DIR_WS_CATALOG.DIR_WS_IMAGES.DIR_WS_VIGNETTE.$data['path']."' alt = '".$data['alt']."'>"; 
    						        echo "</td></tr><tr><td align = 'center'>";
    								//affichage du bouton d'option: 
    						        echo tep_draw_input_field('fichier',$data['id'],'','','radio');
    						        echo "  </td></tr> </table>"; 
     
     
    								$output = (($cpt%6)==2)?"</td></tr>":"</td>"; 
    								$cpt++;
    							}
    L'affichage du bloc image+bouton radio est bon mais je n'ai qu'un bloc par ligne...

  19. #19
    Membre éclairé Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Par défaut
    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
    	$cpt=0; 
    							while($data=mysql_fetch_array($result)) 
    							{ 
    								$donnees = true;
    								$output = (!($cpt%6))?"<tr><td>":"<td>"; 
    								echo $output;
    								echo "  <table><tr><td>"; 
    						        //affichage de l'image 
    						        echo "<img src = '".HTTP_SERVER.DIR_WS_CATALOG.DIR_WS_IMAGES.DIR_WS_VIGNETTE.$data['path']."' alt = '".$data['alt']."'>"; 
    						        echo "</td></tr><tr><td align = 'center'>";
    								//affichage du bouton d'option: 
    						        echo tep_draw_input_field('fichier',$data['id'],'','','radio');
    						        echo "  </td></tr> </table>"; 
     
     
    								$output = (($cpt%6)==2)?"</td></tr>":"</td>"; 
    								echo $output;
    								$cpt++;
    							}
    autant pour moi j'avais surpprimé les echo $output; par erreur...

    par contre je n'ai que 3 images par ligne, a quoi cela est-il du ?

    je voudrais en afficher 8 par ligne...

  20. #20
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    As-tu créé une table avant? Si tu ne l'as pas fait, il faut le faire!

    Tes <table> et </table> ne servent à rien à l'intérieur de la boucle...

    Et enlève ton " ==2 " dans l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $output = (($cpt%6)==2)?"</td></tr>":"</td>";
    De plus, si tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $output = (!($cpt%6))?"<tr><td>":"<td>";
    au début de la boucle, lorsque tu entreras pour la sixième fois dans celle-ci, ca va recréer une ligne (via le <TR>) alors que tu n'as pas encore fermé l'ancienne (car tu le fais à la fin de la boucle).

    Je te conseille de supprimer cet affichage en début de boucle et de mettre à la place de l'afichage de fin:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    output = (($cpt%6)==0)?"</td></tr><tr>":"</td>";

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Conception] affichage image et texte à partir de ma BD
    Par arti2004 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 03/07/2006, 16h36
  2. [Conception] affichage image venant d'une bdd
    Par ph_anrys dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/06/2006, 09h18
  3. [Conception] affichage faussé d'image de ma BD
    Par arti2004 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/06/2006, 14h41
  4. [Conception] Affichage du chemin de navigation
    Par FCGBFRANCK dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 09/05/2006, 01h28
  5. [Conception] affichage aleatoire d'une image
    Par bellebiquette dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 24/02/2006, 22h58

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