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 :

Coder requête préparée [PDO]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 262
    Par défaut Coder requête préparée
    Bonjour,

    Après avoir saisi les bons mots clefs dans recherche ...j'ai réussi sur les bases du tuto de Siddh à lier 2 listes via Ajax.

    J'ai adapté le code pour me connecter en PDO + pour pouvoir utiliser des requêtes préparées....

    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
     
     	require "ConnectPDO.php";
     
    	echo "<select name='livre'>";
     
    		if(isset($_POST["idAuteur"]))
    			{
    				$sql = ("SELECT id,titre FROM livre WHERE idAuteur=".$_POST["idAuteur"]." ORDER BY titre");
    				$stmt = $bdd->prepare($sql);
     
    				$stmt->execute();
     
    				$result = $stmt->fetchAll();
     
    					foreach ($result as $row) 
    						{
    							echo "<option value='".$row["id"]."'>".$row["titre"]."</option>";
    						}
    			}
     
    	echo "</select>";
     
    	?>
    Le code fonctionne mais je n'arrive pas à coder ma requête préparée ??

    Maintenant je vais tenter de lier 3 ou 4 listes...je pense que cela reste le même principe

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

    1 méthode (placeholders anonymes) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	$sql = "SELECT id,titre FROM livre WHERE idAuteur = ? ORDER BY titre";
    	$stmt = $bdd->prepare( $sql );
     
    	$stmt->execute( array($_POST["idAuteur"]) );

    Dernière modification par Invité ; 20/07/2018 à 13h11.

  3. #3
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    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
    <?php
     
    require "ConnectPDO.php";
     
    echo "<select name='livre'>"; // Normalement, c'est plutôt comme ça : echo '<select name="livre">';
     
    	if(isset($_POST["idAuteur"]))
    	{
    		// Parenthèses autour de la requête inutiles
    		// Requête indentée (c'est plus facile à lire donc à déboguer)
    		// Aération du code de la requête (espace après la virgule et autour de = )
    		// Remplacement de $_POST["idAuteur"] par le paramètre nommé.
    		$sql = "
    			SELECT id, titre 
    			FROM livre 
    			WHERE idAuteur = :idAuteur 
    			ORDER BY titre
    		";
    		$stmt = $bdd->prepare($sql);
    		$stmt->bindParam(':idAuteur', $_POST["idAuteur"], PDO::PARAM_INT); // Valorisation du paramètre nommé
    		$stmt->execute();
     
    		$result = $stmt->fetchAll();
     
    		foreach ($result as $row) 
    		{
    			echo "<option value='".$row["id"]."'>".$row["titre"]."</option>";
    		}
    	}
     
    echo "</select>";
    // Une séparation de l'affichage et de la recherche des données serait mieux 
    ?>
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 262
    Par défaut
    Merci pour vos retours rapides...

    je vais corriger et m'approprier les bonnes pratiques...

    je vais également tenter de bien séparer la recherche et l'affichage ...

    Bon journée

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

Discussions similaires

  1. [PDO] Affichage d'une requête préparée
    Par Tchupacabra dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/02/2010, 03h48
  2. [PDO] Requête préparée
    Par Yoshio dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 16/10/2007, 12h07
  3. [PDO] Requête préparée, retour d'erreur à masquer
    Par speedev dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/06/2007, 10h39
  4. [PDO] Problème de requête préparée (à n'y rien comprendre?)
    Par waldo2188 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 20/03/2007, 21h53
  5. [PDO] Ma requêtes préparées me retourne false
    Par jeff_! dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 03/05/2006, 22h07

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