Fonction compteur
Résolu/Fermé
Debutant en webmastering
Messages postés
401
Date d'inscription
lundi 6 juin 2011
Statut
Membre
Dernière intervention
27 janvier 2021
-
Modifié par jordane45 le 8/01/2016 à 01:13
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021 - 10 janv. 2016 à 05:32
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021 - 10 janv. 2016 à 05:32
A voir également:
- Fonction compteur
- Compteur électrique - Guide
- Fonction si et - Guide
- Comment ralentir un compteur linky forum - Accueil - Objets connectés
- Compteur communicant - Guide
- Compteur de contractions - Télécharger - Santé & Bien-être
3 réponses
jordane45
Messages postés
38326
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2024
4 712
8 janv. 2016 à 01:18
8 janv. 2016 à 01:18
Bonjour,
Pas besoin de "up" .... si personne ne répond... c'est que (plusieurs réponses possibles...)
- Personne ne sait
- Personne n'a compris la question
- Personne n'a envie de répondre
- Personne n'a le temps de répondre (ben oui... les gens on parfois un métier et d'autres occupations que de TE venir en aide...)
Bref... ça mis à part....
ouais..... et bien plus souvent encore... les gens travaillent avec une base de données...
Oui dans les grandes lignes.
As tu au moins pris le temps de chercher un minimum ?
Lire un fichier ligne par ligne en php .. ce n'est pas les exemples qui manquent sur le net !
Faire une comparaison... ben ça se fait avec un IF ... et un "==" (ou "===")
Reviens avec après avoir fait un minimum d'efforts (donc avec du code un peu plus complet......) et si ça ne fonctionne toujours pas je me ferais un plaisir de t'aider.
Pas besoin de "up" .... si personne ne répond... c'est que (plusieurs réponses possibles...)
- Personne ne sait
- Personne n'a compris la question
- Personne n'a envie de répondre
- Personne n'a le temps de répondre (ben oui... les gens on parfois un métier et d'autres occupations que de TE venir en aide...)
Bref... ça mis à part....
Concrètement je ne change pas les bases de création d'un compteur, je travaille toujours avec un fichier texte
ouais..... et bien plus souvent encore... les gens travaillent avec une base de données...
j'aimerais tout d'abord savoir si ma façon de raisonner est correcte
Oui dans les grandes lignes.
et si oui comment compléter cette fonction pour la rendre utilisable,
As tu au moins pris le temps de chercher un minimum ?
Lire un fichier ligne par ligne en php .. ce n'est pas les exemples qui manquent sur le net !
Faire une comparaison... ben ça se fait avec un IF ... et un "==" (ou "===")
Reviens avec après avoir fait un minimum d'efforts (donc avec du code un peu plus complet......) et si ça ne fonctionne toujours pas je me ferais un plaisir de t'aider.
Debutant en webmastering
Messages postés
401
Date d'inscription
lundi 6 juin 2011
Statut
Membre
Dernière intervention
27 janvier 2021
10 janv. 2016 à 05:32
10 janv. 2016 à 05:32
Bon voilà, j'ai réussi après pas mal de recherches, je ne pense pas que ce soit optimisé mais ça fonctionne (première fonction incrémente de 1 les vues d'un article passé en argument ou l'instancie à 1 si non existant) et (la deuxième fonction récupère le nombre de vues correspondant à l'article passé en argument) le code ça donne :
/*Incrémente le nombre de vues de l'article passé en argument*/
function compteur_plus_un($string)
{
$temp = $string;
$open = fopen('./views/views.txt', 'a');
if ($open){
if (file_get_contents('./views/views.txt') != ''){
$lines = file('./views/views.txt');
foreach ($lines as $lineNb => $lineContent){
if (strstr($lineContent,$temp)){
$lineFound = $lineNb;
break;
}
}
if (isset($lineFound)){
$views = explode("=", $lines[$lineFound]);
$viewsInt = (intval($views[1]));
$viewsInt = $viewsInt+1;
$addFile = "".$temp."=".$viewsInt."\r\n";
$lines[$lineFound] = $addFile;
file_put_contents('./views/views.txt', implode($addFile, $lines));
$lines[] = "";
file_put_contents('./views/views.txt', implode("", $lines));
}else{
$lines[] = "".$temp."=1\r\n";
file_put_contents('./views/views.txt', implode($addFile, $lines));
}
}else{
fputs($open, "".$temp."=1\r\n");
}
fclose($open);
}else{
echo "Error";
}
}
/*Affiche le nombre de vues de l'article passé en argument*/
function affiche_views($string)
{
$temp = $string;
$open = fopen('./views/views.txt', 'r');
if ($open){
if (file_get_contents('./views/views.txt') != ''){
$lines = file('./views/views.txt');
foreach ($lines as $lineNb => $lineContent){
if (strstr($lineContent,$temp)){
$lineFound = $lineNb;
break;
}
}
if (isset($lineFound)){
$views = explode("=", $lines[$lineFound]);
return $views[1];
}else{
return 0;
}
}else{
return 0;
}
}else{
echo "Error";
}
}
Debutant en webmastering
Messages postés
401
Date d'inscription
lundi 6 juin 2011
Statut
Membre
Dernière intervention
27 janvier 2021
7 janv. 2016 à 23:00
7 janv. 2016 à 23:00
up svp
Modifié par Debutant en webmastering le 9/01/2016 à 18:17
J'ai vérifié avec un echo $addFile, et celle-ci est bien crée comme je le souhaite, mais sur un forum (oui je sais, se méfier des forums)
file_put_contents('lien_fichier[ligne_à_remplacer], nouvelle_valeur)
et c'est vraiment ce remplacement de la ligne par ma nouvelle qui me pose problème