Aller au menu - Aller au contenu

PDO : Interface d'accès aux BDD

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page Précédente  1  2  3 
Pseudo Commentaire
Page Précédente  1  2  3 
Hors ligne coolfarmer # Posté le 24/11/2011 à 08:46:15
Avatar

J'aimerais apporter une petite information supplémentaire concernant les requêtes préparés avec les marqueurs. Pour une manière plus simple et plus claire dans votre code, je vous propose celle-ci :

Code : PHP
1
2
3
4
5
6
7
8
<?php
$requete_prepare_1 = $connexion->prepare("SELECT identifiant FROM membres WHERE ID_membre = :id"); // on prépare notre requête
$requete_prepare_1->bindValue(':id', 1, PDO::PARAM_INT);
$requete_prepare_1->execute();

$lignes=$requete_prepare_1->fetch(PDO::FETCH_OBJ);
echo $lignes->identifiant.'<br />';
?>


bindValue permet de proposer des marqueurs qui n'ont pas besoin de respecter l'ordre dans lequel vous les placez. ;)

Projet-TP.com - La Simulation de Travaux Publics et Bâtiments!
Image utilisateur

Imaginez ... vous devenez propriétaire d'une entreprise de Bâtiment et de Travaux Publics! Vous devez réaliser des projets proposés par les communes de votre département, avec vitesse, efficacité et qualité vous aurez à réaliser ceux-ci dans les plus brefs délais ! C'est maintenant possible avec Projet-TP, gérez du mieux possible votre entreprise BTP afin de devenir l'un des plus grands entrepreneurs.
 
Hors ligne HBLoK # Posté le 04/05/2012 à 16:25:47
Je suis un Un pas un Zéro
Avatar
Flux RSS

Ville : Taza
Pays : Maroc
Études : ISTA ALHOCEIMA

Bonjour,
Y a un petit truc que j'arrive pas à comprendre.
Mon problème c'est que je veux afficher les données d'une table mais ça ne m'affiche que le dernier enregistrement de la table.
Voici le code en question :
Code : PHP
 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
<?php
$PARAM_hote='localhost'; // le chemin vers le serveur
$PARAM_port='3306';
$PARAM_nom_bd='blabla'; // le nom de votre base de données
$PARAM_utilisateur='root'; // nom d'utilisateur pour se connecter
$PARAM_mot_passe=''; // mot de passe de l'utilisateur pour se connecter
$connexion = new PDO('mysql:host='.$PARAM_hote.';port='.$PARAM_port.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe);
?>
<?php
$sql = $connexion->prepare('SELECT * FROM ca_produit');
$sql -> execute();
while ($lignes = $sql -> fetch(PDO::FETCH_OBJ)) 

{
	$id = $lignes ->id;
    $titre = $lignes -> titre; // récupération de la valeur contenu dans la ligne 'titre'
	$description = $lignes ->description;
    
    
}
?>
 

        <h2><a href="produit_details.php?id=<?php echo $id; ?>"><?php echo $titre; ?></a></h2>
<div class="star"></div>
        <p><?php echo $description; ?></p>

//et là encore je veux afficher le 2eme enregistrement dans la table mais ça m'affiche toujours le dernier
 <h2><a href="produit_details.php?id=<?php echo $id; ?>"><?php echo $titre; ?></a></h2>
<div class="star"></div>
        <p><?php echo $description; ?></p>


Merci d'avance.
 
Hors ligne Raakz # Posté le 15/05/2012 à 22:03:36
Apprendre après avoir appris
Avatar

Études : Exia.cesi Pau

@HBLoK : C'est normal puisque ton code php s'exécute avant le html du dessus. Lorsque tu fais ton while, tu réattribue à chaque passage la valeur des variables (id, titre, description).
Donc la dernière valeur attribuée à tes variables est bien évidemment celle du dernier passage de ton while.
Si tu veux afficher toutes les données, il faut mettre ton code html dans ton while ;)

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<?php
while ($lignes = $sql -> fetch(PDO::FETCH_OBJ)) 

{
    $id = $lignes ->id;
    $titre = $lignes -> titre; // récupération de la valeur contenu dans la ligne 'titre'
    $description = $lignes ->description;
    
    echo'
        <h2><a href="produit_details.php?id='.$id.'">'.$titre.'</a></h2>
        <div class="star"></div>
        <p>'.$description.'</p>';
}
?>


En espérant t'avoir aidé ;)

PS: PDO > All

Raakz.com, mon site personnel
Développeur Web et Logiciel indisponible
Batch, C, C++, C#, Java, HTML/CSS, PHP, Javascript
 
Hors ligne kenny61 # Posté le 15/05/2012 à 23:21:00
Bazinga !
Avatar

Avis : Très bon

Simple et Efficace, après cette lecture je peux démarrer PDO en débutant averti ! Merci

Image utilisateur
 
Pour accéder à cette section
Connectez-vous !
connexion_rpx