Soucis requête mysql : données commençant par la lettre ...
kira9
Messages postés2Date d'inscriptionjeudi 23 avril 2009StatutMembreDernière intervention28 mars 2010
-
27 mars 2010 à 21:06
kira9
Messages postés2Date d'inscriptionjeudi 23 avril 2009StatutMembreDernière intervention28 mars 2010
-
28 mars 2010 à 16:05
bonjour,
voila , j'ai deux pages sur mon site : l'une qui contient l'alphabet avec des liens sur chaque lettres , une autre où je voudrais afficher toutes les données comencant par la lettre sur laquelle j'ai cliqué sur la page precedente
exemple:
sur page1 je clique sur la lettre A la page2 affiche toutes mes donnes commencant par la lettre A
je souhaite egalement afficher le nombre d'entrées correspondant a la requete
voici ce a quoi je suis parvenu :
page1
[page2.php?lettre=a A]
page2
<?php
/* Instanciation de PDO */
try {
$pdo = new PDO('mysql:host=localhost;dbname=nomdemabase', 'root', '');
} catch(PDOException $e) {
echo 'Erreur n°'.$e->getCode().': '.$e->getMessage().'
'."\n";
die();
}
/* Préparation et exécution de la requête */
$sql ("SELECT * FROM 'titre' WHERE SUBSTRING('nom', 0, 1) :lettre ORDER BY 'id' DESC");
$req = $pdo->prepare($sql);
$req->execute(array(':lettre' => $_GET['lettre']));
$req->setFetchMode(PDO::FETCH_OBJ);
/* Nombre de résultats */
$nb = $req->rowCount();
echo 'Il y a '.$nb.' résultat(s).';
/* Affichage des titres */
while($donnees = $req->fetch()) {
echo $donnees->nom;
}
$req->closeCursor();
?>
aucune erreur n'apparait , la page s'affiche correctement
cependant quelle que soit la lettre sur laquelle je clique il est affiché :
Il y a 0 résultat(s).
alors qu'il y a bien , dans ma base , une entrée commençant par cette lettre =/
A voir également:
Soucis requête mysql : données commençant par la lettre ...
kira9
Messages postés2Date d'inscriptionjeudi 23 avril 2009StatutMembreDernière intervention28 mars 2010 28 mars 2010 à 16:05
j'ai finalment resolu le probleme tout seul
pour ceux qui aurons le meme probleme que moi , voici la solution :
<?php
try {
$pdo = new PDO('mysql:host=localhost;dbname=mangabulle', 'root', '');
} catch(PDOException $e) {
echo 'Erreur n°'.$e->getCode().': '.$e->getMessage().'
'."\n";
die();
}
/* Préparation et exécution de la requête */
$sql = ("SELECT * FROM titre WHERE titresm LIKE ? ORDER BY id DESC");
$req = $pdo->prepare($sql);
$req->execute(array($_GET['lettre']."%"));
$req->setFetchMode(PDO::FETCH_OBJ);
/* Nombre de résultats */
$nb = $req->rowCount();
while($donnees = $req->fetch())
{
}
$req->closeCursor();
?>