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 SQL Discussion :

pb select count(*)


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 35
    Points : 30
    Points
    30
    Par défaut pb select count(*)
    bonjour;

    voila je viens de créer un moteur de recherche dans une base de données avec 2 requetes pratiquement similaires: l'une pour compter le nombre de résultats et l'autre pour les afficher.

    Celle pour l'affichage marche très bien tandis que celle pour compter bug:

    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    $select="select count(*) from $table where 1 and auteur like \"%$tabauteur[0]%\" ";
     
     
     
    	if ($selectauteur != "NOT"){
    		for($i=1 ; $i<$nbauteur; $i++)
    			{			
    			$sql.="$selectauteur auteur like \"%$tabauteur[$i]%\" ";
     
    			}
    	}
    	else{
    		for($i=1 ; $i<$nbauteur; $i++)
    			{
    			$sql.="and auteur not like \"%$tabauteur[$i]%\" ";
    			}
    	}
     
    	$sql.="and titre like \"%$tabtitre[0]%\" ";
    	if ($selecttitre != "NOT"){
    		for($i=1 ; $i<$nbtitre; $i++)
    			{
    			$sql.="$selecttitre titre like \"%$tabtitre[$i]%\" ";
    			}
    	}
    	else{
    		for($i=1 ; $i<$nbtitre; $i++)
    			{
    			$sql.="and titre not like \"%$tabtitre[$i]%\" ";
    			}
    	}
    	$select.="and niveau like \"%$niveau%\" and langue like \"%$langue%\" and domaine like \"%$domaine%\"";
    	$select.="and support like \"%$support%\" and competence like \"%$competence%\"";
    	mysql_connect($host,$user, $passwd);
    	mysql_select_db($db) or die ('Erreur :'.mysql_error());
    	$res = mysql_query($select);
    	$Ntotal = mysql_result($res,0,0);
     
     
    //requète d'affichage
    	$sql="select * from $table where 1 and auteur like \"%$tabauteur[0]%\" ";
     
    	if ($selectauteur != "NOT"){
    		for($i=1 ; $i<$nbauteur; $i++)
    			{
    			$sql.="$selectauteur auteur like \"%$tabauteur[$i]%\" ";
    			}
    	}
    	else{
    		for($i=1 ; $i<$nbauteur; $i++)
    			{
    			$sql.="and auteur not like \"%$tabauteur[$i]%\" ";
    			}
    	}
     
    	$sql.="and titre like \"%$tabtitre[0]%\" ";
    	if ($selecttitre != "NOT"){
    		for($i=1 ; $i<$nbtitre; $i++)
    			{
    			$sql.="$selecttitre titre like \"%$tabtitre[$i]%\" ";
    			}
    	}
    	else{
    		for($i=1 ; $i<$nbtitre; $i++)
    			{
    			$sql.="and titre not like \"%$tabtitre[$i]%\" ";
    			}
    	}
     
    	$sql.="and niveau like \"%$niveau%\" and langue like \"%$langue%\" and domaine like \"%$domaine%\"";
     
    	$sql.="and support like \"%$support%\" and competence like \"%$competence%\"";
     
    	$sql.="ORDER BY $tri $ordre, $tri2 ASC Limit $Ndeb,$Nmax ";
     
    	mysql_connect($host,$user, $passwd);
     
    	$result = mysql_db_query($db,$sql);
    voila mon $select est la requète pour compter alors que le $sql est celle d'affichage.

    celle d'affichage marche parfaitement mais le résultats de la première est éronné:

    seulement dans la première cette partie n'est pas prise en compte dans mon calcul:
    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
    if ($selectauteur != "NOT"){
    		for($i=1 ; $i<$nbauteur; $i++)
    			{			
    			$sql.="$selectauteur auteur like \"%$tabauteur[$i]%\" ";
    			echo $selectauteur .'auteur like'. $tabauteur[$i];
    			}
    	}
    	else{
    		for($i=1 ; $i<$nbauteur; $i++)
    			{
    			$sql.="and auteur not like \"%$tabauteur[$i]%\" ";
    			}
    	}
     
    	$sql.="and titre like \"%$tabtitre[0]%\" ";
    	if ($selecttitre != "NOT"){
    		for($i=1 ; $i<$nbtitre; $i++)
    			{
    			$sql.="$selecttitre titre like \"%$tabtitre[$i]%\" ";
    			}
    	}
    	else{
    		for($i=1 ; $i<$nbtitre; $i++)
    			{
    			$sql.="and titre not like \"%$tabtitre[$i]%\" ";
    			}
    	}
    alors qu'elle est prise en compte dans ma 2ème requète.

    pourtant les boucles sont bien executées

    quelqu'un peu m'aider?

    merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 35
    Points : 30
    Points
    30
    Par défaut
    problème résolu, désolé du dérangement.

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

Discussions similaires

  1. [Java][debutant]select count(*) ne retourne rien !!
    Par Invité dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 24/01/2007, 11h39
  2. [Oracle] select count(..) et Oracle 10G
    Par onclebob dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/09/2005, 15h04
  3. mon select count(*) marche pas
    Par zorba49 dans le forum Langage SQL
    Réponses: 14
    Dernier message: 05/08/2005, 08h28
  4. [Performance] RecordCount ou select Count(champ) ?
    Par shwin dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 28/09/2004, 17h37
  5. résultat de " select count "
    Par marie253 dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/06/2004, 12h07

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