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 :

Lien hypertexte Access affiché en double ?


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 7
    Points
    7
    Par défaut Lien hypertexte Access affiché en double ?
    Bonjour à tous,

    Je fais de nouveau appel à vous !

    J'ai une page d'affichage des résultats d'une recherche de documents par nom de machine. Tout s'affiche très bien excepté le chemin d'accès vers les fichiers (liendoc).

    Dans Access, le champ liendoc est de type "lien hypertexte". Problème : PHP affiche le lien en double.

    J'ai une fonction dans ma page de connexion qui permet de remplacer les # qui s'affichent en trop mais je ne vois pas comment supprimer le lien en double.

    Code d'affichage des champs :

    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
    //Requête
        $sql2="SELECT nomdoc , typedoc , formatdoc , datedoc , languedoc , themedoc , resumedoc , liendoc FROM machines , documents , documents_machines 
        WHERE machines.idmachine = documents_machines.idmachine AND documents_machines.iddoc = documents.iddoc AND nommachine LIKE '%".$Mot."%' ORDER BY nomdoc";
        $valeur2 = odbc_do($cnx , $sql2) or die( odbc_error() );
     
        // On teste s'il y a des résultats pour cette requete
        if (!odbc_fetch_row($valeur2)){
          echo "<h2>Aucun document ne correspond à votre recherche</h2><p>";
        }
        else {
          // On réinitialise la requete apres la commande odbc_fetch_row
          $valeur2 = odbc_do($cnx , $sql2) or die( odbc_error() );
     
          echo "<TABLE border=1>";
    	  // On utilise la fonction presente dans connexion_bd.php
          aff_ligne("Nom du document",$valeur2,'nomdoc');
          aff_ligne("Type",$valeur2,'typedoc');
          aff_ligne("Format",$valeur2,'formatdoc');
          aff_ligne("Date",$valeur2,'datedoc');
          aff_ligne("Langue",$valeur2,'languedoc');
          aff_ligne("Thème",$valeur2,'themedoc');
          aff_ligne("Résumé",$valeur2,'resumedoc');
          aff_ligne("Lien",$valeur2,'liendoc');
    		  echo "</TABLE>";
        }
    Code qui supprime le # :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (strstr($res, "\\serveur") == true) { 
            $lien_document=str_replace("#","",$res);
            echo "<TD align=center width=150> <a href=".$lien_document."> $lien_document </a> </TD>";
            continue;
          }
    Résultat affiché :

    Lien
    \\serveur\dossier1\dossier2\dossier3\fichier.ext\\serveur\dossier1\dossier2\dossier3\fichier.ext


    Je précise que j'utilise les mêmes fonctions d'affichage et de suppression des # pour afficher un lien hypertexte de type http://site/ et que ça fonctionne.

    J'espère que vous pourrez m'aider ! Merci.

  2. #2
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    J'ai demandé de l'aide à un ami qui a réussi à régler mon problème d'affichage en double en utilisant la fonction "Split".

    Pour ceux qui ont le même problème :

    En fait on utilise la fonction "Split" pour couper un texte à partir d'un point donné (ici le #) puis on supprime le # avec la fonction "str_replace".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if ($champ == 'liendoc'){
            list($lien_fichier, $lien_doublon) = split('[#]', $res);
            echo "<TD align=center width=150><a href=".$lien_fichier."> $lien_fichier </a></TD>";
            continue;
          }
    if (strstr($res, "#") == true) { 
            $res_modifie=str_replace("#","",$res);
            echo "<TD align=center width=150> <a href=".$res_modifie."> $res_modifie </a> </TD>";
            continue;
          }
    Malheureusement, un problème résolu en fait apparaitre un autre... Mon lien ne fonctionne pas pour autant.

    Le chemin d'accès vers le fichier, qui se trouve sur le serveur de l'entreprise, marche sur Access mais pas depuis l'interface php. Il me met ce message :
    Objet non trouvé. L'URL requise n'a pu etre trouvée sur ce serveur. La référence sur la page citée semble être erronée ou perimée. Nous vous prions d'informer l'auteur de cette page de cette erreur.
    Si vous pensez qu'il s'agit d'une erreur du serveur, veuillez contacter le gestionnaire du site.
    Error 404
    Quelqu'un saurait-il me dire pourquoi ?

    Merci pour vos réponses.

Discussions similaires

  1. survol souris declenche lien hypertexte et affiche image
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 31/10/2012, 10h12
  2. lien hypertext ACCESS et IE
    Par sygmam dans le forum Access
    Réponses: 1
    Dernier message: 31/08/2011, 17h06
  3. Lien hypertexte Access/ Word
    Par meliemelo dans le forum Modélisation
    Réponses: 1
    Dernier message: 14/07/2009, 05h47
  4. Liens Hypertexte access
    Par Domingo60 dans le forum ASP
    Réponses: 1
    Dernier message: 25/04/2007, 23h50
  5. Lien hypertexte ACCESS
    Par chicheng dans le forum Access
    Réponses: 2
    Dernier message: 04/04/2006, 12h50

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