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 :

UNION SELECT COUNT(*)


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 1
    Par défaut UNION SELECT COUNT(*)
    Bonjour à tous !

    J'ai un soucis avec ma boucle UNION SELECT COUNT(*) qui ne me prend pas en compte les autres mots du tableau $tab. Ceci dans le but de finaliser mon moteur de recherche et d'afficher le résultat sur plusieurs pages. Il m'indique :"Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\wamp...recherche.php on line 277" qui correspond à la ligne $result juste après la boucle COUNT. Par avance, merci de votre aide.

    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
     
    $mots = str_replace("\"", " ", $mots);                  
    $mots = str_replace(",", " ", $mots);                   
    $mots = str_replace(":", " ", $mots);                   
    //echo "$mots";
    $tab=explode(" " , $mots);                                // on place les differents mots dans un tableau
    $nb=count($tab);                                            // on compte le nbr d'élément du tableau.
     
    $sql="select * from film where titre like \"%$tab[0]%\" ";   //on prépare la requête SQL.
    for($i=1 ; $i<$nb; $i++)
            {
           $sql.="UNION select * from film where titre like \"%$tab[$i]%\" ";       // on boucle pour integrer tous les mots dans la requête
            }
     
     
    $link = mysqli_connect ($host,$user,$pass,$db) or die ('Erreur : '.mysqli_error() ); 
    $nombre = 5;  // on va afficher 5 résultats par page.
    if (!isset($limite)) $limite = 0; // si on arrive sur la page pour la première fois 
                   // on met limite à 0.
     
    $path_parts = pathinfo($_SERVER['PHP_SELF']);
    $page = $path_parts['basename'];
     
     
     
    $select = "SELECT (SELECT count(*) from film where titre like \"%$tab[0]%\" ";   //on prépare la requête SQL.
    for($i=1 ; $i<$nb; $i++)
            {
            $select.="UNION select count(*) from film where titre like \"%$tab[$i]%\" ";       // on boucle pour integrer tous les mots dans la requête
            }
    		$select.=")";
     
    $result = mysqli_query($link,$select) or die ('Erreur : '.mysqli_error() );
     
    $row = mysqli_fetch_row($result);
     
    $total = $row[0];
     
    $select = $sql." limit ".$limite.",".$nombre;
     
    $result = mysqli_query($link,$select)  or die ('Erreur : '.mysqli_error() );
     
    if($total) {
     
    	while($row = mysqli_fetch_array($result))

  2. #2
    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
    mysqli_error prend en paramètre la connexion :
    et pour la connexion on utilise mysqli_connect_errno()
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. select count(*) avec UNION
    Par MissOleana dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/11/2013, 15h22
  2. Union et Count sur 2 select
    Par omelhor dans le forum Requêtes
    Réponses: 3
    Dernier message: 06/12/2011, 17h07
  3. UNION de SELECT COUNT --> 1 seule lgne
    Par tiboleo dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/02/2006, 15h46
  4. résultat de " select count "
    Par marie253 dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/06/2004, 12h07
  5. UNION et COUNT(*)
    Par Goldust dans le forum Langage SQL
    Réponses: 2
    Dernier message: 08/08/2003, 09h30

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