transformation en majuscule

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 : transformation en majuscule

par Truc » 05 juin 2008, 11:28

je reviens tout à l'heure
Tu n'oublieras pas le Résolu ;)

par Invité » 05 juin 2008, 08:43

Merci Brito
ça marche


Merci HyWaN pour l'explication
oui, j'allais le faire mais d'abord, je voulais tester une requête avec un mot entier en majsucule pour voir
et ensuite je teste la première lettre en majuscule et le reste en minuscule comme vous l'avez dit.

je reviens tout à l'heure

par Hywan » 04 juin 2008, 23:08

Hey :),

Je vais peut-être paraître pénible mais ça ne sert à rien de mettre le nom des villes en majuscule, car typographiquement, ce n'est pas correct.

En effet, si on se réfère à la plus récente édition du Code officiel géographique publié par l'Insee, la graphie des toponymes de la France ne prévoit pas que l'on mette le nom des régions, départements, arrondissements, cantons, et communes en majuscule. Si on doit vulgariser la chose, on dira que seule la première lettre doit être en majuscule (dans le cas d'un mot non composé).
Maintenant, si on doit retenir quelques règles principales, on pourrait citer que :
  • tous les substantifs et adjectifs prennent une majuscule ;
  • les articles, prépositions, conjonctions et adverbes prennent une majuscule en début de nom et une minuscule à l’intérieur du nom, à l’exception de Hors, qui prend toujours une majuscule, et des prépositions situées en fin de toponyme, qui prennent également une majuscule ;
  • les toponymes officiels composés comportent un trait d’union entre tous les termes, sauf après l’article initial ou lorsqu’il y a une apostrophe. Exemples : La Roche-sur-Yon, Villeneuve-d'Ascq. Exceptions : Pays de la Loire, Territoire de Belfort et l’espace après « Côte » dans Provence-Alpes-Côte d'Azur.
Donc te prend pas la tête ;-).

Au pire, si on se réfère au dictionnaire de l'Académie Françaizeuh adaptée à l'Informatique (c'est pas le nom officiel mais je ne retrouve plus le document), on tolère des petites majuscules.
Les petites majuscules peuvent s'obtenir avec : font-variant: small-caps; en CSS.

Voilà :).

PS : on peut trouver des compléments d'information sur Wikipédia.

par Victor BRITO » 04 juin 2008, 17:51

$requete = "UPDATE inscriptions SET villeind = '".$POST['villeind']."' WHERE typeparticipant = 'individuel'";
C'est $_POST, avec un _. ;)

Cela dit, MySQL offre la fonction UPPER(). Essaie donc la requête suivante :

Code : Tout sélectionner

UPDATE inscriptions SET villeind = UPPER(villeind) WHERE typeparticipant = 'individuel'

par Cypher_PHP » 04 juin 2008, 17:31

ah je vois

et avec cette nouvelle requete? c'est la bonne?
d'ailleurs, j'ai verifié
mm resultat!
$requete = "UPDATE inscriptions SET villeind = '".$POST['villeind']."' WHERE typeparticipant = 'individuel'";

par Victor BRITO » 04 juin 2008, 17:22

Le problème vient donc de la variable $villeind, qui est vide, puisque la requête de mise à jour est générée comme suit :

Code : Tout sélectionner

UPDATE inscriptions SET villeind = '' WHERE typeparticipant = 'individuel'
D'où l'effacement du nom des villes.

par Cypher_PHP » 04 juin 2008, 17:14

après vérification sur conseil de dOm

c'est dans la base de données dont je parle...

avant j'avais des données en minuscule
après cette requête, ces données ont disparu comme s'ils sont en NULL

donc WHERE typeparticipant = 'individuel' est correct puisque je l'ai vérifié sur le serveur de mysql

Code : Tout sélectionner

mysql> SELECT villeind, nomind from inscriptions where typeparticipant = 'individuel'; +-------------------+--------+ | villeind | nomind | +-------------------+--------+ | thiais | AURIEL | | brie-comte-robert | HOMBEL | +-------------------+--------+ 2 rows in set (0.00 sec)
après requête

Code : Tout sélectionner

mysql> SELECT villeind, nomind from inscriptions where typeparticipant = 'individuel'; +----------+--------+ | villeind | nomind | +----------+--------+ | | AURIEL | | | HOMBEL | +----------+--------+ 2 rows in set (0.00 sec)

par d0m » 04 juin 2008, 17:02

salut,

pour debugguer, remonte jusqu'au dernier contenu qui est exact.
vérifie bien partout :
echo 'contenu 1 : '.$villeind.'<BR>';
$villeind = strtoupper($villeind); 
echo 'contenu 2 : '.$villeind.'<BR>';
$requete = "UPDATE inscriptions SET villeind = '".$villeind."' WHERE typeparticipant = 'individuel'"; 
echo 'contenu requete : '.$requete.'<BR>';

// exécution d'une requête 
$query = mysql_query($requete); 

?>

par guilt92 » 04 juin 2008, 17:00

Quand tu dis que cela affiche un résultat vide tu parles dans la base de données ou dans la variable ?

Parce que normalement si tu fais un :
$villeind = strtoupper($villeind); 
echo $villeind;
alors ta variable sera en majuscules.

Par contre ton update dans la base peut ne pas marcher pour d'autres raisons... (notamment si il ne trouve pas de valeur avec typeparticipant = 'individuel'...

transformation en majuscule

par Cypher_PHP » 04 juin 2008, 16:54

bonjour

j'utilise la fonction strtoupper pour transformer des mots en majuscule.
malheureusement, cela m'affiche en résultat vide
savez vous pourquoi?
merci de vos réponses
voici le code php

<?

$villeind = strtoupper($villeind);
$requete = "UPDATE inscriptions SET villeind = '".$villeind."' WHERE typeparticipant = 'individuel'";


// exécution d'une requête
$query = mysql_query($requete);

?>