Veuillez vous connecter ou créer un compte pour suivre ce topic
Ce topic est suivi par: Personne...
Ce topic a été résolu
Auteur Sujet: Problème, affichage des utilisateurs inscrits aujourd'hui

Swaap

Messages: 11

Bonjour / Bonsoir,
Je suis bloquer sur un bout de php, je vous détails cela si vous pouvez me donner un petit coup de pouce Sourire

Je souhaiterai afficher afficher le nombre des utilisateurs inscrits aujourd'hui exemple il y a en tout 30 inscrits sur mon site eux sont afficher dans la catégorie utilisateurs inscrits mais je souhaiterai faire une catégorie utilisateurs inscrits aujourd'hui et afficher le nombre d'utilisateurs qui se sont inscrits aujourd'hui.

Ma table SQL se nomme utilisateurs et elle contient les colonnes ID, pseudonyme, email, motdepasse, skype, date.

Merci d'avance pour vos réponses
Publicité

Thibault_Feugere

Messages: 131

Il y a des petits codes php que tu peux chopper sur le net vachement sympa. Sourire Sinon je ne sais pas faire :/

PrimFX
Membre Premium

Messages: 114

Salut !

Pour ça, il faut simplement que tu recherches les membres de ta base de donnée en sélectionnant uniquement ceux dont la date correspond à celle d'aujourd'hui. Un code comme celui-ci devrait faire l'affaire :
<?php
$inscrits_ajd = $bdd->prepare('SELECT id FROM membres WHERE dateinscription = ?');
$inscrits_ajd->execute(array(date("Y-m-d")));
$inscrits_ajd->fetch();
$inscrits_ajd = $inscrits_ajd->rowCount();
?>
La variable $inscrits_ajd contient le nombre d'utilisateurs qui se sont inscrits à ton site aujourd'hui Clin d'oeil

Tu noteras que j'ai remplacé ton champ "date" par "dateinscription" dans la requête, je te conseil de faire de même dans ta base de donnée et dans le code d'ajout de membre (en gros modifier "date" par "dateinscription" partout), car "date" tout seul est un sélecteur réservé par SQL, en gros, ça veut dire que le fait de l'utiliser comme nom de champ peut provoquer un certain nombre de bugs... Tire la langue

Swaap

Messages: 11

Bonsoir PrimFX,
Tout d'abord merci pour ta réponse, j'ai tester ton bout de code mais la réponse est = 0 je te poste ci-dessous une image de ma base de données pour t'éclairer, le code que j'ai insérer est un copier/coller de celui que tu m'as proposé tout à l'heure.
Voici ma base de données 

BeKidding

Messages: 75

Salut , je pense que le problème viens du fait que ta table DateInscription n'est pas en format DATE , 
après je n'ai pas testé mais je pencherais pour cette hypothèse 

PrimFX
Membre Premium

Messages: 114

Salut ! Effectivement, comme le dit BeKidding, le problème vient du fait que tu n'utilises pas une véritable date mais plutôt un timestamp... Du coup, voici le code qui devrait fonctionner Clin d'oeil
<?php
$inscrits_ajd = $bdd->prepare('SELECT id FROM membres WHERE dateinscription = ?');
$inscrits_ajd->execute(array(time()));
$inscrits_ajd->fetch();
$inscrits_ajd = $inscrits_ajd->rowCount();
?>

PaulLavieille

Messages: 123

@PrimFX connecté :o Tu peux venir sur le chat ? Tire la langue

Swaap

Messages: 11

@PrimFX j'ai utilisé le bout de code que tu m'as inscrit ci-dessus mais lorsque que j'enregistre mon fichier .php et que je retourne sur mon localhost j'ai une erreur qui apparaît ( HTTP ERROR 500 ).

PrimFX
Membre Premium

Messages: 114

Parce que j'ai oublié une petite parenthèse à la 3e ligne Tire la langue j'ai édité mon code au-dessus Clin d'oeil

Swaap

Messages: 11

@PrimFX j'ai utiliser de nouveau ton code sans succès...
Peux-tu peut-être m'expliquer comment faire pour insérer dans ma base de donnée une date qui irais avec le premier code que tu m'as proposé? Je te parle de ce code ci-dessous
<?php 
$inscrits_ajd = $bdd->prepare('SELECT id FROM membres WHERE dateinscription = ?');
$inscrits_ajd->execute(array(date("Y-m-d")));
$inscrits_ajd->fetch();
$inscrits_ajd = $inscrits_ajd->rowCount();
?>
Peut-être que le résultat que je cherche fonctionnera mieux comme cela.

Ranarxhag

Messages: 51

C'est tout con. Dans ta base de donnée, il faut que ta colonne dateinscription soit de type datetime ou date (comme tu veux).

Et lors de l'inscription, pour insérer la date dans ta BDD, tu peux utiliser date("Y-m-d") ou la fonction SQL NOW() Clin d'oeil

PrimFX
Membre Premium

Messages: 114

Effectivement, j'avais zappé ce détail : vu que le timestamp que tu utilises renvoie un temps en secondes, le deuxième exemple de code que je t'ai envoyé te retournera uniquement les utilisateurs inscrits dans la seconde x)
Du coup je te recommanderai d'utiliser mon premier exemple en suivant les conseils de Ranarxhag en utilisant la fonction NOW() en SQL pour insérer la date d'inscription de tes membres Clin d'oeil

Swaap

Messages: 11

Et bien je tiens à vous remercier @Ranarxhag & @PrimFX vous avez régler mon problème, je vous en remercie énormément Sourire

PrimFX
Membre Premium

Messages: 114

Pas de quoi Clin d'oeil


Veuillez vous connecter ou créer un compte pour poster une réponse