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 :

Affichage lors de saisie avec la douchette code barre


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2012
    Messages : 15
    Par défaut Affichage lors de saisie avec la douchette code barre
    Bonjour à tous,

    J’ai un petit souci d’affichage lorsque j’utilise une douchette à code barre.
    Voici ma page :
    Nom : recherche-isbn-affichage03.jpg
Affichages : 580
Taille : 74,7 Ko

    Lors de la saisie avec la douchette, les chiffres se mettent bien dans la case recherche mais, la recherche ne s’effectue pas : ça réaffiche la page de base, sans faire de recherche.
    Nom : recherche-isbn-affichage02.jpg
Affichages : 417
Taille : 76,8 Ko

    Alors que si je rentre les chiffres manuellement dans la case de la recherche, Ça m’affiche bien mes films.
    Nom : recherche-isbn-affichage01.jpg
Affichages : 425
Taille : 182,8 Ko

    Voici mon code
    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
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    <?php
    // Inclusion du fichier qui contient les fonctions générales.
    include('./include/fonctions.inc.php');
    // Variable pour un éventuel message.
    $message = '';
    // Traitement du formulaire.
    if (isset($_POST['ok'])) {
      // Supprimer la protection "magic quotes" éventuelle
      // des tableaux GPC.
      supprimer_encodage_MQ_GPC();
      // Récupérer le texte saisi.
      $recherche_isbn = $_POST['recherche'];
      if (empty($recherche_isbn)) {
        $message = 'Vous devez saisir le texte recherché.';
      } else {
        // Connexion.
        // Utilisation de l'opérateur @ pour masquer les alertes.
        $db = mysqli_connect('localhost', 'root', 'salutchris');
     
        if ($db === FALSE) {
          $message = 'Erreur de connexion à la base de données.';
        } else {
          // Exécuter la requête de recherche.
          $sql = "SELECT f.ID,f.ISBN,f.Num_sring,f.Num_int,f.box_sring " .
                 "FROM filmessai.fimotech_films f " .
                 "WHERE f.ISBN=?";
          if ($requete = mysqli_prepare($db,$sql)) {
     
    		#echo var_dump($recherche_isbn);
    		#echo "<BR>";
     
    		#echo var_dump($requete);
    		#echo "<BR>";
     
            $ok = mysqli_stmt_bind_param($requete,'s',$recherche_isbn);
     
    		#echo var_dump($requete);
    		#echo "<BR>";
     
            if ($ok) { 
              $ok = mysqli_stmt_bind_result
    			($requete,$ID,$ISBN,$Num_sring,$Num_int,$box);
     
            }
            if ($ok) { 
    			$ok = mysqli_execute($requete);
    		}
            if (! $ok) { $message = mysqli_stmt_error($requete);}
          } else {
            $message = mysqli_error($db);
          }
          if ($message) {
            $message = "Erreur lors de la recherche ($message).";
          }
        }
      }
    }
    // Affichage de la page ...
    ?>
    <?php echo '<?xml version="1.0" encoding="UTF-8"?>',"\n"; ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head><title>Rechercher un livre</title></head>
      <body>
        <!-- Formulaire de recherche (très simple !) -->
        <form action="recherche-isbn.php" method="post">
        <div>Rechercher : 
        <input type="text" name="recherche" 
           value="<?php echo vers_formulaire($recherche_isbn) ?>" />
        <input type="submit" name="ok" value="OK" /></div>
        </form>
        <!-- Résultat de la recherche -->
        <?php
        // Compteur du nombre de livres trouvés.
        $nombre_livres = 0;
        if ($requete) { // S'il y a un résultat à afficher
          // Balise d'ouverture de la table HTML.
     
    		#echo "dans if requete, ";
    		#echo "recherche: ",var_dump($recherche_isbn);
    		#echo "<BR>";
     
     
    		// on se connecte à MySQL
    		$db_b = mysql_connect('localhost', 'root', 'salutchris');
     
    		// on sélectionne la base
    		mysql_select_db('filmessai',$db_b);
     
          echo '<table border="0" cellpadding="4">',"\n";
          // Boucle de fetch.
          while (mysqli_stmt_fetch($requete)) {
    	  //while (mysqli_fetch($requete)) {
     
    		#echo "while (mysqli_stmt_fetch, ";
    		#echo "recherche: ",var_dump($recherche_isbn);
    		#echo "<BR>";
     
     
            $nombre_livres++;
            // Mise en forme des données.
     
     
    		echo "<TR><td>","\n";
     
     
     
    		$req2 = 'SELECT ID  FROM fimotech_affiches WHERE IDFilm='.$ID;
    		$ret2 = mysql_query ($req2) or die (mysql_error ());
    		$id_image = mysql_fetch_row ($ret2);
    		echo '<img src="http://192.168.10.88/filmessai-isbn/apercu.php?id=';
    		echo $id_image[0].'"';
    		echo '/>',"\n";
     
     
    		printf ("ID:%s ISBN:%s Num_sring:%s Num_int:%s Box:%s\n", $ID, $ISBN,$Num_sring,$Num_int,$box);
    		echo "<BR>","\n";
     
    		echo "</td></TR>","\n";
     
          } // while
          // Balise de fermeture de la table HTML.
          echo '</table>',"\n";
          // Si le résultat est vide, afficher un message.
          if ($nombre_livres == 0) {
            $message = 'Aucun livre trouvé.';
          }
        } // if ($requête)
        ?>
        <div>
    		<?php 
    			echo vers_page($message);
    			#echo "<BR>";
    			#echo var_dump($message);
    			#echo "<BR>";
    			#printf ("%s\n", $message);
    		?>
    	</div>
      </body>
    </html>
    D’avance merci de votre aide.

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 341
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 341
    Billets dans le blog
    17
    Par défaut
    Lors de la saisie avec la douchette, les chiffres se mettent bien dans la case recherche mais, la recherche ne s’effectue pas : ça réaffiche la page de base, sans faire de recherche.
    L'appli valorisant le champ du formulaire doit ensuite le soumettre.
    Sinon tu peux peut-être passer le traitement du formulaire en GET et appeler directement la page h**p://192.168.10.88/filmessai-isbn/recherche-isbn.php?recherche=1234567890

  3. #3
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2012
    Messages : 15
    Par défaut
    Salut Séb,

    merci de ta réponse, mais ça ne marche pas non plus...

    En fait je constate que sous IE ça ne marche pas, alors que sous Firefox la saisie se fait correctement.

    Je pense que la douchette à la fin ce la saisie, fait un "enter" clavier, car si je rentre manuellement la recherche et que je ne passe pas, par la bouton de recherche. et que je fait manuellement un "enter" à la fin de la saisie manuelle, J'ai le même phénomène.

    Donc ça doit être lié spécifiquement à IE.

    Quelqu'un à une idée pour contrer ce phénomène ?

Discussions similaires

  1. Gérer une course entièrement sur Excel avec une douchette "codes barre"
    Par Equipassion dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 17/02/2019, 20h28
  2. [Débutant] Faire une liste suggestive lors des saisies avec un comboBox
    Par Alexandre le Grand dans le forum C#
    Réponses: 3
    Dernier message: 29/06/2012, 09h36
  3. [ASP.NET] Douchette " code barre "
    Par kprime1 dans le forum ASP.NET
    Réponses: 12
    Dernier message: 01/04/2007, 01h35
  4. Douchette code-barre CS1504 Symbol - dll csp2
    Par subelrim dans le forum WinDev
    Réponses: 1
    Dernier message: 31/08/2006, 23h29
  5. différencier 2 douchettes code barre
    Par firejocker dans le forum Windows
    Réponses: 2
    Dernier message: 21/12/2005, 10h38

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