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 :

Laisser afficher la requete php MySql sur la page. Ne pas l'effacer après nouvelle requete.


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Septembre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2019
    Messages : 3
    Par défaut Laisser afficher la requete php MySql sur la page. Ne pas l'effacer après nouvelle requete.
    Bonjour, j'ai une base de données MySQL contenant 1 table et 3 champs.
    Dans ma page Php, j'ai un champ de recherche qui va permettre d'aller chercher l'information saisie dans ma table et l'afficher sous forme de tableau sur la page.
    Dans mon champ de recherche, je saisie la marque et cela me retourne l'information saisie + la désignation et le prix. Jusqu'ici je n'ai pas de probleme, tout fonctionne.
    Cependant, à chaque fois que je tape une valeur dans le champ de recherche, la précédente requete est effacée au profit de la nouvelle saisie.
    J'aimerais pouvoir afficher toutes les requetes effectuées sur le bouton recherche dans la page sans qu'elles s'effacent. Est-ce que cela est possible?
    Voici ma page et 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
     
    	<form action="<?php echo $_SERVER['PHP_SELF']; ?>"  method="post" name="monform" id="monform" >
        <input name="requete" type="text" id="chpreq" />
        <button>ok</button>
    	</form>
    	<?php
    if(isset($_POST['requete']) && $_POST['requete'] != NULL) // Verif existence POST.
    {
    mysql_connect('localhost','root','');
    mysql_select_db('mabase'); // on se connecte. 
    $requete = htmlspecialchars($_POST['requete']); 
    $query = mysql_query("SELECT * FROM matable WHERE brand LIKE '%$requete%' ") or die (mysql_error()); 
    $nb_resultats = mysql_num_rows($query); // compte les résultats
    if($nb_resultats != 0) // si le nombre de résultats est supérieur à 0, on continue
    {
     
    while($donnees = mysql_fetch_array($query)) // on fait un while pour afficher la liste des fonctions trouvées
    {
    	echo "<table>";
    echo "<tr><td>";
     echo $donnees['designation'];
     echo "</td><td>" ;
     echo $donnees['brand'];
     echo "</td><td>";
     echo $donnees['price']; echo "Euro";
     echo "</td><td>";
    	echo "</table>";
    }
    ?>
    Merci !
          <?php
    } // Fini d'afficher les résultats !
    else
    { // on poursuit
    ?>
     
    Vous avez tapez "<?php echo $_POST['requete']; ?>", ceci n'est pas une marque connue.
        <?php
     
    }// 
    mysql_close(); // on ferme mysql
    }
    else
    { //  
    ?>
        Le champ est vide. Veuillez remplir le champ.
     
        <?php
    }
    // fin
    ?>
    Merci d'avance pour votre aide.
    Eric.

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 515
    Par défaut
    Saut,

    Oui ce que tu demandes est bien possible (avec AJAX), mais avant, il faut utiliser l'api mysqli ou bien mieux PDO, parce que mysql est obsolète et ne devrait plus être utilisée.

  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Septembre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2019
    Messages : 3
    Par défaut
    Bonjour Toufik83 , merci d'avoir pris le temps de répondre.
    mon application est locale, donc meme si MySQL est obsolete, ce n'est donc pas important mais j'ai tout de meme suivi tes conseils et j'ai testé l'exercice proposé sur ce lien : https://www.developpez.net/forums/bl...pdo-soupe-lit/ mais cela ne fonctionne pas. J'obtiens cette erreur "Parse error: syntax error, unexpected '[' in C:\wamp\www\monappli\db_mysql.php on line 12 ", du coup cela ne m'aide pas vraiment à avancer dans mon projet.
    Voici ma config Wamp:
    Version de PHP:
    5.3.4
    Version de MySQL:
    5.1.53
    Version de Apache:
    2.2.17

    Pouvez-vous m'éclairer?
    Merci.
    Eric.

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

    1- tu peux enregistrer tous les résultats dans une variable de SESSION :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php if( empty(session_id()) ){ session_start(); }
    $_SESSION['recherche'] = array();
    .

    A chaque recherche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['recherche'][] = .......;
    Affichage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach( $_SESSION['recherche'] as $recherche )
    {
    ...
    }
    + un bouton "Effacer toute la recherche" ->
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unset($_SESSION['recherche']);
    2-
    Citation Envoyé par EPaulette Voir le message
    ...J'obtiens cette erreur "[I]Parse error: syntax error, unexpected '['
    C'est dû à ta version de PHP (5.3) qui est trop faible.

    On définit un array avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $array = array(
        "foo" => "bar",
        "bar" => "foo",
    );
    Mais depuis PHP 5.4, on peut écrire avec des crochets [] :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php // depuis PHP 5.4
    $array = [
        "foo" => "bar",
        "bar" => "foo",
    ];
    CONSEILS : tu devrais mettre à jour ta version de WAMPSERVER.

    Quant à l'extension mysql_, elle est OBSOLETE depuis PHP 5.5, et supprimée avec PHP 7.
    Si tu ne veux pas être toi-même obsolète, tu devrais vraiment utiliser les méthodes modernes !
    Dernière modification par Invité ; 29/09/2019 à 18h18.

  5. #5
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 515
    Par défaut
    Salut,

    Montre-nous cette ligne 12 de ton nouveau code, c'est une erreur de syntaxe.

  6. #6
    Invité
    Invité(e)
    Par défaut
    @Toufik83
    C'est la ligne 12 du code de connexion du tuto.

    Et j'ai expliqué pourquoi : array défini par des crochets [], alors qu'il est en PHP 5.3.

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/01/2010, 11h52
  2. [MySQL] afficher contenu d'une table sur une page php
    Par naazih dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/05/2008, 08h02
  3. [MySQL] Installation PHP/MySQL sur serveur 2003
    Par jacques9000 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/01/2008, 14h13
  4. [Tableaux] Affiche table Mysql sur la page web
    Par naouah dans le forum Langage
    Réponses: 2
    Dernier message: 29/04/2007, 21h59
  5. Réponses: 4
    Dernier message: 19/04/2007, 01h33

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