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 :

Rendre clickable un lien URL


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    CONSULTANT
    Inscrit en
    Octobre 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : CONSULTANT

    Informations forums :
    Inscription : Octobre 2005
    Messages : 28
    Par défaut Rendre clickable un lien URL
    Bonjour à tous,

    j'ai adapté un script de news pour mettre en place tout simplement un script pour ajouter des liens URL avec le titre du site, son adresse URL complète et une description du site en question.

    Tout se passe bien, et les données sont bien stockées dans ma base et s'affichent correctement, le problème c'est que l'adresse URL n'est pas active ou clickable.


    Je vous mets le code en question:

    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
     
    <?php
    // on se connecte à notre base
    $base = mysql_connect ('*********', '*********', '********'); 
    mysql_select_db('*********', $base);
     
    // lancement de la requête. on sélectionne les url que l'on va ordonner suivant l'ordre "inverse" des dates (de la plus récente à la plus vieille : DESC) tout en ne sélectionnant que le nombre voulu de news à afficher (LIMIT)
    $sql = 'SELECT titre, url, date, descriptif FROM liens ORDER BY date DESC;';
     
    // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
    // on compte le nombre d'url stockées dans la base de données
    $nb_liens = mysql_num_rows($req);
     
    if ($nb_liens == 0) {
        echo 'Aucune url enregistrée.';
    }
    else {
        // si on a au moins une url, on l'affiche
        while ($data = mysql_fetch_array($req)) {
     
            // on décompose la date 
            sscanf($data['date'], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec);
     
            // on affiche les résultats
            echo '<br /> ',stripslashes(htmlentities(trim($data['titre']))) , '<br />';
            echo ' ',stripslashes(htmlentities(trim($data['url']))) , '<br />';
            echo ' ',nl2br(stripslashes(htmlentities(trim($data['descriptif'])))) , '<br />';
        }
    }
    // on libère l'espace mémoire alloué à cette requête
    mysql_free_result ($req);
     
    // on ferme la connexion à la base de données
    mysql_close ();
    ?>
    Merci pour votre aide.

  2. #2
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    bonjour,

    quand tu fais un "view source" que vois tu? comment tes liens sont ils stockes dans ta base de donnees?

  3. #3
    Membre averti
    Profil pro
    CONSULTANT
    Inscrit en
    Octobre 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : CONSULTANT

    Informations forums :
    Inscription : Octobre 2005
    Messages : 28
    Par défaut
    en faisant un view source:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <br /> France Alzheimer et Maladies Apparent&eacute;es<br /> http://www.francealzheimer.org<br /> Une vraie source d'information sur la maladie d'Alzheimer.<br />br>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    CREATE TABLE liens (
        id int(6) NOT NULL auto_increment,
        titre text NOT NULL,
        url varchar(50) NOT NULL,
        date datetime NOT NULL default '0000-00-00 00:00:00',
        descriptif varchar(255) NOT NULL,
        PRIMARY KEY  (id)
    ) TYPE=MyISAM;

  4. #4
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    si mes souvenirs sont bons en matiere de html, pour rendre les liens cliquables il faut:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href='ton_lien'>le nom de ton lien</a>


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <br /> France Alzheimer et Maladies Apparent&eacute;es<br /> <a href='http://www.francealzheimer.org'>http://www.francealzheimer.org</a><br /> Une vraie source d'information sur la maladie d'Alzheimer.<br />

  5. #5
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Tes souvenirs sont bons, pas d'inquiétude là-dessus

  6. #6
    Membre averti
    Profil pro
    CONSULTANT
    Inscrit en
    Octobre 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : CONSULTANT

    Informations forums :
    Inscription : Octobre 2005
    Messages : 28
    Par défaut
    justement comment je l'intègre dans mon code php et plus précisément à ce niveau du source :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo ' ',stripslashes(htmlentities(trim($data['url']))) , '<br />';

  7. #7
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ' <a href=\"',stripslashes(htmlentities(trim($data['url']))) , '\">stripslashes(htmlentities(trim($data['url'])))</a>',<br />';
    mais tu met des virgules , ne serait ce point des points qu'il faudrait ?

  8. #8
    Expert confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Par défaut
    Citation Envoyé par leroivert
    justement comment je l'intègre dans mon code php et plus précisément à ce niveau du source :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo ' ',stripslashes(htmlentities(trim($data['url']))) , '<br />';
    Voila :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $url=stripslashes(htmlentities(trim($data['url']))) ;
    echo '<a href=',$url,'>',$url, '</a><br />';

  9. #9
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Citation Envoyé par yiannis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ' <a href=\"',stripslashes(htmlentities(trim($data['url']))) , '\">stripslashes(htmlentities(trim($data['url'])))</a>',<br />';
    mais tu met des virgules , ne serait ce point des points qu'il faudrait ?
    non non, les virgules dans le echo c'est bien, c'est même plus performant !

  10. #10
    Membre averti
    Profil pro
    CONSULTANT
    Inscrit en
    Octobre 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : CONSULTANT

    Informations forums :
    Inscription : Octobre 2005
    Messages : 28
    Par défaut
    Excellent , merci Raptor, ça fonctionne comme sur des roulettes.

    Merci également aux autres de s'être penchés aussi rapidement.

  11. #11
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    Citation Envoyé par Mr N.
    Citation Envoyé par yiannis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ' <a href=\"',stripslashes(htmlentities(trim($data['url']))) , '\">stripslashes(htmlentities(trim($data['url'])))</a>',<br />';
    mais tu met des virgules , ne serait ce point des points qu'il faudrait ?
    non non, les virgules dans le echo c'est bien, c'est même plus performant !
    ben j'en apprend tous les jour, remarque je suis la pour ca aussi
    Mr N pourrais tu m'expliquer en quoi cela est plus performant par mp pour ne pas polluer ce post.

  12. #12
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Polluons polluons, le post est résolu Surtout que ça peut interesser du monde

    Il parait que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'une string ',$var;
    est plus performant(rapide) que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'une string '.$var;
    est plus performant(rapide) que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "une string ".$var;
    est plus performant(rapide) que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "une string $var";

  13. #13
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    ok Mr N,

    je viens de tester, le resultat n'est pas flagrant, mais je ne connaissais pas la virgule.

    Merci beaucoup et je vais tester plus en profondeur

  14. #14
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Non, pas flagrant, ca se joue à la microsecondes ^^
    Alors petit benchmark qui vaut ce qu'il vaut :
    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
    46
    47
    48
    49
    50
    51
    52
    53
    <pre><?php
    function microtime_float()
    {
       list($usec, $sec) = explode(" ", microtime());
       return ((float)$usec + (float)$sec);
    }
    $res = array();
    $n = 1000;
    $var = 'truc';
     
    $somme = 0;
    for($i = 0 ; $i < $n ; $i++) {
        $start = microtime_float();
        echo 'une string',$var,'<br />';
        $somme += microtime_float()-$start;
    }
    $res[] = $somme/$n*1000000;
     
    $somme = 0;
    for($i = 0 ; $i < $n ; $i++) {
        $start = microtime_float();
        echo 'une string'.$var.'<br />';
        $somme += microtime_float()-$start;
    }
     
    $res[] = $somme/$n*1000000;
    $somme = 0;
    for($i = 0 ; $i < $n ; $i++) {
        $start = microtime_float();
        echo "une string".$var."<br />";
        $somme += microtime_float()-$start;
    }
    $res[] = $somme/$n*1000000;
     
    $somme = 0;
    for($i = 0 ; $i < $n ; $i++) {
        $start = microtime_float();
        echo "une string",$var,"<br />";
        $somme += microtime_float()-$start;
    }
    $res[] = $somme/$n*1000000;
     
    $somme = 0;
    for($i = 0 ; $i < $n ; $i++) {
        $start = microtime_float();
        echo "une string$var<br />";
        $somme += microtime_float()-$start;
    }
    $res[] = $somme/$n*1000000;
     
     
    var_dump($res);
    ?>
    Ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    array(5) {
      [0]=>
      float(16.824722290039)
      [1]=>
      float(17.173051834106)
      [2]=>
      float(17.32325553894)
      [3]=>
      float(18.420934677124)
      [4]=>
      float(19.833087921143)
    }
    Bon c'est pas tout le temps vrai, ca depend ensuite de la charge processeur, mais on retrouve souvent cet ordre là...
    Ce qui est sur, c'est que le plus mauvais ("un string$var") est à tout les coups le plus mauvais !

  15. #15
    Expert confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Par défaut
    chez moi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    array(5) {
      [0]=>
      float(41.1174297333)
      [1]=>
      float(31.3472747803)
      [2]=>
      float(32.027721405)
      [3]=>
      float(32.2804450989)
      [4]=>
      float(62.1898174286)
    }

  16. #16
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    encore une fois Mr N.
    Merci de tous tes bon conseils qui nous font tous avancer.

  17. #17
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Citation Envoyé par raptor70
    chez moi :
    A tout les coups ?

  18. #18
    Expert confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Par défaut
    A tous les coups c'est dans l'ordre là...... ce n'est jamais les virgules qui l'emporte...

  19. #19
    Expert confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    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
     
    array(5) {
      [0]=>
      float(33.6129665375)
      [1]=>
      float(31.0657024384)
      [2]=>
      float(30.9081077576)
      [3]=>
      float(29.2654037476)
      [4]=>
      float(32.505273819)
    }

  20. #20
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    pareil chez moi sur mon serveur intranet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    array
      0 => 44.509410858154
      1 => 38.269758224487
      2 => 39.088249206543
      3 => 38.105010986328
      4 => 40.349006652832
    sur mon serveur de prod (dual xeon):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    array(5) {
    [0]=>  float(765.70510864258) 
    [1]=>  float(3169.1210269928) 
    [2]=>  float(1851.9706726074) 
    [3]=>  float(3508.2330703735) 
    [4]=>  float(1565.1016235352) }

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/07/2006, 16h37
  2. Vérification de l'existence d'un lien / url (link checker)
    Par strek100 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/10/2005, 07h34
  3. [FLASH MX2004] Créer lien url sur bouton
    Par coconut1 dans le forum Flash
    Réponses: 4
    Dernier message: 24/05/2005, 11h08
  4. [Débutant][JDBC] Rendre "dynamique" le liens à la
    Par steelidol dans le forum JDBC
    Réponses: 2
    Dernier message: 27/04/2005, 15h42
  5. [Forms6i] lien URL d'une application forms
    Par bargou dans le forum Forms
    Réponses: 4
    Dernier message: 13/12/2004, 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