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

Langage PHP Discussion :

Liste de boutons [PHP 5.1]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 54
    Points : 19
    Points
    19
    Par défaut Liste de boutons
    Bonjour ,


    Je voudrais faire une liste avec un nombre de lignes variables (donc il faudra une barre de défilement verticale) ; dans chaque ligne je voudrais mettre plusieurs boutons correspondant à des actions à effectuer (supprimer, modifier ..) ne concernant que cette ligne. Je ne vois pas du tout comment faire ça.
    Pouvez vous m'aider ?

    Merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 051
    Points : 1 638
    Points
    1 638
    Par défaut
    Si j'ai bien compris le soucis. tu veux que chaque ligne soit spécifique.

    Pour cela, je créerais une div de dimensions x et y.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #div
    {
    width: 800px;
    height: 500px;
    overflow:scroll; // pour la barre de défilement
    }
    Dans cette div, une boucle en PHP pour tes x lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <div id="div">
    <?php
    echo"<ul>";
    for($i=0;$i<$nbr_elts;$i++)
    {
       echo"<li><a href=\"page_traitement.php?id=$i\"><img src=\"lien_img_bouton\"></a></li>";
    }
    echo"</ul>";
    ?>
    </div>
    Comme tu le vois, je passe un paramètre id qui correspond à la ligne en cours. Ainsi dans ta page de traitement, tu peux récupérer à l'aide d'un GET, les informations d'une ligne spécifique.

    Après il faut voir si tu obtiens tes résultats d'une base de donnée ou pas. Ainsi en paramètre id dans le <a href>, tu peux passer la clé primaire de ta base de données.

    Si tu comprend pas trop, hésite pas à demander

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 54
    Points : 19
    Points
    19
    Par défaut
    Merci pour la réponse !

    overflow:scroll; // pour la barre de défilement

    je ne connaissais pas merci, ça marche bien sauf que ça me met aussi une barre de défilement horizontale dont je me passerais bien

    Sinon je comprends bien le passage de parametre de cette façon mais j'ai 3 questions :
    - Comment on fait pour passer 2 parametres par exemple ?
    - Peut on passer tout type de paramètres ?
    - Quelle est la syntaxe du $_GET pour récupérer dans le prog appelé ?

    En fait pour passer un parametre je le mets comme name du bouton et je récupère par POST. Mais bon, j'apprends tout seul donc je dois faire des trucs assez délirants

    Le fait d'afficher une image dans la ligne crée un problème aussi. l'image n'est pas à la même hauteur que le reste de la ligne, elle est carrément à la ligne dessous, c bizarre.

    Je ne vois pas l'intérêt des UL et des LI, en fait ça marche bien sans. Pourquoi il faut mettre ça ?

    merci et bonne année

  4. #4
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Je réponds à une partie de tes questions :
    Comment on fait pour passer 2 parametres par exemple ?
    href=\"page_traitement.php?id=$i&&par2=$toto Donc pour passer plusieurs paramètres, tu les "concatènes" avec &&.

    Quelle est la syntaxe du $_GET pour récupérer dans le prog appelé ?
    $id_transmis=$_GET['id'] L'important est de mettre dans le tableau $_GET le nom de la variable que tu avais mis dans la page appelante (ici "id", et entre quotes (')).

    Peut on passer tout type de paramètres ?
    Je ne connais pas de limitation.

    Je ne vois pas l'intérêt des UL et des LI, en fait ça marche bien sans. Pourquoi il faut mettre ça ?
    Pour faire plus propre.

    Bonne année aussi

  5. #5
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 051
    Points : 1 638
    Points
    1 638
    Par défaut
    Et pour la dernière question sur le scroll horizontal, tu peux le supprimer avec

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par laurentSc
    passer plusieurs paramètres, tu les "concatènes" avec &&.


    Pourquoi doubler le & ???

    Citation Envoyé par laurentSc
    Peut on passer tout type de paramètres ?
    Je ne connais pas de limitation.


    Tu veux dire en dehors du fait que tu ne peux passer que des types chaines de caractère ?

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Pourquoi doubler le & ???
    C'est à cause de Parkinson (et car de mémoire, je me suis trompé).

    Tu veux dire en dehors du fait que tu ne peux passer que des types chaines de caractère ?
    Mais moi, je ne fais jamais attention au type de la variable et je passe autre chose que des strings...

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 54
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Bovino Voir le message


    Pourquoi doubler le & ???





    Tu veux dire en dehors du fait que tu ne peux passer que des types chaines de caractère ?
    Heu ... je passe un entier et ça marche très bien

  9. #9
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par laurentSc
    Mais moi, je ne fais jamais attention au type de la variable et je passe autre chose que des strings...
    En paramètre GET ? Je serais curieux de voir ça...
    Citation Envoyé par pandu
    Heu ... je passe un entier et ça marche très bien
    Oui, parce que PHP est capable de transtyper dynamiquement les nombres, mais il n'en reste pas moins vrai que les paramètres GET transitent via le protocole HTTP qui est sans état et ne reconnait pas les types, ce sont donc toujours des chaines qui sont transmises !

  10. #10
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    En paramètre GET ? Je serais curieux de voir ça...
    pour satisfaire ta curiosité
    test_bovino.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $entier=5;
    $flottant=5.5;
    echo '<a href="passer_entier.php?entier='.$entier.'&flottant='.$flottant.'">passer entier et flottant</a>';
    ?>
    passer_entier.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php 
    echo "entier=".$_GET['entier']."<br>flottant=".$_GET['flottant'];?>
    mais il n'en reste pas moins vrai que les paramètres GET transitent via le protocole HTTP qui est sans état et ne reconnait pas les types, ce sont donc toujours des chaines qui sont transmises !
    Peut-être, mais le codeur transmet bien une variable de n'importe quel type.

  11. #11
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    pour satisfaire ta curiosité
    test_bovino.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $entier=5;
    $flottant=5.5;
    echo '<a href="passer_entier.php?entier='.$entier.'&flottant='.$flottant.'">passer entier et flottant</a>';
    ?>
    passer_entier.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php 
    echo "entier=".$_GET['entier']."<br>flottant=".$_GET['flottant'];?>
    Peut-être, mais le codeur transmet bien une variable de n'importe quel type.
    et non,
    fait un var_dump($_GET); tu verras que c'est en string

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par laurentSc
    Peut-être, mais le codeur transmet bien une variable de n'importe quel type.


    Avec un vrai test, tu te rendras compte que non
    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
    <?php
    if(isset($_GET['param'])){
    	var_dump($_GET['param']);
    }
    $nb = 123;
    $st = 'abc';
    $tab = array(1,2,3);
    ?>
    <!doctype html>
    <html lang="fr">
    <head>
    	<meta charset="utf-8" />
    	<title>Types</title>
    </head>
    <body>
    	<p><a href="?param=<?php echo $nb; ?>">Passer un nombre</a></p>
    	<p><a href="?param=<?php echo $st; ?>">Passer une chaine</a></p>
    	<p><a href="?param=<?php echo $tab; ?>">Passer un tableau</a></p>
    </body>
    </html>

  13. #13
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    En fait, je crois qu'on a tous raison :techniquement, c'est bien une string, mais on peut quand même transmettre tout type de variable (et avant, je ne savais pas que la variable transmise était de type string, et ça marchait quand même...)

  14. #14
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par laurentSc
    En fait, je crois qu'on a tous raison
    Mouais... Si ça te fais plaisir de le croire...
    Citation Envoyé par laurentSc
    mais on peut quand même transmettre tout type de variable
    Tu es sûr d'avoir bien exploité l'exemple que j'ai donné ?
    Je pense notamment au 3e lien
    Les nombres et les chaines ne sont pas (heureusement) les seuls types de variables...

  15. #15
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Je pense notamment au 3e lien
    Là OK, il faut passer par une string avec implode ou serialize.

    et on peut passer un "array" :
    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
    <?php 
    if(isset($_GET['param'])){
       {
       if ($_GET['cas']<3)
    	   var_dump($_GET['param']);
       else var_dump(explode(',',$_GET['param']));
       }	
    }
    $nb = 123;
    $st = 'abc';
    $tab = array(1,2,3);
    ?>
    <!doctype html>
    <html lang="fr">
    <head>
    	<meta charset="utf-8" />
    	<title>Types</title>
    </head>
    <body>
    	<p><a href="?param=<?php echo $nb; ?>&cas=1">Passer un nombre</a></p>
    	<p><a href="?param=<?php echo $st; ?>&cas=2">Passer une chaine</a></p>
    	<p><a href="?param=<?php echo implode($tab); ?>&cas=3">Passer un tableau</a></p>
     
    </body>
    </html>

  16. #16
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Là OK, il faut passer par une string avec implode ou serialize.

    et on peut passer un "array" :
    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
    <?php 
    if(isset($_GET['param'])){
       {
       if ($_GET['cas']<3)
    	   var_dump($_GET['param']);
       else var_dump(explode(',',$_GET['param']));
       }	
    }
    $nb = 123;
    $st = 'abc';
    $tab = array(1,2,3);
    ?>
    <!doctype html>
    <html lang="fr">
    <head>
    	<meta charset="utf-8" />
    	<title>Types</title>
    </head>
    <body>
    	<p><a href="?param=<?php echo $nb; ?>&cas=1">Passer un nombre</a></p>
    	<p><a href="?param=<?php echo $st; ?>&cas=2">Passer une chaine</a></p>
    	<p><a href="?param=<?php echo implode($tab); ?>&cas=3">Passer un tableau</a></p>
     
    </body>
    </html>
    non faut utiliser http_build_query pour passer un array (et avoir le vrai rendu HTTP)

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 54
    Points : 19
    Points
    19
    Par défaut
    Bon bref pour revenir à mes petits soucis de débutants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #encours
    {
    width: 966px;
    height: 200px;
    overflow:scroll; // pour la barre de défilement
    overflow-x:hidden;
      font-size: 8;
    font-weight: lighter;
    }
    Le : overflow-x:hidden; ne marche pas. Qqun sait pourquoi ?

    Merci

  18. #18
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    J'ai testé : ça marche sous FF mais pas sous IE.

  19. #19
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Points : 8 040
    Points
    8 040
    Par défaut
    Citation Envoyé par pandu Voir le message
    Bon bref pour revenir à mes petits soucis de débutants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #encours
    {
    width: 966px;
    height: 200px;
    overflow:scroll; // pour la barre de défilement
    overflow-x:hidden;
      font-size: 8;
    font-weight: lighter;
    }
    Le : overflow-x:hidden; ne marche pas. Qqun sait pourquoi ?

    Merci
    Essaye de mettre un overflow: auto; plutôt que scroll.

    Sinon revoies tes dimensions de l'élément encours. Peut-être que 966px est trop petit.

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 54
    Points : 19
    Points
    19
    Par défaut
    Ah ben là je n'ai plus de barres du tout, ça déborde de tous les cotés ^^

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

Discussions similaires

  1. [Système] liste déroulante > bouton > Action
    Par KingOfIce dans le forum Langage
    Réponses: 3
    Dernier message: 22/09/2006, 17h07
  2. Réponses: 2
    Dernier message: 30/06/2006, 17h46
  3. Tri d'une zone de liste par bouton
    Par illight dans le forum Access
    Réponses: 7
    Dernier message: 09/11/2005, 20h39
  4. Réponses: 11
    Dernier message: 22/09/2005, 11h21
  5. [CR]liste de boutons radio
    Par inesfonfon dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 16/09/2004, 10h04

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