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 :

Fonction pour éviter une requête redondante


Sujet :

Langage PHP

  1. #1
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut Fonction pour éviter une requête redondante
    Bonjour à tous,

    j'aimerais un petit peux d'aide pour créer une fonction pour un code redondant dans mon site. J'ai beau essayer, je n'arrive pas à comprendre comment la mettre en fonction.

    Le but de ma fonction est de calculer via count() le nombre d'occurrence d'un mot/expression dans ma base afin de pouvoir ensuite comparer celui-ci.

    le code que je souhaite mettre en fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    														// on vérifie que l'url n'est pas déjà dans la base...
    $checkcountq = db_query("SELECT count(*) AS nbrec FROM table WHERE champ='$variable'");
    $checkcountn = mysql_fetch_assoc($checkcountq);
    $checkcount = $checkcountn['nbrec'];
    Comment mettre cela en fonction pour que je n'ai plus qu'à comparer le résultat ?
    à savoir qu'il faut remplir les paramètres : "table", "champ", "$variable")

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673
    Par défaut
    Bonjour,

    Je dirais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function checkCount($table, $champ, $variable){
     
    $query = "SELECT count(*) AS nbrec FROM " . $table . " 
              WHERE " . $champ . " = '" . $variable . "' ";
    $result = mysql_query($query) or die(mysql_error());
     
    return mysql_result($result, 0, "nbrec");
    }
    et tu l'appelles comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo checkCount("ma_table", "mon_champ", "ma_variable");

  3. #3
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut
    Super, merci à toi.
    c'était plus con que ce que je pensais...

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/12/2015, 14h51
  2. utilisation de la fonction Partdate() dans une requête
    Par jm6570 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 01/02/2010, 11h55
  3. [MySQL] Afficher le temps mis pour executer une requête SQL
    Par micatmidog dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 28/09/2005, 11h23
  4. Réponses: 12
    Dernier message: 22/02/2005, 17h45
  5. Réponses: 7
    Dernier message: 03/06/2004, 12h46

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