Extraction de chaines existantes

Invité
Invité n'ayant pas de compte PHPfrance

10 avr. 2006, 16:24

Je doit crée un code utilisateur qui se compose de cette façons:
Par exemple pour un utilisateur dupon
Nom : dupon
Prénom : David
Date de naissance : 01/07/1966
Ville : paris
Donc le code pour cette personne et :
DUDA66PA
2 lettre du nom + 2 lettre du prénom + 2 chiffre de l’année + 2 lettre de la ville
sachant que
nom=$nom
Prénom :$ Prénom
Date de naissance : $ Date_de_naissance
Ville :$paris

Alors quelqu’un peux m’aide pour ce pb merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

10 avr. 2006, 16:25

modération : merci d'utiliser un titre explicite. Je l'ai modifié mais pense-y la prochaine fois ;)

Sinon, pour ton pb, regarde la documentation de substr, tu devrais arriver à faire ce que tu cherches
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Invité
Invité n'ayant pas de compte PHPfrance

10 avr. 2006, 16:32

merci je test

Invité
Invité n'ayant pas de compte PHPfrance

10 avr. 2006, 16:59

j'ai rien compris :(
tu peux cible ton aide stp
pour mon exemple je pense que c’est simple
:(

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

10 avr. 2006, 17:20

Il faut que tu récupères le 2 1eres lettres de chaque valeurs et que tu les concatènes entre elles :
$code = substr($nom, 0, 2).substr($prenom, 0, 2).substr($date_de_naissance, 0, 2).substr($paris, 0, 2);
Modifié en dernier par zeus le 10 avr. 2006, 17:49, modifié 1 fois.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Invité
Invité n'ayant pas de compte PHPfrance

10 avr. 2006, 17:38

sa marche pas voila le resultats
'substr(01/01/1966,0,2).substr(dupon ,0,2).substr(David ,0, 2)', 

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

10 avr. 2006, 17:49

est-ce que j'ai dit 'substr ...()' ?

Quand tu mets des ', le contenu de la chaine n'est pas interpreté. PHP ne fait donc pas l'extraction des chaines.

Essaye de faire la même chose mais sans les '
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Invité
Invité n'ayant pas de compte PHPfrance

10 avr. 2006, 17:53

le meme choise je suis vraiment :( :( :( :cry: :cry:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

10 avr. 2006, 18:02

montre le code que tu as fait
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Invité
Invité n'ayant pas de compte PHPfrance

10 avr. 2006, 18:14

$miseajour ="update INVENTAIRE set  
NUMERO_INVENTAIRE =substr(${"Site_E_ou_V".$i},0,1).substr(${"SERVICE_DE_MAINT".$i}, 0, 1)
       where 
 NUMERO_COMMANDE='$nucoco' ;		
 $result = ora_parse($cursor,$miseajour);
$result = ora_exec ($cursor);
ora_commit($ora_conn);

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

10 avr. 2006, 22:26

tu ne peux pas exécuter des fonction comme ça dans une chaine de caractères.

il faut concaténer le résultat de substr() au reste de la chaine, exemple:
$val = substr("de test",0,2);

$chaine = " valeur ". $val." fin de la valeur;

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute