TorTue
"Je sais que je ne sais rien."
Messages : 2 137 Inscrit le 21/05/02
Ville : Saint Martin en Haut (69)
Non connecté
|
|
Posté le 15 mai 2004 - 22 h 15 m 51 s |
|
|
Bonjour à tous !
Problème 1 :
Bon alors je voudrais faire unn affichage séléctif d'une base de données. Je m'explique. J'ai tout une liste de nom dans ma base de données. J'ai également un alphabet d'afficher sur ma page web, et je voudrais que lorque quelqu'un click sur une lettre seul les noms dont la PREMIERE lettre commence par la lettre sélectionnée s'affiche.
Seulement voilà je suis bloquée sur la commande sql à faire.
J'ai essayé (ici j'ai pris pour exemple la lettre A) :
1. SELECT * FROM 'ma_table' WHERE 'mon_champ'='A'
mais ça n'affiche que les noms qui sont exactement A (normal)
puis :
1. SELECT * FROM 'ma_table' WHERE substr(mon_champ,0,1)='A'
la fonction substr n'étant pas reconnu sous mysql
puis :
1. SELECT * FROM 'ma_table' WHERE substring(mon_champ,0,1)='A'
mais il ne trouve jamais rien !
Solution1 :
1. $requete="SELECT * FROM ma_table WHERE mon_champ like 'A%' "; Merci Novo
Problème 2 :
Sur mon alphabet, quand je click dessus, la page se relance mais ça met pas à jour la variable pourtant l'URL en haut change. Elle est du type : http://monsite/index.php?lettre=A
Mais ça garde la lettre à laquelle j'initialise ma variable avec : 1. if(!isset($letter)) {
2. $letter = "B"; }
Ici, $letter restera toujours à B bien que dans l'url ce soit marqué A
Solution 2 :
Il faut utiliser $_GET['letter'] et non $letter (Merci Erel)
Problème 3 :
Lors du premier lancement de la page dans l'URL il n'y a pas par exemple index.php?letter=A mais juste index.php donc ça me dit la première fois :
1. Notice: Undefined index: letter in d:logicielseasyphp1-7wwwfilms sqlindex.php on line 9
Et mes lignes 8-9 sont : 1. if (!isset($letter)) { $letter = "A"; }
2. $letter=$_GET['letter'];
Après un F5, c'est bon y'a plus le message mais j'aimerais qu'il n'y soit pas la première fois non plus.
Solution 3 :
1. if( isset($_GET['letter']) && eregi('^[a-z]{1}$',$_GET['letter']) )
2. $letter = $_GET['letter'];
3. else
4. $letter = 'A'; (Merci Erel)
Et pour mon cas perso : 1. if( isset($_GET['letter']) && eregi('^([a-z0-9]|_ALL){1}$',$_GET['letter']) )
2. $letter = $_GET['letter'];
3. else
4. $letter = 'A';
Problème 4 :
Voilà j'ai un formulaire : 1. <form method=post action=inscr.php>
mais à la place de inscr.php j'aimerais que ça appelle une fonction qui est dans le même fichier php que mon formulaire verif()
Problème 5 :
Je crée une page web avec du code html et php, genre http://membres.lycos.fr/xxx/xxx/accueil.php?name=NOM&prenom=PRENOM
Dans la même page j'utilise un petit bout de code pour écrire dans un fichier texte. Jusque là, aucun problème.
Cependant j'aimerais savoir comment on récupère l'URL courante ?
J'utilise actuellement 1. $spy['host'] = gethostbyaddr($_SERVER['REMOTE_ADDR']); mais ça ne me récupère que /xxx/xxx/accueil.php
Je n'ai pas les paramètres après.
Solution 5 :
Les paramètres c'est $_SERVER['QUERY_STRING'] Merci Erel.
Des idées ?
Merci d'avance
|
|
| |
Message édité 8 fois, la dernière par TorTue le 23 septembre 2004 - 20 h 27. |
| |
http://www.les5elements.com/
|
Novocaine
Novo pour les intimes...
Messages : 3 593 Inscrit le 16/04/02
Ville : Villeurbannne
Non connecté
|
|
Posté le 15 mai 2004 - 22 h 24 m 02 s |
|
|
1. $requete="SELECT * FROM ma_table WHERE mon_champ like 'A%' "
|
|
| |
Message édité 1 fois, la dernière par Novocaine le 15 mai 2004 - 22 h 24. |
| |
Comme le dit si bien Eels
Novocaine for the soul
-------------------------------------
Le punch de Dohko, moi j'aime ça ! ^_^
|
TorTue
"Je sais que je ne sais rien."
Messages : 2 137 Inscrit le 21/05/02
Ville : Saint Martin en Haut (69)
Non connecté
|
|
Posté le 15 mai 2004 - 22 h 29 m 12 s |
|
|
Le 15 mai 2004 à 22 h 24, Novocaine a écrit :
1. $requete="SELECT * FROM ma_table WHERE mon_champ like 'A%' "
|
|
|
| |
http://www.les5elements.com/
|
TorTue
"Je sais que je ne sais rien."
Messages : 2 137 Inscrit le 21/05/02
Ville : Saint Martin en Haut (69)
Non connecté
|
|
Posté le 15 mai 2004 - 22 h 46 m 32 s |
|
|
Le 15 mai 2004 à 22 h 24, Novocaine a écrit :
1. $requete="SELECT * FROM ma_table WHERE mon_champ like 'A%' "
|
J'ai également trouvé :
1. SELECT * FROM ma_table WHERE substrting(mon_champ,1,1) = 'A'
EDIT du premier post pour un deuxième problème !
|
|
| |
http://www.les5elements.com/
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 16 mai 2004 - 00 h 10 m 59 s |
|
|
Le 15 mai 2004 à 22 h 24, Novocaine a écrit :
1. $requete="SELECT * FROM ma_table WHERE mon_champ like 'A%' "
|
et si c'est pas case-sensitive :
Le 15 mai 2004 à 22 h 24, Novocaine a écrit :
1. $requete='SELECT * FROM ma_table WHERE LOWER(mon_champ) like "a%";'
|
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 16 mai 2004 - 00 h 12 m 07 s |
|
|
Problème 2 :
Il faut utiliser $_GET['letter'] et non $letter
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
alitokmen
Think ®
Messages : 3 687 Inscrit le 19/09/02
Ville : Grenoble, France || Ankara, Turquie
Non connecté
|
|
Posté le 16 mai 2004 - 08 h 23 m 57 s |
|
|
Le 16 mai 2004 à 00 h 12, Erel69 a écrit :
Problème 2 :
Il faut utiliser $_GET['letter'] et non $letter
|
Pas obligatoirement... Ça dépend de la config du serveur si register_globals et actif pas besoin
(PS: important: les hébergeurs le mettent à ON généralement!!)
Donc en fait faut faire attention aussi quand on code de ne JAMAIS utiliser des variables en disant que c'est vide pas défaut...
|
|
| |
Message édité 1 fois, la dernière par alitokmen le 16 mai 2004 - 08 h 27. |
| |
S. Ali Tokmen
http://ali.tokmen.com
http://contact.ali.tokmen.com
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 16 mai 2004 - 11 h 09 m 18 s |
|
|
Le 16 mai 2004 à 08 h 23, alitokmen a écrit :
Le 16 mai 2004 à 00 h 12, Erel69 a écrit :
Problème 2 :
Il faut utiliser $_GET['letter'] et non $letter
|
Pas obligatoirement... Ça dépend de la config du serveur si register_globals et actif pas besoin
(PS: important: les hébergeurs le mettent à ON généralement!!)
Donc en fait faut faire attention aussi quand on code de ne JAMAIS utiliser des variables en disant que c'est vide pas défaut...
|
je parle de son cas (car c'est visiblement le problème)
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
alitokmen
Think ®
Messages : 3 687 Inscrit le 19/09/02
Ville : Grenoble, France || Ankara, Turquie
Non connecté
|
|
Posté le 16 mai 2004 - 11 h 44 m 56 s |
|
|
Le 16 mai 2004 à 11 h 09, Erel69 a écrit :
je parle de son cas (car c'est visiblement le problème)
|
Yep.... Yep....
C'était aussi pour parler du reglage register_globals ... enfin pô grave
|
|
| |
S. Ali Tokmen
http://ali.tokmen.com
http://contact.ali.tokmen.com
|
KibitO
Betty Boop ma chérie je t\\\'aime plus que tout !!
Messages : 1 715 Inscrit le 22/02/02
Ville : Chassagny
Non connecté
|
|
Posté le 16 mai 2004 - 13 h 58 m 54 s |
|
|
Le 16 mai 2004 à 11 h 44, alitokmen a écrit :
Le 16 mai 2004 à 11 h 09, Erel69 a écrit :
je parle de son cas (car c'est visiblement le problème)
|
Yep.... Yep....
C'était aussi pour parler du reglage register_globals ... enfin pô grave 
|
C'est le nouveau EasyPHP c ça ? Moi j'utilise aucun des $_GET[] ou $_POST[]...
C'est devenu obligatoire pour les serveurs Free par exemple ? Nan il faut me le dire de suite avant que je retape tout mon code..
|
|
| |
KibitO Piccoloo Porto
Ooooohhhhoooohohohoh I Love U So, Oooooohohohohooohohoooooo I Need You So
(© Wampas)
!! DefraK !!
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 16 mai 2004 - 15 h 03 m 46 s |
|
|
houlà, je te conseille tout de suite d'utiliser les $_GET[] et consorts !
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
KibitO
Betty Boop ma chérie je t\\\'aime plus que tout !!
Messages : 1 715 Inscrit le 22/02/02
Ville : Chassagny
Non connecté
|
|
Posté le 16 mai 2004 - 16 h 01 m 43 s |
|
|
Ah ouais ? Ca risque de créer des problemes par la suite ?
|
|
| |
KibitO Piccoloo Porto
Ooooohhhhoooohohohoh I Love U So, Oooooohohohohooohohoooooo I Need You So
(© Wampas)
!! DefraK !!
|
TorTue
"Je sais que je ne sais rien."
Messages : 2 137 Inscrit le 21/05/02
Ville : Saint Martin en Haut (69)
Non connecté
|
|
|
| |
http://www.les5elements.com/
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 16 mai 2004 - 20 h 55 m 13 s |
|
|
Le 16 mai 2004 à 20 h 52, TorTue a écrit :
PS : Edit du premier post pour Problème n°3 :-P
|
bah je le vois pas
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
TorTue
"Je sais que je ne sais rien."
Messages : 2 137 Inscrit le 21/05/02
Ville : Saint Martin en Haut (69)
Non connecté
|
|
Posté le 16 mai 2004 - 20 h 58 m 36 s |
|
|
Le 16 mai 2004 à 20 h 55, Erel69 a écrit :
Le 16 mai 2004 à 20 h 52, TorTue a écrit :
PS : Edit du premier post pour Problème n°3 :-P
|
bah je le vois pas 
|
2s mes paroles vont plus vite que mon 56k ! ;-)
|
|
| |
http://www.les5elements.com/
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 16 mai 2004 - 21 h 01 m 26 s |
|
|
En passant, ton code ca devrait pas être :
1. if( isset($_GET['letter']) && eregi('^[a-z]{1}$',$_GET['letter']) )
2. $letter = $_GET['letter'];
3. else
4. $letter = 'A';
ps : enlever les '.' autour des accollades bien sûr
au lieu de
1. if (!isset($letter)) { $letter = "A"; }
2. $letter=$_GET['letter'];
|
|
| |
Message édité 2 fois, la dernière par Erel69 le 16 mai 2004 - 21 h 03. |
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
TorTue
"Je sais que je ne sais rien."
Messages : 2 137 Inscrit le 21/05/02
Ville : Saint Martin en Haut (69)
Non connecté
|
|
Posté le 16 mai 2004 - 21 h 18 m 31 s |
|
|
Le 16 mai 2004 à 21 h 01, Erel69 a écrit :
En passant, ton code ca devrait pas être :
1. if( isset($_GET['letter']) && eregi('^[a-z]{1}$',$_GET['letter']) )
2. $letter = $_GET['letter'];
3. else
4. $letter = 'A';
ps : enlever les '.' autour des accollades bien sûr
au lieu de
1. if (!isset($letter)) { $letter = "A"; }
2. $letter=$_GET['letter'];
|
Ton code marche mais il me faut aussi les nombres qui vont de 0 à 9 aussi.
J'ai donc changé en :
1. if( isset($_GET['letter']) && (eregi('^[a-z]{1}$',$_GET['letter'])||eregi('^[0-9]{1}$',$_GET['letter'])||eregi(_ALL,$_GET['letter'])) )
2. $letter = $_GET['letter'];
3. else
4. $letter = 'A';
_ALL étant une variable ne faisant affiché tout les noms.
|
|
| |
http://www.les5elements.com/
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 17 mai 2004 - 01 h 01 m 48 s |
|
|
fait ça alors :
1. if( isset($_GET['letter']) && eregi('^([a-z0-9]|_ALL){1}$',$_GET['letter']) )
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
alitokmen
Think ®
Messages : 3 687 Inscrit le 19/09/02
Ville : Grenoble, France || Ankara, Turquie
Non connecté
|
|
Posté le 17 mai 2004 - 02 h 57 m 52 s |
|
|
Le 16 mai 2004 à 13 h 58, KibitO a écrit :
C'est le nouveau EasyPHP c ça ? Moi j'utilise aucun des $_GET[] ou $_POST[]...
C'est devenu obligatoire pour les serveurs Free par exemple ? Nan il faut me le dire de suite avant que je retape tout mon code..
|
Non c'est l'inverse en fait l'option est généralement mis à on chez tous les hébergeurs, donc faut toujours écrire son code en se basant sur ça
|
|
| |
S. Ali Tokmen
http://ali.tokmen.com
http://contact.ali.tokmen.com
|