Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: Toutankharton le le 23-12-2003 a 16:42:09

Titre: trouver la premiere lettre d'un mot
Posté par: Toutankharton le le 23-12-2003 a 16:42:09

Je voudrais trouver la premiere lettree d'un mot et, si c'est A alors faire telle requete, si c'est B alors une autre... bref comme ça pour chaque lettre de l'alphabet, mais a part strpos() qui ne me convient pas, je ne trouve pas... quelqu'un sait comment je pourrais faire ?

Titre: Re:trouver la premiere lettre d'un mot
Posté par: trounday le le 23-12-2003 a 18:50:40


Code:

if(ereg("A","$chaîne"))
{
$requete = "... A ...";
}
elseif (ereg("B","$chaîne"))
{
$requete = "... B ...";
}
elseif (ereg("C","$chaîne"))
{
$requete = "... C ...";
}
elseif...



Moi je vois le truc comme ça mais bon il y a peut-êtr eplus simple, peut-être avec une incrementation de lettre si ça existe mais je ne crois pas, à moins qu'on la créer en attribuant préalablement les lettre au chiffre: a=1 b=2 c=3 ...

Enfin bref voilà je ne sais pas si ça te convient...


Titre: Re:trouver la premiere lettre d'un mot
Posté par: trounday le le 23-12-2003 a 18:54:33

Ou sinon tu peux remplacé
Code:
ereg("A",$chaîne)
par
Code:
strstr ( $chaine, "a")


=> C'est pareil...

Titre: Re:trouver la premiere lettre d'un mot
Posté par: Toutankharton le le 23-12-2003 a 20:42:11

arf :


Code:
Parse error: parse error, unexpected T_IF in g:\program files\easyphp1-7\www\position.php on line 4

Titre: Re:trouver la premiere lettre d'un mot
Posté par: erwinol le le 23-12-2003 a 21:33:04

donne-nous les 5 premières lignes ... histoire qu'on regarde ça

Titre: Re:trouver la premiere lettre d'un mot
Posté par: POde.uk le le 24-12-2003 a 00:42:48

il faut savoir qu'une chaine de caractère peut-être considérée comme un tableau, et donc que pour obtenir une lettre précise dans cette chaîne tu peux utiliser son indice :


Code:

$chaine = "bonjour";
echo $chaine[0]; // renvoie "b"

donc :

if ($chaine[0] == "a") {
...
}

if ($chaine[0] == "b") {
...
}

ou alors :

switch($chaine[0]) {
case "a":
...
break;
case "b":
...
break;
...}




Titre: Re:trouver la premiere lettre d'un mot
Posté par: trounday le le 24-12-2003 a 09:26:05

A la la ce POde quel Winner ^^
Mais est ce que t'as une idée pour une incrémentation de lettre A B C D E...

A+
Trounday

Titre: Re:trouver la premiere lettre d'un mot
Posté par: Toutankharton le le 24-12-2003 a 14:27:44

yes merci PODE le winner :)

Titre: Re:trouver la premiere lettre d'un mot
Posté par: POde.uk le le 24-12-2003 a 14:44:10

Citation de: trounday le le 24-12-2003 a 09:26:05
A la la ce POde quel Winner ^^
Mais est ce que t'as une idée pour une incrémentation de lettre A B C D E...

A+
Trounday


qu'est ce que tu veux dire?

Titre: Re:trouver la premiere lettre d'un mot
Posté par: trounday le le 24-12-2003 a 17:02:14

Je voulais savoir si tu savais comment faire une incrementation avec des lettres A B C D E... ou si du moins c'était possible.
Merci

Titre: Re:trouver la premiere lettre d'un mot
Posté par: POde.uk le le 24-12-2003 a 19:00:55

désolé je vois vraiment pas ce que tu veux dire lol

tu veux incrémenter quoi? pour faire quoi?

Titre: Re:trouver la premiere lettre d'un mot
Posté par: trounday le le 24-12-2003 a 23:28:02

Si tu lis plus haut, j'ai proposé à Toutankharton de faire une boucle pour chacune des lettres en leurs attribuant une valeur numerique jusqu'à 26, avec A=1 B=2 etc... et donc créer une incrementation de lettre. Et je voulais savoir si tu savais comment faire si cela était possible !

Je sais pas si t'auras mieu compris mais je ne peux pas faire mieu,

Merci

Titre: Re:trouver la premiere lettre d'un mot
Posté par: POde.uk le le 25-12-2003 a 00:13:02

mais pourquoi tu voudrais faire ça?
parce que sinon oui c'est facile :

$bla = ".abcdefghijklm.....";

et alors $bla[1] c'est bien A, $bla[2] c'est B

si tu veux t'embêter tu peux faire toi même un tableau avec $tableau[a] = 1, $tableau = 2, mais ça revient au même

ou alors $a = 1; $b = 2;
mais ca c'est très con :)

je vois pas ce que tu veux en faire en fait :)

Titre: Re:trouver la premiere lettre d'un mot
Posté par: trounday le le 25-12-2003 a 11:01:19

Je ne veux rien faire de spécial je voulais juste trouver un truc pour simplifier la tache de Toutankharton avec une boucle pour ne pas qu'il tape une requette pour chaque lettre.
Bon après est ce que c'est efficace c'est à toi de voir.
Merci pour le coup de patte.


Code:

$chaine = "bonjour";
echo $chaine[0];

$bla = ".abcdefghijklm.....";

$i = 1;

while($chaine[0] == "$bla[$i]")
{
$requete= mysql_query()"SELECT * FROM table WHERE lettre= '$bla[$i]' ";

$i++;
}

Titre: Re:trouver la premiere lettre d'un mot
Posté par: POde.uk le le 25-12-2003 a 15:36:06

ah ok :)

mais pour ce que tu veux faire :


Code:

$requete= mysql_query("SELECT * FROM table WHERE lettre= '$bla[$i]' ORDER BY lettre ASC");


;)


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.