comment : saisie dans formulaire soit automatiquement en majuscules dans la BDD

Eléphanteau du PHP | 14 Messages

30 sept. 2008, 15:44

Bonjour à tous :)

j'ai un formulaire dans lequel mes chers collègues saisissent en minuscules des noms propres et des noms de société...

comment faire pour que la saisie dans la BDD soit automatiquement en majuscules ?

(le but étant de pouvoir faire du publipostage avec les données de la BDD sans que j'ai a repassé derrière presque toutes les saisies :p )

Merci d'avance de votre attention .

mon code étant :
<?php
//connection au serveur 
$cnx = mysql_connect( "localhost", "xxx", "xxx" ) ; 

//sélection de la base de données: 
$db = mysql_select_db( "ALCHIWEB" ) ; 

//récupération des valeurs des champs: 
$demande=$_POST["demande"] ; 
$societe=$_POST["societe"] ; 
$adresse1=$_POST["adresse1"] ; 
$adresse2=$_POST["adresse2"] ; 
$CP=$_POST["CP"] ; 
$ville=$_POST["ville"] ; 
$pays=$_POST["pays"] ; 
$famille=$_POST["famille"] ; 
$civilite= $_POST["civilite"] ; 
$nom = $_POST["nom"] ; 
$prenom= $_POST["prenom"] ; 
$tel= $_POST["tel"] ; 
$mobile= $_POST["mobile"] ; 
$fax=$_POST["fax"] ; 
$mail=$_POST["mail"] ; 
$message=$_POST["message"] ; 
//création de la requête SQL: 
$sql = "INSERT INTO ALCHIWEB (demande, societe, adresse1, adresse2, cp, ville, pays, famille, civilite, nom, prenom, tel, mobile, fax, mail, message, date) 
VALUES ( '$demande','$societe','$adresse1','$adresse2','$cp','$ville', '$pays', '$famille', '$civilite', '$nom', '$prenom', '$tel', '$mobile', '$fax', '$mail', '$message', NOW())"; 

$msg = "Merci de votre attention $civilite $nom, nous avons bien reçu les informations suivantes: \n\n"; 
$msg .= "Demande:\t$demande\n"; 
$msg .= "Société:\t$societe\n"; 
$msg .= "Famille:\t$famille\n"; 
$msg .= "Civilité:\t$civilite\n"; 
$msg .= "Nom:\t$nom\n"; 
$msg .= "Prenom:\t$prenom\n"; 
$msg .= "Adresse1:\t$adresse1\n"; 
$msg .= "Adresse2:\t$adresse2\n"; 
$msg .= "Code Postal:\t$cp\n"; 
$msg .= "Ville:\t$ville\n"; 
$msg .= "Pays:\t$pays\n"; 
$msg .= "Tel:\t$tel\n"; 
$msg .= "Mobile:\t$mobile\n"; 
$msg .= "Fax:\t$fax\n"; 
$msg .= "E-Mail:\t$mail\n"; 
$msg .= "Message:\t$message\n\n"; 
$msg .= "Merci de ne pas répondre à ce message: \n\n"; 
$msg .= "Retourner sur le site : http://www.alchimica.fr \n\n"; 
$recipient = "[email protected],"; 
$subject = "Demande auprès d'Alchimica.fr, société: $societe, $civilite $nom"; 
$headers = "Bcc: $mail\r\n"; 
mail($recipient, $subject, $msg, $headers); 


//exécution de la requête SQL: 
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

30 sept. 2008, 15:54

Soit au moment de l'insertion, soit lors de la récupération,
il te suffit d'utiliser les bonnes fonctions : strToUpper() en php ou UPPER() en sql :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 14 Messages

30 sept. 2008, 16:07

bon bha mon code est a présent:
 $sql = "INSERT  INTO ALCHIMICAWEB (demande, societe, adresse1, adresse2, cp, ville, pays, famille, civilite, nom, prenom, tel, mobile, fax, mail, message, date)
            VALUES ( '".strtoupper($demande)."','".strtoupper($societe)."','".strtoupper($adresse1)."','".strtoupper($adresse2)."','".strtoupper($cp)."','".strtoupper($ville)."', '".strtoupper($pays)."', '".strtoupper($famille)."', '".strtoupper($civilite)."', '".strtoupper($nom)."', '".strtoupper($prenom)."', '$tel',  '$mobile', '$fax', '$mail', '$message', NOW())";
 
çà a l'air lourd.. mais çà marche :)

Merci :)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

30 sept. 2008, 16:14

Tu peux également le faire au moment où tu récupères tes paramètres :)
$demande = strToUpper($_POST["demande"]);
...
Techniquement ça change absolument rien, mais ta requête restera plus simple à lire, et donc plus facile à maintenir ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 14 Messages

30 sept. 2008, 16:31

je viens de tester l'autre possibilité

elle n'est pas négligeable, elle est même mieux car sur l'affichage de la page de révision, et le mail çà appairait aussi en majuscule, ce n'est pas mal du tout:D

encore une fois de tres bon conseil de la part de phpfrance ;)

Merci :D

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

30 sept. 2008, 16:37

strToUpper() en php ou UPPER() en sql :)
Exact.
avec une petite préféréence pour le traitement en SQL, pour des raisons de performances.

Mais bon, on compte en pouièmes de seconde, là... :roll: