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 :

report de selection d'un id [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 7
    Par défaut report de selection d'un id
    Bonjour,

    Ayant trouvé hier de l'aide sur la premiere partie de ma petite application ( ici ) je tente de pousser le bouchon un peu plus loin...

    Pour memoire j'ai une base avec 3 tables id,produit,url dans la premiere partie et grace a l'aide de TaKis, j'ai résolu mon probleme d'hyperlien d'un champ sur un autre... maintenant j'aimerai récupérer l'info de selection (clic sur l'hyperlien) pour afficher le champ text de l'id concerné, en titre dans un champ texte sur ma page formulaire.

    un exemple concret car j'ai peur de ne pas etre tres clair:

    Ma table produit
    carton
    palette
    chaussure
    cirage

    la selection d'un de ces produits conduit au formulaire, j'aimerai afficher le nom du produit, c'est a dire le champ text de l'id selectionné, dans un champ texte de mon formulaire, sachant que ce formulaire sera le même quelque soit le produit et que seul ce champ changera d'etat en fonction de la selection qui a conduit a cette page.

    J'ai pas la moindre idée de ce qu'il faut faire et si c'est trop compliqué je serai obligé de laisser tomber

    Bon mais si déja vous comprenez ce que je veux dire ca ne sera pas si mal

    Votre aide est la bienvenue et je vous remercie d'avance, quelque soit la teneur de vos réponses

  2. #2
    Membre confirmé
    Inscrit en
    Juillet 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 74
    Par défaut
    Un truc du genre ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form name="form1" action="taPage.php" method="post">
    <input type="hidden" name="monID" value="carton">
    </form>
    <a onClick="document.form['form1'].submit();">carton</a>
    Tu fais ca pour chaque lien, qui envoie sur la meme page et ainsi tu as l'id sur le quel tu as cliqué.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 7
    Par défaut
    Bonjour et merci pour ta reponse. Je suis débutant donc pas sur de bien comprendre ta reponse, alors ne m'en veut pas si je dis une bétise..

    Dans ton exemple il me semble que le lien est en "dur", alors que moi mes liens sont issues de la table que j'administre et donc sujet a des ajouts ou a des suppressions.. je pense plutot qu'il faut récupérer le champ en même temps que l'action sur l'hyperlien.... mais comment faire, ca c'est une autre histoire.. je remets le code de ma page affichage.php ci dessous au cas ou

    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
    <?php
    $cnx = mysql_connect( "localhost", "user", "pass" );
    $db= mysql_select_db( "mabase" );
    $sql = "SELECT * FROM matable";
     
    $requete = mysql_query( $sql, $cnx ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
    echo "<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\">\n" ;
    echo "<tr>
    <td><div align=\"center\">titredemontableau</div></td>
    </tr>" ;
     
    while( $result = mysql_fetch_assoc( $requete ) )
    {
     echo "<tr>\n" ;
     echo "<td><div align=\"center\"><a href='".$result["url"]."'>".$result["produit"]."</a></div></td>\n";
     echo "</tr>\n" ;
    }
    echo "</table>\n" ;
     
     
    $d = mysql_fetch_assoc($result);
     
    ?>
     
    <style type="text/css" media="screen">
    @import url( css.css );
    </style>

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 74
    Par défaut
    J'avais mit en dur, parce que je pensais que ton probleme etait de recuperer le nom du lien.

    Comme ca alors ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    while( $result = mysql_fetch_assoc( $requete ) )
    {
    echo "<form name='form1' action=".$result["url"]." method='post'>";
    echo "<input type='hidden' name='monID' value=".$result["produit"].">";
    echo "</form>";
    echo "<a onClick="document.form['form1'].submit();">".$result["produit"]."</a>";
    }
    Je pense qu'en faisant quelque chose qui ressemble a ca, tes liens vont apparaitre comme tu veux.

    Je pensais que tu ne voulais qu'une page et afficher ton formulaire en fonction de l'endroit ou tu as cliqué ?

    Parce que pour moi ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while( $result = mysql_fetch_assoc( $requete ) )
    {
     echo "<tr>\n" ;
     echo "<td><div align=\"center\"><a href='".$result["url"]."'>".$result["produit"]."</a></div></td>\n";
     echo "</tr>\n" ;
    }
    va afficher un url different pour chaque produit (ou alors dans ta base c la meme url pour chaque produit ?)
    Si c'est le cas, avec ma méthode tu recupere avec $_POST la valeur de monID pour savoir quel est le lien que tu as cliqué.

    Un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $monId = $_POST['monID'];
    if($monID=='carton')
    {
    ...
    }

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 7
    Par défaut
    Oui mon url peut etre differante, je test cette voie ce soir quand j'aurai un moment au calme.. parce que moi il me faut du calme pour concentrer mes trois neurones

    Je te remercie en tout cas pour ton coup de main, je te tiens au courant.

    a bientot.. sans doute

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 74
    Par défaut
    Mais si tu as des url differente, pourquoi tu veux savoir l'id du lien que tu as cliqué ?

    Tu clique sur un lien, tu va aller ou tu voulais, donc tu affiche tout simplement ton formulaire en fonction de ton produit.

    Ou alors j'ai pas tout compris...


    Aller bon week end, je repasse lundi pour voir ton evolution

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 7
    Par défaut
    En fait je m'exprime sans doute mal, j'vais recommencer en essayant d'être plus clair.

    J'ai une base que j'administre via une page admin.php (dans le cas présent ça n'a effectivement pas d'intérêt)

    Ma page affichage.php affiche donc bien toutes les variables "produit" que j'ai saisi dans ma base ( je n'ai pas besoin d'afficher id et url, "id" ne me sert à rien si non a classer et "url" est l'hyperlien de mon produit) les url conduisent à un formulaire (qui pourra éventuellement varier suivant les produits, ce n'est pas le cas pour l'instant mais j'ai prévu au cas ou) Je voudrai pouvoir simplement récupérer le nom du produit qui a ammené au formulaire (remplissage automatique d'un champ dynamique je suppose) afin de savoir quel produit intéresse la personne qui m'envoi le formulaire... en gros le nom du produit devient l'intitulé du formulaire.... c'est un peu plus clair comme ça je crois...

    Je continu mes investigations demain.. mais c'est pas gagné

    Bon Week a toi aussi et encore merci.

  8. #8
    Membre confirmé
    Inscrit en
    Juillet 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 74
    Par défaut
    Donc tu as bien 2 pages ? affichage.php qui affiche la liste de tes produits et une qui affiche le formulaire (on va l'appeler formulaire.php) ?
    Ton formulaire sait quel produit que tu veux.

    Donc avec mon tout premier message ca le fait (a peu pres)


    Ou bien ma deuxieme solution renvoie non plus sur formulaire.php mais sur le url que tu as fourni dans ta base. De plus j'envoie le nom du produit par la méthode POST

    As tu essayé les solutions proposé ? dsl je n'arrive pas trop voir ou ce trouve le probleme sinon...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $incr = 0;
    while( $result = mysql_fetch_assoc( $requete ) )
    {
    echo "<form name='form'.$incr action=".$result["url"]." method='post'>";
    echo "<input type='hidden' name='monID' value=".$result["produit"].">";
    echo "</form>";
    echo "<a onClick="document.form['form'.$incr].submit();">".$result["produit"]."</a>";
    $incr++;
    }
    ps : Tu as un nom de form different pour chaque produit, ma proposition ne doit pas marcher comme ca (j'ai plus la syntaxe en tete).

  9. #9
    Membre confirmé
    Inscrit en
    Juillet 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 74
    Par défaut
    un truc plus simple, en utilisant la méthode GET :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while( $result = mysql_fetch_assoc( $requete ) )
    {
    <a href=<?php echo $result['url']; ?>?prod=<?php echo $result['produit']; ?>><?php echo $result['produit']; ?></a>
    }
    Et sur ta page de formulaire tu recupere ton produit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $res = $_GET['prod'];
    echo "Mon produit :$res";
    ?>

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 7
    Par défaut
    Ca marche !!!

    Aprés deux trois modifs de balises php j'ai réussi a faire fonctionner le bigniou avec ta derniere proposition voila le code intégré dans ma page.

    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
    <?php
    $cnx = mysql_connect( "localhost", "user", "pass" );
    $db= mysql_select_db( "test" );
    $sql = "SELECT * FROM articles";
     
    $requete = mysql_query( $sql, $cnx ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
    echo "<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\">\n" ;
    echo "<tr>
    <td><div align=\"center\">titredemontableau</div></td>
    </tr>" ;
    ?>
    <?php 
    while( $result = mysql_fetch_assoc( $requete ) )
    {
    echo "<tr><td><div align=\"center\"></tr>" ;
    ?><a href=<?php echo $result['url']; ?>?prod=<?php echo $result['produit']; ?>><?php echo $result['produit']; ?></a><?php
    echo "</tr>\n" ; 
    }
    echo "</table>\n" ;
     
     
    $d = mysql_fetch_assoc($result);
     
    ?>
     
     
    <style type="text/css" media="screen">
    @import url( css.css );
    </style>
    j'ai encore un petit soucis car je n'arrive plus a mettre tout ca dans un tableau, je devrai néanmoins m'en sortir, mais la gestion de toutes ces balises td tr ca me depasse un peu !

    En attendant un grand merci a toi et une bonne année aux acteurs de ce forum !!

    je ne mets pas encore "résolu" parce qu'on ne sait jamais, un pt coup de main pour remettre le tableau en place... hein.. ca ne se refuse pas
    (si j'y parviens seul je viendrai cliquer sur résolu)

    Mille merci

    PS bon bah j'ai reussi... Merci encore a toi Freyja !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. selection du champ le plus reporté
    Par yoruichiy dans le forum Langage SQL
    Réponses: 5
    Dernier message: 01/07/2009, 10h08
  2. Réponses: 4
    Dernier message: 09/12/2008, 14h31
  3. Select avec report dans le temps
    Par Nargho dans le forum Langage SQL
    Réponses: 0
    Dernier message: 08/05/2008, 16h19
  4. [MySQL] select multiple à reporter dans une requête
    Par PatBateman dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 07/03/2007, 14h05
  5. Formule select case dans crystal report
    Par inge2007 dans le forum Formules
    Réponses: 5
    Dernier message: 15/12/2006, 17h21

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