Si la chaine commence par... alors...
Résolu
Aka13
Messages postés
153
Date d'inscription
Statut
Membre
Dernière intervention
-
Aka13 Messages postés 153 Date d'inscription Statut Membre Dernière intervention -
Aka13 Messages postés 153 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Ma table sql "pseudo" contient :
ABC123
ABC555
BDE221
ABC485
ZKK215
J'aimerais que si la chaine commence par "ABC", num sera égal à 1
J'aimerais que le résultat soit :
ABC123 : http://monsite.fr/1
ABC555 : http://monsite.fr/1
BDE221 : http://monsite.fr/2
ABC485 : http://monsite.fr/1
ZKK215 : http://monsite.fr/2
Ma table sql "pseudo" contient :
ABC123
ABC555
BDE221
ABC485
ZKK215
J'aimerais que si la chaine commence par "ABC", num sera égal à 1
$pseudo = $row["pseudo"]; if ($pseudo ^ABC) {$num = "1";} else {$num = "2";} $url = "$pseudo : http://monsite.fr/$num"; echo "$url";
J'aimerais que le résultat soit :
ABC123 : http://monsite.fr/1
ABC555 : http://monsite.fr/1
BDE221 : http://monsite.fr/2
ABC485 : http://monsite.fr/1
ZKK215 : http://monsite.fr/2
A voir également:
- Si la chaine commence par... alors...
- Chaine tnt gratuite sur mobile - Guide
- Chaine radio - Télécharger - Médias et Actualité
- Plus de chaine tv - Guide
- Je commence la nuit et je termine le matin ✓ - Forum Loisirs / Divertissements
- Chaine musique bouygues - Accueil - Guide TV et vidéo
2 réponses
Problème résolu,
Au lieu de mettre :
J'ai mis :
Donc en gros remplacer "if" par "else if"
Merci à toi Groarh de m'avoir rappeller la fonction substr :)
Au lieu de mettre :
$pseudo = $row["pseudo"]; $test = substr($pseudo,0,3); if ($test == "ABC") {$num = "1";} if ($test == "XXX") {$num = "2";} if ($test == "KSJ") {$num = "3";} else {$num = "4";}
J'ai mis :
$pseudo = $row["pseudo"]; $test = substr($pseudo,0,3); if ($test == "ABC") {$num = "1";} else if ($test == "XXX") {$num = "2";} else if ($test == "KSJ") {$num = "3";} else {$num = "4";}
Donc en gros remplacer "if" par "else if"
Merci à toi Groarh de m'avoir rappeller la fonction substr :)
Salut,
y'a tout un tas de solutions.
> PHP :
- utiliser substr ou toute autre variante, combiné à une comparaison == ;
- utiliser substr_compare qui fait les deux en même temps ;
- utiliser une regexp (peut-être un peu exagéré).
> SQL :
utiliser LIKE, comme dans :
Tu as le choix des armes ;)
y'a tout un tas de solutions.
> PHP :
- utiliser substr ou toute autre variante, combiné à une comparaison == ;
- utiliser substr_compare qui fait les deux en même temps ;
- utiliser une regexp (peut-être un peu exagéré).
> SQL :
utiliser LIKE, comme dans :
SELECT * FROM table WHERE pseudo LIKE 'ABC%'
Tu as le choix des armes ;)
Salut,
Pour SELECT * FROM table WHERE pseudo LIKE 'ABC%'
Je ne peut pas faire cette fonction, $pseudo est utiliser pour beaucoup d'autres choses dans mon code. Et j'ai besoin de IF et ELSE
Donc il me faudrait un style :
Ou sinon tu pourrais m'expliquer pour substr ou substr_compare
Pour SELECT * FROM table WHERE pseudo LIKE 'ABC%'
Je ne peut pas faire cette fonction, $pseudo est utiliser pour beaucoup d'autres choses dans mon code. Et j'ai besoin de IF et ELSE
Donc il me faudrait un style :
if ($pseudo == "^ABC") {$num = "1";} else {$num = "2";}
Ou sinon tu pourrais m'expliquer pour substr ou substr_compare
substr_compare est une fonction de comparaison de chaînes, elle renvoie un nombre indiquant la « différence » entre ces deux chaînes, basé sur une sorte d'ordre alphabétique. Si les chaînes sont identiques, elle renvoie 0.
Contrairement à str_compare, cette fonction permet de ne regarder que le début des chaînes : on lui donne un offset et une longueur. Dans notre cas, l'offset est 0 (le début de la chaîne) et la longueur 3.
https://www.php.net/manual/fr/function.substr-compare.php
Contrairement à str_compare, cette fonction permet de ne regarder que le début des chaînes : on lui donne un offset et une longueur. Dans notre cas, l'offset est 0 (le début de la chaîne) et la longueur 3.
if (0 == substr_compare($pseudo, 'ABC', 0, 3)) { $num = "1"; } else { $num = "2"; }
https://www.php.net/manual/fr/function.substr-compare.php
Merci, mais comme j'ai beaucoup de comparaison a faire j'aurais préférer un code plus cour.
J'ai donc utiliser sa :
Ce morceau de code va très bien mais si je veut faire + de valeurs, il me compte que le dernier if :
Il ne me compte que KSJ ou le else
Comment remédier à sa ?
J'ai donc utiliser sa :
$pseudo = $row["pseudo"]; $test = substr($pseudo,0,3); if ($test == "ABC") {$num = "1";} else {$num = "2";}
Ce morceau de code va très bien mais si je veut faire + de valeurs, il me compte que le dernier if :
$pseudo = $row["pseudo"]; $test = substr($pseudo,0,3); if ($test == "ABC") {$num = "1";} if ($test == "XXX") {$num = "2";} if ($test == "KSJ") {$num = "3";} else {$num = "4";}
Il ne me compte que KSJ ou le else
Comment remédier à sa ?