pb avec une chaine de caractères [RESOLU] - PHP - Programmation
Marsh Posté le 17-02-2005 à 18:14:14
la question c'est pourquoi tu veux décomposer la VALEUR de la variable? t'en fait quoi apres
ds le genre plus simple : tu nomme ta variable nom_1_det
pour la récupérer :
list($nom,$num,$det) = explode('_',$photo);
$num = intval($num);
Marsh Posté le 17-02-2005 à 18:23:01
je me sers de chaque variable pour récupérer des infos dans une BDD.
Mais en effet je peux nommer la variable nom_1_det
je n'y avais pas pensé.
merci
Marsh Posté le 17-02-2005 à 18:25:46
Astik89 a écrit : je me sers de chaque variable pour récupérer des infos dans une BDD. |
vaut mieux chercher dans la simplicité
tu pouvais aussi recupérer chaque element d'une variable $_GET
genre nom=toto&num=1&blablasuivant=det
Marsh Posté le 17-02-2005 à 18:38:04
non, je ne pouvais pas car la variable provient d'un nom de fichier d'image.
Marsh Posté le 17-02-2005 à 17:45:02
Bonjour,
hé oui j'ai encore un problème.
Je charge une page dont l'url contient 2 variables. Je les récupère et les appelle $cat et $photo.
La variable $photo se présente sous la forme nom1 ou nom1_det.
Moi je veux récupérer 'nom' et '1' et '_det' dans 3 variables différentes sachant que le nombre peut avoir 1 ou 2 chiffres.
J'ai donc écrit le code suivant qui récupère les 2 variables et test s'il y a '_det'. Si c'est le cas je vérifie si le nombre est composé de 1 ou 2 chiffres et l'intègre dans une variable.
Je me suis arrêté là pour l'instant car j'ai une erreur au test de présence des chiffres. Etant donné que c'est mes premiers pas en php est ma toute première manipulation de chaines de caractères, j'aimerais que l'on m'aide pour que je puisse arriver au bout de ce code.
$cat = $_GET['cat'];
$photo = $_GET['photo'];
if (isset($photo)) {
$long = strlen($photo); //longueur de la chaine de caractère $photo
$debut = $long-5;
$fin = substr($photo, $debut, $long); //contient les 4 derniers caractères de la chaine $photo
if ($fin = "_det" ) {
$end = $long-4;
$contrib = substr($photo, 0, $end);
if (ereg($contrib, ([0-9]{2})) = true) {
$long = strlen($contrib); //longueur de la chaine de caractère $ocntrib
$debut = $contrib-3 // définit le début de coupe de chaine
$contrib = substr($contrib, $debut, $long); //défini $contrib avec les 2 derniers caractères de l'ancien $contrib
} //if
elseif (ereg($contrib, ([0-9]{1})) = true) {
$long = strlen($contrib); //longueur de la chaine de caractère $ocntrib
$debut = $contrib-2 // définit le début de coupe de chaine
$contrib = substr($contrib, $debut, $long); //défini $contrib avec les 2 derniers caractères de l'ancien $contrib
} //elseif
} //if ($fin = "_det" )
Merci
Astik
Message édité par astik89 le 18-02-2005 à 11:05:56