Logo du forum
 

Forum TT-Hardware

| Inscription | | Recherche | | FAQ | | Accueil | | Liste des membres |
| Calendrier |
 
Vous n'êtes pas identifié! [Connexion] ou [Inscription] Forum » Programmation » [SQL / PL-SQL / SGBD] » requette sql
Login Mot de passe

1 visiteurs sur ce topic (0 membre(s), 1 invité(s) )


Auteur
Sujet : requette sql
Keanu
Sage
Membre # 4886

 Avatar du membre
Lieu : Namur

Messages :
1771 (0.78 par jour)




Message du 16-07-2006 @ 11:39   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   


Salut,

j'ai encore besoin de votre aide (béni celui qui a eu l'idée de ce forum) :)

je ne me souviens plus de la requette exacte pour :

faire une "selection" dans une table des éléments commançant par une lettre définie ????

('SELECT * FROM personnels WHERE nom="a" ORDER BY nom';)

en plus que la lettre soit en minsuscule ou majuscule....

Merci à vous tous


----------
Laptop : Dell Inspiron 8200 P4M 1.6 - 512Mo - 60Go - DVD+-RW - Ubuntu ---
Desktop : Amd Sempron 3000+ - 1Go - 160Go - DVD+-RW - Win XP --- Mess with the best or die like the rest
- Haut de page -
Joufflu
Sage
Membre # 14503

 Avatar du membre
Lieu : Caen

Messages :
1187 (0.73 par jour)


Score :

Message du 16-07-2006 @ 11:44   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

Ce serait avec les expressions reguilières :

SELECT * FROM personnel WHERE nom REGEXP "^[aA].*"

Sans regexp : SELECT * FROM personnel WHERE nom LIKE "a%"
Mais dans ce cas, je ne sais pas certain que seuls les nom qui commencent par a ou A sortent de la base :s

[message édité le 16-07-2006 @ 11:46 Par Joufflu]
----------
HP NC8430 - CoreDuo 1.83GHz - 2x1Go DDR2 667 - X1600 256Mo - 15.4" WXGA - Seagate 7200.2 200Go - Bluetooth 2.0 et Gigabit Ethernet
IBM ThinkPad X23 - P3M 866 Mhz - 256Mo PC133 - 12" XGA - Hitachi DK23EA 40 Go - Win XP Pro SP1 - PCMCIA WiFi 3Com b/g XJACK
Altec Lansing ACS 621 - Sennheiser PMX 60 - Smartphone : HTC Touch WM6
-> Test - Sagem PVR 66160T Decodeur TNT HDD 160Go
-> Gestion de cave a vin en ligne ( gratuit ) : Votre Cave
- Haut de page -
Keanu
Sage
Membre # 4886

 Avatar du membre
Lieu : Namur

Messages :
1771 (0.78 par jour)




Message du 16-07-2006 @ 12:05   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

je vais mettre ça dans mon code!!!

j'aivais oublié les expression régulieres !!!


merci bcp


----------
Laptop : Dell Inspiron 8200 P4M 1.6 - 512Mo - 60Go - DVD+-RW - Ubuntu ---
Desktop : Amd Sempron 3000+ - 1Go - 160Go - DVD+-RW - Win XP --- Mess with the best or die like the rest
- Haut de page -
Soulmanto
Codeur du forum
Membre # 5373

 Avatar du membre
Lieu : Lille

Messages :
12837 (5.72 par jour)


Score :

Message du 16-07-2006 @ 12:27   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

Selon le type de champ et de table, une requête texte peut être sensible à la casse...

types de champs sensibles à la casse :
CHAR
VARCHAR
TINYBLOB
BLOB
MEDIUMBLOB
LONGBLOB

Types insensibles à la casse :
TINYTEXT
TEXT
MEDIUMTEXT
LONGTEXT

Mais pour que cette sensibilité à la casse prenne effet, il faut affecter un charset à la colonne, par exemple: "latin1_swedish_ci".


----------
Core 2 Duo E6750 2,66 GHz | Asrock Conroe 1333 D667 | 2 Go DDR-II 667 | GeForce 8800 GT 512 Mo | Acer X192W (qui marche bien, sisi spook' :p )
Dell Inspiron 6400 | Core2Duo T5500 | 1 Go DDR-II | ATI X1300 128 Mo

Enfin!! 300 au bowling sur Wii Sports :classe:
- Haut de page -
Keanu
Sage
Membre # 4886

 Avatar du membre
Lieu : Namur

Messages :
1771 (0.78 par jour)




Message du 16-07-2006 @ 12:42   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

Jai un prob pour inserer l'expression réguliere dans mon code,

en faire, je voudrais lorsque l'on clic sur le lien A avoir la table personnels qui n'affiche que les nom en A
si l'on clic si B ......................... etc

mon code va p-e vous sembler bizarre mais c'est mon mien :D

je dois faire des case
et je dois faire des if pour voir le niveau d'acces, car tous le monde ne peut pas afficher toutes les info...

je bloque dans le lien où j'ai membre.php?tri=????????&choix_............ cas suivant le lien il doit etre A ou B .....
ainsi qu'a $retour = mysql_query('SELECT * FROM personnels WHERE actif="y" AND nom=????????? ORDER BY nom';);



voivi le code :

// fonctionne pas !!!
case 'liste_personnels':
echo 'A ';
echo 'B ';
echo 'C ';
echo 'D ';
echo 'E ';
$retour = mysql_query('SELECT * FROM personnels WHERE actif="y" AND nom=????????? ORDER BY nom';);
echo '<table border="1">';
echo '<tr>';
if ($_SESSION['niveau'] == '2';)
{
echo '<td>Action<td>';
echo '<td>Login<td>';
echo '<td>Nom<td>';
echo '<td>Prénom<td>';
echo '<td>Genre<td>';
echo '<td>Date de naissance<td>';
echo '<td>E-Mail<td>';
echo '<td>Numéro de téléphone<td>';
echo '<td>Numéro de GSM<td>';
}
if ($_SESSION['niveau'] == '5';)
{
echo '<td>Action<td>';
echo '<td>ID<td>';
echo '<td>Login<td>';
echo '<td>Nom<td>';
echo '<td>Prénom<td>';
echo '<td>Genre<td>';
echo '<td>Date de naissance<td>';
echo '<td>Mot de passe<td>';
echo '<td>E-Mail<td>';
echo '<td>Numéro de téléphone<td>';
echo '<td>Numéro de GSM<td>';
echo '<td>Date d'entrée dans l'entreprise<td>';
echo '<tr>';
}

while ($donnees = mysql_fetch_array($retour))
{
if ($_SESSION['niveau'] == '2';)
{
echo '<tr>';
echo '<td>Edition<td>';
echo '<td>' . $donnees['login'] . '<td>';
echo '<td>' . $donnees['nom'] . '<td>';
echo '<td>' . $donnees['prenom'] . '<td>';
echo '<td>' . $donnees['genre'] . '<td>';
echo '<td>' . $donnees['date_nai'] . '<td>';
echo '<td>' . $donnees['adr_mail'] . '<td>';
echo '<td>' . $donnees['num_tel'] . '<td>';
echo '<td>' . $donnees['num_gsm'] . '<td>';
echo '<tr>';

}
if ($_SESSION['niveau'] == '5';)
{
echo '<tr>';
echo '<td>Edition<td>';
echo '<td>' . $donnees['id'] . '<td>';
echo '<td>' . $donnees['login'] . '<td>';
echo '<td>' . $donnees['nom'] . '<td>';
echo '<td>' . $donnees['prenom'] . '<td>';
echo '<td>' . $donnees['genre'] . '<td>';
echo '<td>' . $donnees['date_nai'] . '<td>';
echo '<td>' . $donnees['pass'] . '<td>';
echo '<td>' . $donnees['adr_mail'] . '<td>';
echo '<td>' . $donnees['num_tel'] . '<td>';
echo '<td>' . $donnees['num_gsm'] . '<td>';
echo '<td>' . $donnees['date_entree'] . '<td>';
echo '<tr>';
}
}
break;
----------
Laptop : Dell Inspiron 8200 P4M 1.6 - 512Mo - 60Go - DVD+-RW - Ubuntu ---
Desktop : Amd Sempron 3000+ - 1Go - 160Go - DVD+-RW - Win XP --- Mess with the best or die like the rest
- Haut de page -
Joufflu
Sage
Membre # 14503

 Avatar du membre
Lieu : Caen

Messages :
1187 (0.73 par jour)


Score :

Message du 16-07-2006 @ 13:01   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

C'est la requete qui ne va pas :
WHERE actif="y" AND nom=????????? ORDER BY nom
il faut :
WHERE actif="y" AND nom REGEXP "^$tri.*$" ORDER BY nom
ou meme :
WHERE actif="y" AND nom REGEXP "^$tri" ORDER BY nom ( il me semble )

Mais cette méthode entraine une faille ( l'utilisateur peut modifier la requete SQL )
il serait donc bon d'appliquer une coupure de la variable $tri pour ne garder que le premier caractère.
----------
HP NC8430 - CoreDuo 1.83GHz - 2x1Go DDR2 667 - X1600 256Mo - 15.4" WXGA - Seagate 7200.2 200Go - Bluetooth 2.0 et Gigabit Ethernet
IBM ThinkPad X23 - P3M 866 Mhz - 256Mo PC133 - 12" XGA - Hitachi DK23EA 40 Go - Win XP Pro SP1 - PCMCIA WiFi 3Com b/g XJACK
Altec Lansing ACS 621 - Sennheiser PMX 60 - Smartphone : HTC Touch WM6
-> Test - Sagem PVR 66160T Decodeur TNT HDD 160Go
-> Gestion de cave a vin en ligne ( gratuit ) : Votre Cave
- Haut de page -
Keanu
Sage
Membre # 4886

 Avatar du membre
Lieu : Namur

Messages :
1771 (0.78 par jour)




Message du 16-07-2006 @ 15:53   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

les liens ne se sont pas affiché :

a href="membre.php?tri=?????????">A
a href='membre.php?tri=???">B




si je mets la requette :

WHERE actif="y" AND nom REGEXP "^$tri" ORDER BY nom

je dois faire =

$tri= $_GET['tri'];

et pour chaque lien :

membre.php?tri="^[aA].*"">A
membre.php?tir="^[bB].*"">B
....

???

j'ai l'impression que je m'enbrouille dans les " et '.

----------
Laptop : Dell Inspiron 8200 P4M 1.6 - 512Mo - 60Go - DVD+-RW - Ubuntu ---
Desktop : Amd Sempron 3000+ - 1Go - 160Go - DVD+-RW - Win XP --- Mess with the best or die like the rest
- Haut de page -
casimir
Sage
Membre # 339

 
Lieu : bruxelles

Messages :
1362 (0.46 par jour)


Score :

Message du 16-07-2006 @ 21:01   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

sinon sans regexp

select * from personnel where upper(nom) like 'A%'
- Haut de page -
Soulmanto
Codeur du forum
Membre # 5373

 Avatar du membre
Lieu : Lille

Messages :
12837 (5.72 par jour)


Score :

Message du 17-07-2006 @ 0:11   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

Pour les " et les ' : les délimiteurs de chaine de caractère MySQL sont les ' uniquement. Par contre, en PHP, préfère plutot la forme $_GET["ta_variable"]
----------
Core 2 Duo E6750 2,66 GHz | Asrock Conroe 1333 D667 | 2 Go DDR-II 667 | GeForce 8800 GT 512 Mo | Acer X192W (qui marche bien, sisi spook' :p )
Dell Inspiron 6400 | Core2Duo T5500 | 1 Go DDR-II | ATI X1300 128 Mo

Enfin!! 300 au bowling sur Wii Sports :classe:
- Haut de page -


Aller dans le forum :  

Plan du forum | Contacter l'administrateur

Powered by SoulBB 3.0.1
© Soulmanto, 2003-2006

Valid XHTML 1.0 Transitional

Page générée en 0.104 secondes