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 :

Barre de recherche SGBD PHP [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de IamKanagawa
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2018
    Messages : 114
    Par défaut Barre de recherche SGBD PHP
    Bonjour à tous

    Voila j'ai un petit problème comme d'habitude ^^

    Le problème est le suivant quand je recherche par matricule il ne trouve rien

    HTML:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <html>
    	<head>
    		<title>Rechercher</title>
    	</head>
    	<body>
    		<form method="post" action="search.php">
    			<input type="text" name="q" placeholder="Matricule">
     
    			<input type="submit" name="submit" value="Rechercher">
    		</form>
    	</body>
    </html>
    PHP:
    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
    <?php
    	if (isset($_POST['submit'])) {
    		$connection = new mysqli("localhost", "root", "root");
    		$q = $connection->real_escape_string($_POST['q']);
     
     
     
     
    		$sql = $connection->query("SELECT matricule_employe FROM employe_table WHERE LIKE '%$q%'");
    		if ($sql->num_rows > 0) {
    			while ($data = $sql->fetch_array())
    				echo $data['matricule_employe'] . "<br>";
    		} else
    			echo "Votre requête de recherche ne correspond à aucune donnée";
    	}
    ?>
    Merci pour vos future réponse ^^

    PS : Si vous voulez d'autre infos n'hésiter pas

  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
    Il manque la selection de la base de données.

    Tu devrais afficher les erreurs quand tu developpes.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Dans la requête, il manque aussi la colonne de la table dans la clause WHERE.

    A+.

  4. #4
    Membre confirmé Avatar de IamKanagawa
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2018
    Messages : 114
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Il manque la selection de la base de données.

    Tu devrais afficher les erreurs quand tu developpes.
    Ah,

    Merci pour ta réponse

    Voici mon nouveau code
    php
    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
    <?php
        $db = include 'connect_bdd.php';
        try { 
            if (isset($_POST['submit'])) {
                $db = include 'connect_bdd.php';
                $q = $db->real_escape_string($_POST['q']);
                $sql = $db->query("SELECT matricule_employe FROM employe_table WHERE matricule_employe LIKE '%$q%'");
                if ($sql->num_rows > 0) {
                    while ($data = $sql->fetch_array())
                        echo $data['matricule_employe'] . "<br>";
                } else
                    echo "Votre requête de recherche ne correspond à aucune donnée";
            }
         } 
         catch (Exception $e) {
            //s'il y a un problème PHP ou SQL, tout s'affichera ici
            print "Erreur ! " . $e->getMessage() . "<br/>";
         }
    ?>
    et voici connect bdd
    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
    <?php
    // on vérifie si la fonction de connexion a déjà été définie afin d'éviter de la redéfinir
    if ( ! function_exists('connect_bdd')) {
       function connect_bdd() {
          // une fois ouverte, on renvoie toujours la même connexion
          static $pdo;
          // on vérifie si la connexion n'a pas déjà été initialisée
          if ( ! ($pdo instanceof PDO)) {
             // tentative d'ouverture de la connexion MySQL
             try {
                $pdo = new PDO('mysql:host=localhost;port=3306;dbname=bdd;charset=utf8','root', 'root', [
                PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
                PDO::ATTR_EMULATE_PREPARES   => false
                ]);
             } 
             catch (PDOException $e) {
                throw new InvalidArgumentException('Erreur connexion à la base de données : '.$e->getMessage());
                exit;
             }
          }
          // renvoi de la ressource : connexion à la base de données
          return $pdo;
       }
    }
    return connect_bdd();

    mais ça ne marche toujours pas
    Images attachées Images attachées  

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Euh... dans ton 1er code tu faisais une connexion mysqli et maintenant tu fais une connexion PDO, mais le reste du code n'a pas changé Ce n'est pas exactement interchangeable... Si tu veux passer à PDO (ce que j'approuve ), il faut modifier le reste du code pour que ce soit cohérent.
    Et tu n'as pas besoin d'ouvrir deux fois la connexion (lignes 2 et 5), la 1ere fois suffit.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Membre confirmé Avatar de IamKanagawa
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2018
    Messages : 114
    Par défaut
    Ok je vais me renseigner sur PDO j'oublie toujours que c'est different merci pour ta réponse

    PS pour la connexion je l'ai deja modifié ^^

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Tu as déjà pris le code de connexion PDO dans le blog de Dendrite.

    Continue à le lire....

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

Discussions similaires

  1. [MySQL] Problème avec ma Barre de Recherche PHP
    Par moinamkomori dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 07/06/2016, 09h38
  2. barre de recherche dans les fonctions php pour firefox
    Par titoumimi dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 03/02/2006, 10h16
  3. [SGBD] PHP et mysqli - MySQL 4.1
    Par meda dans le forum Outils
    Réponses: 5
    Dernier message: 09/01/2005, 17h56
  4. Débutant recherche SGBD ... (mylittlebase ?)
    Par Phil39 dans le forum Débuter
    Réponses: 1
    Dernier message: 10/10/2004, 10h25
  5. Recherche SGBD légère et gratuite
    Par jab dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 23/09/2004, 08h52

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