Aide requete [PHP]

Fermé
txiki Messages postés 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 - 17 sept. 2009 à 21:43
Luan1604 Messages postés 130 Date d'inscription dimanche 6 septembre 2009 Statut Membre Dernière intervention 19 octobre 2009 - 21 sept. 2009 à 16:00
Bonjour,

Je viens de faire plusieurs tables des prénoms dont une dédiée pour les saints du jour http://txiki.free.fr/index.php?page=Accueil&lang=Fr OK.

Dans le menu prénoms http://txiki.free.fr/index.php?page=Intro_Prenoms&lang=Fr j'arrive aussi à lister les prénoms Masculins et Féminins en cliquant sur une lettre de l'alphabet juste au dessus. Sauf que là, la liste ne s'arrête pas au caractère choisi mais continue avec le caractère suivant celui sur lequel on a cliqué. OK ?.
Comment faire ? Je vous passerai le code si nécessaire.

Or je voudrais aussi ajouter une recherche en tapant le début d'un prénom et que s'affiche la liste de tous les prénoms proches, masculins ET féminins. Comme ici: https://www.euskaltzaindia.eus/index.php?option=com_ecoeoda&task=bilaketa&Itemid=204&lang=es&query=&mota=izenak (Cliquez sur nombres dans le menu)

Puis-je faire une requete de type "select table_1 and table_2 where id" par exemple ?.
Merci beaucoup de votre aide.

Le bonheur est la seule chose que l'on peut donner sans l'avoir.
A voir également:

2 réponses

Luan1604 Messages postés 130 Date d'inscription dimanche 6 septembre 2009 Statut Membre Dernière intervention 19 octobre 2009 4
17 sept. 2009 à 21:58
Bonjour,

Question 1: réponse

Je pense que LIKE en mysql vous aidera en ce qui concerne la sélection des prénoms par début de lettre...
$requete = "SELECT * FROM prenoms WHERE prenom LIKE '".mysql_real_escape_string($_GET['lettre'])."%'";


Ca va rechercher tout prénom commençant par la lettre spécifié en GET. (Requête à adapter).

Question 2: réponse


Ce que vous cherchez à faire s'appelle une jointure. Ce site vous expliquera comment faire.

https://www.vulgarisation-informatique.com/mysql-select.php


0
txiki Messages postés 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 518
20 sept. 2009 à 22:53
Salut luan1604,

Voici un extrait de la requête :
//================================== 
// requête SQL qui calcule la limite lorsquelle lettre est spécifié 
// En fait on calcule à quelle position se trouve le 1er enregistrement commençant par cette lettre
//=======================================
if (!empty($_GET["lettre"])) 
{
	$lettre = $_GET["lettre"];
	// on compte tous les enregistrements qui se trouvent avant la lettre et c'est tout !
	$select = 'SELECT count(*) FROM prenomsfeminins WHERE lettre <"'.$lettre.'"';
	$result = mysql_query($select,$link)  or die ('Erreur : '.mysql_error() );
	$row = mysql_fetch_row($result);
	$limite = $row[0];
}


Je ne vois pas où mettre ta ligne
LIKE '".mysql_real_escape_string($_GET['lettre'])."%'";

De plus, que je sache, mysql_real_escape_string sert à vérifier la casse d'un mot tapé non ?

Merci encore pour ton aide.

Le bonheur est la seule chose que l'on peut donner sans l'avoir.
0
Luan1604 Messages postés 130 Date d'inscription dimanche 6 septembre 2009 Statut Membre Dernière intervention 19 octobre 2009 4 > txiki Messages postés 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024
21 sept. 2009 à 16:00
Salut !

Il vous suffit de remplacer cette ligne de code:
	$select = 'SELECT count(*) FROM prenomsfeminins WHERE lettre <"'.$lettre.'"';

par celle-ci:
$select = "SELECT count(*) FROM prenomsfeminins WHERE lettre LIKE '".mysql_real_escape_string($_GET['lettre'])."%'";";

if (mysql_num_rows($select) < 0) { echo 'Aucun prénom'; }


Pour que cette remarque marche, il faut que la page ait quelque chose dans ce genre-là:
page.php?lettre=A

Luan.
0
txiki Messages postés 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 518
17 sept. 2009 à 22:24
Merci infiniment pour ta réponse si rapide !
J'essaie demain soir.
@+

Le bonheur est la seule chose que l'on peut donner sans l'avoir.
0