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 :

Requête qui ne marche pas


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 35
    Par défaut Requête qui ne marche pas
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $total = mysql_query("SELECT count(*) FROM content WHERE match (title) against('livre')");
    Je ne vois pas ou se trouve l'erreur. Pourriez vous me dire ?
    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    mysql_query("SELECT count(*) FROM content WHERE match (title) against('livre')") or die ("Erreur query:".mysql_error());

  3. #3
    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 : 61
    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
    Par défaut
    Bonjour,
    Peux tu essayer ceci (en créant le champ total)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $result = mysql_query("SELECT count(*) AS total FROM content WHERE match (title) against('livre')") or die(mysql_error());
     
    $total = mysql_result($result, 0 "total"); //total est un champ qu'on a créé spécialement pour la requete
    Eventuellement , si tu as un message d'erreur, mets le nous ici

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 35
    Par défaut
    Salut voila ce que j'ai comme message...
    Erreur query:Can't find FULLTEXT index matching the column list
    J'ai essaye cela à la place...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $total = mysql_query("SELECT COUNT(*) FROM content WHERE title REGEXP '[[:<:]](livre)[[:>:]]'");
    En fairt je vous expose ma problématique :
    J'essaye de mettre en place une page qui me permet de donner des statistiques sur le nombre de fois ou chaque auteur d'ouvrage a été cité dans les articles du site.
    J'ai une table listant les auteurs (id,, nom, occurance)
    J'ai une table articles (titre, texte)

    J'ai écrit un morceau de code mais bon , c pas top et je galère même si j'arrive à obtenir ce que je veux...Deux problèmes :
    1-une erreur à la fin de l'exécution qui s'affiche en haut de ma page :
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource...
    2-le temps de chargement est long (j'ai 600 auteurs à chercher dans une table d'articles importante), je ne sais pas vraiment comment optimiser cela pour consommer moins de ressources.
    Si quelqu'un pouvait me donner son avis d'expert et m'aider à avancer dans ma besogne, je lui serait reconnaissant.
    Voici ce que j'ai écrit :

    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
    <?php
     
       function get_rows ($key)
       {
     
     
            $total = mysql_query("SELECT COUNT(*) FROM article WHERE title REGEXP '[[:<:]]($key)[[:>:]]'");
     
     
            $total = mysql_fetch_array($total);
            return $total[0];
     
        }
     
       $sql= mysql_query ("select * from author ");
     
        while ($results= mysql_fetch_array ($sql))
       {
     
             $id= $results['id'];
               $number=get_rows ($key);
     
     
     
             mysql_query("UPDATE author SET occurence='$number' WHERE (id='$id')");
     
       }
     
     
     
    ?>

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pour la requete proposée par N1bus, il faut que tu ajoutes un Index FULLTEXT sur les colonnes dans lesquels tu veux chercher.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [AC-2003] Requête qui ne marche pas quand je l'utilise en VBA ?
    Par [ZiP] dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 31/03/2010, 10h28
  2. Requête qui ne marche pas sur une table Joomla.
    Par tintin72 dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/02/2010, 17h51
  3. requête qui ne marche pas (HTTP 500)
    Par ChTiRiBi dans le forum Requêtes et SQL.
    Réponses: 15
    Dernier message: 07/08/2008, 09h29
  4. requête qui ne marche pas
    Par ProgVal dans le forum Débuter
    Réponses: 5
    Dernier message: 08/07/2008, 15h21
  5. [php-mysql] requête qui ne marche pas....
    Par sanosuke85 dans le forum Requêtes
    Réponses: 1
    Dernier message: 09/01/2006, 17h18

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