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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Affichage d'éléments d'une base de données en fonction d'un champ


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    graphiste
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : graphiste

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Points : 30
    Points
    30
    Par défaut Affichage d'éléments d'une base de données en fonction d'un champ
    Bonjour à Tous,

    Je suis débutant et je recherche à afficher des informations de ma base de données en fonction d'un champ.

    j'ai donc 2 fichiers le premier avec mon formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <!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" lang="fr" xml:lang="fr" ><meta http-equiv="Content-Type" content="text/html; charset=utf8"/>
     
    <form method="get" action="bdd.php">
     
    <label for="lof"><strong>LOF du chien</strong> :</label>
    			<input type="text" name="lof" /><br /><br />
    			<input type="submit" value="Rechercher le chien" />
    </form>	
    </html>

    Et le deuxième avec ma requête



    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
    <?php
        $host_name  = "******";
        $database   = "******";
        $user_name  = "******";
        $password   = "******";
     
        $connect = mysqli_connect($host_name, $user_name, $password, $database);
        if (mysqli_connect_errno())
        {
        echo "La connexion au serveur MySQL n'a pas abouti : " . mysqli_connect_error();
        }
    ?>
     
     
     
        <?php
     
    $lof = $_GET['lof'];
    $reponse = mysql_query("SELECT * FORM Chien WHERE LOF like \"%\"'$lof'\"%\";");
    $donnees = mysql_fetch_array($reponse);
     
    ?>
    Nom:<?php echo $donnees['NOM'];?>
     
    <?php
     
    mysql_close(); 
    ?>
    Mais rien n'apparaît sur ma page

    Merci d'avance pour votre aide

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

    tu mélanges mysql_ et mysqli_...

    mysql_ est OBSOLETE, et mysqli_ est... pas top pour les requêtes préparées.

    Je te conseille vivement l'utilisation de PDO pour les interactions avec la BdD.




    Et tant qu'à bien débuter :


    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <!doctype html>
    <html lang="fr">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
     
    </body>
    </html>

    Concernant le label : for="idlof" --> id="idlof"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <label for="idlof"><strong>LOF du chien</strong> :</label>
    			<input id="idlof" type="text" name="lof" />
    Dernière modification par Invité ; 13/11/2015 à 18h41.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Ca ressemblerait à ça :

    Fichier _connexion.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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?php
    // --------------------------------------------------------------
    // Paramètres de connection à la Base de Données sur le serveur
    // --------------------------------------------------------------
    	$pdo_conn = array();
    	$pdo_conn['hostname']	= 'localhost';		// voir hébergeur ou "localhost" en local
    	$pdo_conn['database']	= 'ma_base_lof'; 	// nom de la BdD
    	$pdo_conn['username']	= 'root';			// identifiant "root" en local
    	$pdo_conn['password']	= '';				// mot de passe (vide en local)
    // ------------------------
    // connexion à la Base de Données
    try {
    	// chaine de connexion (DSN)
    	$pdo_conn['strConn'] 	= 'mysql:host='.$pdo_conn['hostname'].';dbname='.$pdo_conn['database'];
    	$pdo_conn['extraParam']	= array(
    							PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,		// rapport d'erreurs sous forme d'exceptions
    							PDO::ATTR_PERSISTENT => true, 						// Connexions persistantes
    							PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"	// encodage UTF-8
    							);
    	// Instancie la connexion
    	$pdo = new PDO($pdo_conn['strConn'], $pdo_conn['username'], $pdo_conn['password'], $pdo_conn['extraParam']);
    }
    catch(PDOException $e){
    	$msg = 'ERREUR PDO dans ' . $e->getFile().' L.' . $e->getLine().' : ' . $e->getMessage();
    	die($msg);
    }
    // ------------------------
    	$pdo_conn = array();	// on vide
    // --------------------------------------------------------------
    Au début des fichiers les fichiers :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    include('_connexion.php');
    ?>
    Traitement, avec requête PDO préparée :
    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
    <?php
    $lof = $_GET['lof'];
    // -------------------------
    // requete : lof
    	$lof_query = "SELECT NOM ".
    		" FROM Chien ".
    		" WHERE LOF like :lof;";
      try {
    	$pdo_select = $pdo->prepare($lof_query);
    	$pdo_select->execute( array(
    		':lof' => '%'.$lof.'%'
    		));
    	$lof_nombre = $pdo_select->rowCount();
    	$lof_rowAll	= $pdo_select->fetchAll();
      } catch (PDOException $e) { echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }
    // -------------------------
    if($lof_nombre>0) {
    	// boucle pour lister
    	foreach ($lof_rowAll as $lof_row)
    	{
    		echo '<p>Nom : '.$lof_row['NOM'].'<p>';
    	}
    } else {
    		echo '<p>Rien trouvé...<p>';
    }
    ?>

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    graphiste
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : graphiste

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Points : 30
    Points
    30
    Par défaut Merci
    Merci beaucoup pour les explications ainsi que la solution
    Rapide, clair et précis
    encore merci

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    graphiste
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : graphiste

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Points : 30
    Points
    30
    Par défaut Une autre question
    J'ai une autre petite question,

    je voudrais rajouter en dessous la date de naissance qui agit sur ['DNAIS'] et ['SEX']

    en fait la condition serait

    si ['SEX'] = M alors afficher Né le : ['DNAIS']
    et si ['SEX'] =F alors afficher Née le : ['DNAIS']

    De plus sur ma base de données la date de naissance est au format text (ex: 31122012), est ce que je dois la mettre en format date pour avoir 31-12-2012?

    Merci pour votre aide précieuse

  6. #6
    Invité
    Invité(e)
    Par défaut
    1/ modification de la requete

    2/ condition à l'affichage

    3/ il serait préférable d'enregistrer en BdB les dates au format DATE.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    graphiste
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : graphiste

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    Donc modification de la requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $lof_query = "SELECT NOM, DNAIS, SEX ".
    		" FROM Chien ".
    		" WHERE LOF like :lof;";
    et pour la condition à l'affichage
    il faut If et elseif?

  8. #8
    Invité
    Invité(e)
    Par défaut
    Tout à fait.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    graphiste
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : graphiste

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    Je crois qu'il faut que je détermine ma variante $sex ? mais comment ?
    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
    <?php
    include('connexion.php');
    ?>
    <?php
    $lof = $_GET['lof'];
    // -------------------------
    // requete : lof
    	$lof_query = "SELECT NOM, AFF, DNAIS, SEX ".
    		" FROM Chien ".
    		" WHERE LOF like :lof;";
      try {
    	$pdo_select = $pdo->prepare($lof_query);
    	$pdo_select->execute( array(
    		':lof' => '%'.$lof.'%'
    		));
    	$lof_nombre = $pdo_select->rowCount();
    	$lof_rowAll	= $pdo_select->fetchAll();
     
      } catch (PDOException $e) { echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }
    // -------------------------
    if($lof_nombre>0) {
    	// boucle pour lister
    	foreach ($lof_rowAll as $lof_row)
    	{
    		echo '<p><strong>'.$lof_row['NOM'].' '.$lof_row['AFF'].'</strong><p>';
     
    	}
    } else {
    		echo '<p>Rien trouvé...<p>';
    }
     
    ?>
    <?php
    if($sex=='M') {
    	echo '<p>N&eacute; le :'.$lof_row['DNAIS'].'<p>';
    	}
    	elseif($sex=='F') {
    	echo '<p>N&eacute;e le :'.$lof_row['DNAIS'].'<p>';
    	}
     
    ?>

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    graphiste
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : graphiste

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    Je crois qu'il me manque quelque chose dans ma requête

  11. #11
    Invité
    Invité(e)

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    graphiste
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : graphiste

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    Bonsoir, merci de votre réponse,
    Je ne comprends pas par contre ou je dois le placer
    MErci

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    graphiste
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : graphiste

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    Merci encore,

    je n'ai pas assez réfléchi, je viens de trouver c'est à la place de mon $sex
    Merci, merci, merci pour votre patience et merci pour vos liens très instructifs
    bonne soirée à vous

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/09/2014, 10h39
  2. Réponses: 8
    Dernier message: 27/03/2011, 10h54
  3. Réponses: 4
    Dernier message: 18/08/2008, 13h44
  4. insérer des élément dans une base de donné
    Par wiss20000 dans le forum JDBC
    Réponses: 5
    Dernier message: 01/03/2007, 15h49
  5. [MySQL]Affichage d'image depuis une base de données
    Par Sofute dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 20/02/2007, 15h43

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