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 :

[Tableaux] créer un lien avec donnée de formulaire


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [Tableaux] créer un lien avec donnée de formulaire
    Bonjour à tous et merci pour ce formidable site.

    Ma question va sans doute vous paraître évidente, mais je cherche à réaliser un lien vers des fichiers, et je ne trouve pas la réponse.

    J'ai des fichiers .pdf classés par N° (ex: 10.pdf,...). Ce classement est inclus dans une base de données, dans une colonne de chaque table. Je souhaite afficher le fichier via un lien. L'utilisateur effectue une recherche par mot clé (date, etc...) et le N° des fichiers est disponible sous forme de cases de tableaux associatifs issus d'un mysql_fetch_array. J'ai essayé

    # Lien vers le fichier <?php echo '<a href="decision/$donnee ['id_decision'].pdf"<a>'; ?> #

    mais j'ai un parse error et je ne comprends pas pourquoi. Merci d'avance pour votre aide, j'espère que j'ai été assez précis dans ma requête.

    Cordialement

  2. #2
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Points : 2 853
    Points
    2 853
    Par défaut
    Tu ne peux pas utiliser de variable dans une chaîne avec des simple quote.
    Tu dois pour faire ça concaténer plusieurs partie de chaîne avec le .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php 
        echo '<a href="decision/'.$donnee['id_decision'].'.pdf"<a>'; 
    ?>
    Mais ta parse error ne doit pas venir de ça toute façon.

    Pourrais-tu nous montrer l'erreur ?

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Déjà, merci beaucoup pour ta réponse, ça me parait plus logique comme ça. Mais, tu as encore raison, ça ne résod pas le problème de l'erreur. l'erreur affichée est : parse error, expecting "," or ';" in c:\...\resultat.php on line 112, c'est à dire la ligne ou est écrite l'instruction avec le href.
    Est ce que l'ensemble du code serait nécessaire ?

    Cordialement

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Le reste du code est nécessaire. En effet, même si l'erreur indiqué est à la ligne que tu cites le problème est plus haut. Il faudrait donc rechercher dans cette zone

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Et voilà mon code
    Tout d'abord, merci encore.Comme demandé, voilà mon code. Je m'excuse d'avance pour ce codage brutal qui doit faire bondir des experts, mais je débute en php, si jamais vous voyez des améliorations à apporter, n'hésitez pas. Le code n'est plus indenté à cause du copier coller, et croyez bien que j'en suis désolé.

    Cordialement

    PS:est ce que vous connaissez un moyen simple pour un débutant pour créer des sortes de menus: on coche une case, et d'autres choix apparaissent ?


    Code html : 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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Recherche par mot-clés</title>
    </head>
     
    <body><?php    
     
    // récupération des variables de formulaire :
                $juridiction=htmlentities ($_POST['Juridiction'], ENT_QUOTES);
                $nature=htmlentities ($_POST['Nature'], ENT_QUOTES);
                
                $motcle1=htmlentities ($_POST['Motcle1'], ENT_QUOTES); //Récupération du second mot clé
                $motcle2=htmlentities ($_POST['Motcle2'], ENT_QUOTES); //Récupération du second mot clé
                $motcle3=htmlentities ($_POST['Motcle3'], ENT_QUOTES); //Récupération du troisième mot clé
                
                $jour=htmlentities ($_POST['Jour'], ENT_QUOTES); //Récupération du jour de la décision
                $mois=htmlentities ($_POST['Mois'], ENT_QUOTES); //Récupération du mois de la décision
                $annee=htmlentities($_POST['Annee'], ENT_QUOTES); //Récupération de l'année de la décision
             ?>    
     
                <p>
                  <?php 
    //test de la validité de la date :    
     
    if (ereg ("([0-9]{4})", $_POST['Annee'])or ereg ("(%{4})", $_POST['Annee']))
                {
                $annee=htmlentities($_POST['Annee'], ENT_QUOTES); //Récupération de l'année de la décision
                }
                else
                {
                echo "Veuillez saisir un format d'année de type YYYY correcte. Ex: 2005 ou %%%% si la date vous est inconnue";
                }
                ?>
                  <?php    //test de la validité du 3ème mot clé :
    if (ereg ("([a-z]{20})", $_POST['Motcle3'])or ereg ("(%{1})", $_POST['Motcle3']))
                {
                $annee=htmlentities($_POST['Motcle3'], ENT_QUOTES); //Récupération de l'année de la décision
                }
                else
                {
                echo "Veuillez saisir un texte ou % si vous ";
                }
                ?>
     
     
    <br />
    <?php
     
    // Connexion à MySQL
    mysql_connect("localhost", "root", "") or die ("Impossible de se connecter"); //echo "Connexion réussie";
                
    // Sélection de la base de données BDD    
    mysql_select_db("bdd") or die("Impossible de sélectionner la base, vérifiez que la base existe ou que le chemin d'accès est            bien spécifié"); 
     
    //calcul du nombre de décisions :         
    $rq="SELECT * FROM decision WHERE ( Nature like '$nature' AND Juridiction like '$juridiction' AND Motcle1 like '$motcle1' AND Motcle2 like '$motcle2' AND Motcle3 like '$motcle3' AND Date_decision like '$annee$mois$jour')";
    $result=mysql_query($rq) or die(my_sql(error()));
    $nombredecision=mysql_num_rows($result);
     ?>
    </p>
    <p>Il y a <?php echo $nombredecision ?> décisions  correspondant à votre recherche :
      <?php
     
    //Affichage du nombre de décisions par pages: 
     
                //$NombreDeDecisionsParPage= 10 ; //variable pour nombre de décisions par pages/            
     
    //Nmbre de pages à créer
                //$nombredepages = ceil ( $nombredecision / $NombreDeDecisionsParPage );
     
    // Création des liens vers chacune des pages
                //echo 'Page : ';
    //            for ($i = 1; $i <= $nombredepages ; $i++)
    //        {
    //            echo '<a href=Resultat2.php?page='.$i.'"'.$i.'</a>';
    //         }
    //?>
    //
    //<p/>
    //
    //<?php
    //
    //            if (isset($_GET['page']))
    //            {
    //            $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
    //            }
    //            else // La variable n'existe pas, c'est la première fois qu'on charge la page
    //            {
    //            $page = 1; // On se met sur la page 1 (par défaut)
    //            }
     
     
        
    // Requête     SQL : récupération des décisions
                
    $reponse=mysql_query("SELECT * FROM decision WHERE ( Nature like '$nature' AND Juridiction like '$juridiction' AND Motcle1 like '$motcle1' AND Motcle2 like '$motcle2' AND Motcle3 like '$motcle3' AND Date_decision like '$annee$mois$jour' )")or die(mysql_error());  
                //
            
                
    //Boucle pour lister les décisions
                
                while ($donnees = mysql_fetch_array($reponse) )
                {
                ?>
    </p>
    <p> <?php echo $donnees['Nom'].','.$donnees['Juridiction'].','.$donnees['Lieu_tribunal'] ?>,                        <?php echo $donnees['Date_decision'] ?><br />
     
                Cause du sinistre : <?php echo $donnees['cause_sinistre'].',         '.$donnees['Motcle1'] ?><br />
    R&eacute;sum&eacute; : <?php echo $donnees['Resume'] ?>
    <p>Afficher la d&eacute;cision : <?php //echo '<a href="DecisionASSTEST.$donnees['id_OGE']'.doc</a>; ?><br />
    <p>
            <?php
            }    
            mysql_close(); // Déconnexion de MySQL
            ?>
     
     
     
    </body>
    </html>

  6. #6
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Points : 2 853
    Points
    2 853
    Par défaut
    Tu ne devrais pas mélanger html et php de la sorte ca ne facilite en rien la compréhension du code.
    Tu peux tout simplement faire des :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<p> Bonjour '.$prenom.'</p>';
    à la place des :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    ...
    ?>
    <p>
    <?php
    echo $prenom;
    ?>
    </p>
    Tu pourrais aussi enlever les partie inutile entre commentaire stp. C'est déjà très mal indenter mais en plus tu as des commentaires un peu partout.

    Autre chose aussi je sais pas si c'est correcte car je n'ai pas tester mais une instruction se termine en théorie par un point-virgule or a chaque fois quand tu as <?php echo 'quelque chose' ?> tu n'en met pas.

    Et je sais pas si c'est moi qui ai mal lu mais je n'ai pas vu le code précédemment cité dans ton code.

Discussions similaires

  1. Créer un lien avec passage de paramètres
    Par malabarbe dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/02/2010, 17h47
  2. Créer un lien avec une image
    Par saiyens dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 05/03/2009, 21h54
  3. [Tableaux] créer un lien à chaque nouvelle ligne
    Par anarchoi dans le forum Langage
    Réponses: 10
    Dernier message: 03/05/2007, 08h55
  4. [Tableaux] Créer un lien dynamique
    Par Wagges dans le forum Langage
    Réponses: 3
    Dernier message: 20/03/2007, 18h39
  5. Réponses: 2
    Dernier message: 15/12/2006, 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