Une recherche un peu particulière

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Une recherche un peu particulière

par Sebe » 02 nov. 2007, 09:51

Oups encore une fois !

par zeus » 02 nov. 2007, 08:58

Modération :
Sebe, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

par Sebe » 02 nov. 2007, 00:40

Bon et bien voilà ce que cela donne en code :
<?php 
$ascii = 91;
$link .= '&bout=';
for($i = 65; $i != $ascii; $i++) {
  echo '<a href = "' . $link . chr($i) . '" title = "' . chr($i) .'">' . chr($i);
  if ($i < 90) {
    echo ' - ';
    }
  }  
?>
Merci pour tout

par Sebe » 02 nov. 2007, 00:11

Salut,

J'ai trouvé un morceau de code qu'une personne avait utilisée
echo "<a href='".$seflink."' title='".chr(65)."'>".chr(65)."</a>"
pour avoir un 'A' ... il ne me reste plus qu'à faire une boucle et le tour est joué !

C'est un peu tiré par les cheveux, non ?

Merci de vos lumières

par Sebe » 01 nov. 2007, 23:54

Ok c'est bon !
Grâce à votre aide j'ai fait ceci
qui fonctionne comme je l'espérais.

Pour le reste, n'y a-t-il rien qui génère une liste alphabétique (A - B - C - D - E - F - G ...) pour donner en cette possibilité de recherche sans devoir encoder
<a href = "' . $link . '&bout=' . 'A' . '">' . 'A';?>
pour chacune des lettres de l'alphabet ?

Merci

par Sebe » 01 nov. 2007, 14:13

J'essaye cela dès que possible car pour l'instant je n'ai plus accès à mon serveur ... :roll:

par jpaul » 01 nov. 2007, 13:31

$bout_de_nom = "ren";

SELECT * FROM table WHERE nom LIKE '%".$bout_de_nom."%'
comme ça ?

Sinon, tu peux utiliser le SOUNDLIKE, c'est pas mal, aussi.
Exactement :D
Là ca va te sortir tout les noms qui contiennent $bout_de_nom quelque soit la position.
Si tu ne veux que les noms qui commencent par $bout_de_nom : tu enlèves le premier % :
$req="SELECT * FROM table WHERE nom LIKE '".$bout_de_nom."%'"

par mcorgnet » 01 nov. 2007, 12:41

$bout_de_nom = "ren";

SELECT * FROM table WHERE nom LIKE '%".$bout_de_nom."%'
comme ça ?

Sinon, tu peux utiliser le SOUNDLIKE, c'est pas mal, aussi.

par Sebe » 01 nov. 2007, 12:29

Salut,
Il me semble que le plus simple serait d'utiliser une base de données non ?
La liste de nom sort bien d'une base de données. Affiché ainsi cela me paraît long alors j'ai pensé faire une requête spéciale qui autoriserait une partie du nom pour retrouver la personne.

J'ai aussi pensé à classer par ordre alphabétique et faire la requête en conséquence.

Dans les 2 cas (que je voudrais exploiter pour donner le choix à l'utilisateur), je ne sais pas comment m'y prendre !

Merci pour ton intervention

par jpaul » 01 nov. 2007, 11:39

Bonjour,

Il me semble que le plus simple serait d'utiliser une base de données non ?

Autrement, il faut gérer un index alphabétique à mettre à jour à chaque changement :
- ça peut être un index global : l'adresse de chaque article dans le fichier
- ou alors un index par lettre pour réduire la mise à jour (index correspondant à la première lettre du nom)
Avec ça, on peut faire une recherche dicotomique.

Il y a probablement d'autres solutions.

Une recherche un peu particulière

par Sebe » 01 nov. 2007, 00:37

Bonjour,

Je suis occupé de coder un système de classement où l'on y trouve une liste de nom de personne ... pour l'heure, il y a plus de 5000 entrées (et l'on y retrouve difficilement quelqu'un) mais il risque d'en avoir beaucoup plus plutard !

Voyons la page ici

Je voudrais y proposer de système pour retrouver une personne :
- dans un champ texte, cela ne devrait pas trop poser de problème pour un nom entier mais j'aimerai qu'il soit proposer plusieurs nom pouvant correspondre si l'utilisateur mets par exemple quelques lettres (Ex pour Renard, il aurait mis Ren -> Renard, Renaud, Rentier, etc)
- Faire une liste alphabétique (n'y a-t-il pas un autre moyen que d'encoder chacune des lettres ?) qui me renvoie vers la liste des noms commençant par la lettre sélectionnée

Merci pour vos conseils, idées, ... que je pourrais exploiter