Compter le nombre de mot dans une chaîne
Résolu/Fermé
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
-
25 juil. 2018 à 15:51
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 25 juil. 2018 à 18:17
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 25 juil. 2018 à 18:17
A voir également:
- Compter le nombre de mot dans une chaîne
- Trousseau mot de passe iphone - Guide
- Comment trouver le mot de passe wifi sur son téléphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Chaine tnt gratuite sur mobile - Guide
2 réponses
jordane45
Messages postés
38400
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
31 janvier 2025
4 732
25 juil. 2018 à 17:05
25 juil. 2018 à 17:05
Bonjour,
Un exemple de ce que contiennent tes variables serait pas mal pour comprendre ....
- Que contient ta variable : $PROFIL_SONDAGES_0A ? (Quand ça donne 3 ... et quand ça donne 2)
- Que contient ta variable : $_SESSION_PSEUDO ? (Quand ça donne 3 ... et quand ça donne 2)
Sachant que tu es dans une boucle WHILE, il est normal, si ta requête retourne plusieurs lignes... que ça t'affiche différentes valeurs...
Un exemple de ce que contiennent tes variables serait pas mal pour comprendre ....
- Que contient ta variable : $PROFIL_SONDAGES_0A ? (Quand ça donne 3 ... et quand ça donne 2)
- Que contient ta variable : $_SESSION_PSEUDO ? (Quand ça donne 3 ... et quand ça donne 2)
Sachant que tu es dans une boucle WHILE, il est normal, si ta requête retourne plusieurs lignes... que ça t'affiche différentes valeurs...
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
25 juil. 2018 à 17:09
25 juil. 2018 à 17:09
Bonjour Jordane45,
Il existe 3 "bonjour" dans ma chaine et le code m'affiche 3 <hr> 2
$PROFIL_SONDAGES_0A = "|salut||bonjour||hello||bonjour||bonsoir||bonjour||hello|"; $_SESSION_PSEUDO = "bonjour";
Il existe 3 "bonjour" dans ma chaine et le code m'affiche 3 <hr> 2
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
25 juil. 2018 à 17:13
25 juil. 2018 à 17:13
Quand à ce code, en essayant de remplacer les pipes par des "," il me donne 2<br>1
try {$stat = $pdo->query("SELECT Participant FROM tb_user_sondages"); while($data = $stat->fetch(PDO::FETCH_ASSOC)){ $PROFIL_SONDAGES_00 = $data["Participant"]; $S = array("||","|"); $R = array('","',''); $PROFIL_SONDAGES_00 = str_replace($S, $R, $PROFIL_SONDAGES_00); echo substr_count($PROFIL_SONDAGES_00, $_SESSION_PSEUDO)."<br>"; }}catch(PDOException $e){echo "<div class='alert alert-danger'>".$e->getMessage()."</div>";}
jordane45
Messages postés
38400
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
31 janvier 2025
4 732
25 juil. 2018 à 17:25
25 juil. 2018 à 17:25
Tu ne réponds pas à ma question....
Essaye ce code et copie moi tel quel ce que ça t'affiche
Essaye ce code et copie moi tel quel ce que ça t'affiche
try { $stat = $pdo->query("SELECT Participant FROM tb_user_sondages"); while($data = $stat->fetch(PDO::FETCH_ASSOC)){ $PROFIL_SONDAGES_0A = $data["Participant"]; $PROFIL_SONDAGES_0B = explode($_SESSION_PSEUDO, $PROFIL_SONDAGES_0A); $PROFIL_SONDAGES_00 = count($PROFIL_SONDAGES_0B); echo "<br>PROFIL_SONDAGES_0A : >".$PROFIL_SONDAGES_0A."<"; echo "<br>_SESSION_PSEUDO : >".$_SESSION_PSEUDO."<"; echo "<br>(".$PROFIL_SONDAGES_00.")<hr>"; } }catch(PDOException $e){ echo "<div class='alert alert-danger'>".$e->getMessage()."</div>"; }
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
25 juil. 2018 à 17:29
25 juil. 2018 à 17:29
Voilà :
PROFIL_SONDAGES_0A : >|salut||bonjour||hello||bonjour||bonsoir||hello|< _SESSION_PSEUDO : >bonjour< (3) PROFIL_SONDAGES_0A : >|salut||bonjour|hello|< _SESSION_PSEUDO : >bonjour< (2)
jordane45
Messages postés
38400
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
31 janvier 2025
4 732
25 juil. 2018 à 17:30
25 juil. 2018 à 17:30
Avec le code que tu nous as donné et l'exemple de ce que "contiendrait" tes variables... ça ne peut pas être 3 ... mais 4 qui te serait donné !
Pour preuve:
Le "explode" découpe la chaine en se servant du délimiteur passé en paramètre.
Il te retourne donc :
Pour preuve:
$PROFIL_SONDAGES_0A = "|salut||bonjour||hello||bonjour||bonsoir||bonjour||hello|"; $_SESSION_PSEUDO = "bonjour"; $PROFIL_SONDAGES_0B = explode($_SESSION_PSEUDO, $PROFIL_SONDAGES_0A); $PROFIL_SONDAGES_00 = count($PROFIL_SONDAGES_0B); echo "<br>PROFIL_SONDAGES_0A : ".$PROFIL_SONDAGES_0A; echo "<br>_SESSION_PSEUDO : ".$_SESSION_PSEUDO; echo "<br>(".$PROFIL_SONDAGES_00.")<hr>";
Le "explode" découpe la chaine en se servant du délimiteur passé en paramètre.
Il te retourne donc :
Array
(
[0] => |salut||
[1] => ||hello||
[2] => ||bonsoir||
[3] => ||hello|
)
jordane45
Messages postés
38400
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
31 janvier 2025
4 732
>
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
25 juil. 2018 à 17:30
25 juil. 2018 à 17:30
et bien c'est bon.
Le résultat retourné correspond bien au code donné !
Le résultat retourné correspond bien au code donné !
25 juil. 2018 à 17:15