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 :

Optimisation de liens


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut Optimisation de liens
    Bonsoir,

    Peut-on optimiser cette portion de code, car très
    longue et très lente ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?PHP
    while ($row=mysql_fetch_array($Resultat)) 
    {
    ?>
    <a OnClick="window.location.href='tr-a-04-02.php?nom_che=<?PHP echo $row['che']; ?>';">
    <?PHP echo "  ".$row['che']; ?><br></a>
    <?PHP
    }
    mysql_close($sql);
    ?>

  2. #2
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Bonsoir,

    pourquoi mettre un événement onClick sur un lien ?

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    while ($row = mysql_fetch_array($Resultat)) 
        echo '<a href="tr-a-04-02.php?nom_che='.$row['che'].'">'.$row['che'].'<br /></a>';
     
     
    mysql_close($sql);
    ?>

    Mais cela ne devrait pas etre long...combien ramènes tu de lignes ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut
    Bonsoir Madfrix,

    Oui, cela est plus rapide, mais les liens sont soulignés et
    apparaissent dans la barre d'état.

  4. #4
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Oui mais de toute manière, ils apparaitront dans la barre d'adresses ensuite non ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut
    Non, car ma page est redirigée

    Pour info, voici ma requète d'origine qui tourne, mais lente :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?PHP
    // Connexion à la base de données
    $sql = mysql_connect('sql4','bonbon','azerty')or die("Impossible de se connecter : " . mysql_error());
    mysql_select_db('bonbon?toto3',$sql) or die('Could not select database.');
    $Resultat = mysql_query('SELECT DISTINCT che FROM recup_t ');  
     
    while ($row=mysql_fetch_assoc($Resultat)) 
    {
      echo '<a OnClick="window.location.href=\'tr-a-04-02.php?nom_che='. $row['che'].'">
    '.$row['che'].'</a> <br />';
    }
    mysql_close($sql);
    ?>

  6. #6
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    A la limite comme ceci pour faire moins d'allers retours serveur/navigateur :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $html ='';
     
    while ($row=mysql_fetch_assoc($Resultat)) 
        $html .= '<a OnClick="window.location.href=\'tr-a-04-02.php?nom_che='. $row['che'].'">'.$row['che'].'</a> <br />';
     
    echo $html;

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut
    Non, pas plus de rapidité.

    Par contre, quelle est la différence entre :

    <br /> et <BR> ?

  8. #8
    Membre averti Avatar de BornBanane
    Homme Profil pro
    dev
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Points : 416
    Points
    416
    Par défaut
    Ton code est pas tellement optimisable, après si c'est lent, c'est ta base de données qui a du mal à suivre.

    On pourra guère faire mieux que ce que t'as donné Madfrix.
    Smiley de Plomb 2009
    Anciennement FrancoisIT

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut
    Bonjour francoisIT,

    Cela ne serait il pas une question d'index dans la base de données ?

  10. #10
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Pourquoi faire un onclick au lieu d'un href ? Comprends pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $html .= '<a href="tr-a-04-02.php?nom_che='.$row['che'].'">'.$row['che'].'</a><br />';
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  11. #11
    Membre averti Avatar de BornBanane
    Homme Profil pro
    dev
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Points : 416
    Points
    416
    Par défaut
    Citation Envoyé par malabarbe Voir le message
    Bonjour francoisIT,

    Cela ne serait il pas une question d'index dans la base de données ?
    Oui ca peut être une optimisation de la BDD.
    Après si les données auxquelles tu accèdent en BDD changent peux souvent, tu peux imaginer un système de cache en utilisant des fichiers.
    Dans un scénario du style (un peu à la memcache):
    J'ai un fichier de cache trop vieux ou pas de fichier de cache, alors je récupère en base les données et je les insère dans le fichier.
    Sinon je lis les données du fichier.
    Ensuite faut déterminer à partir de quand un fichier "cache" n'est plus valide.
    Cela peut être une bonne optimisation si tu as une fréquentation élevé.
    Smiley de Plomb 2009
    Anciennement FrancoisIT

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/07/2013, 18h36
  2. Optimisation Fonction "Insérez un lien hypertexte"
    Par Manudibango dans le forum VBA Word
    Réponses: 9
    Dernier message: 14/05/2008, 23h07
  3. liens sur l'optimisation des requêtes
    Par tung-savate dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/10/2005, 21h02
  4. [Kylix] Création d'un fichier lien
    Par DrQ dans le forum EDI
    Réponses: 2
    Dernier message: 14/05/2002, 21h30
  5. Tutoriels et liens pour le Borland Database Engine
    Par Community Management dans le forum Paradox
    Réponses: 0
    Dernier message: 25/03/2002, 10h23

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