attribuer un id au membre selon la date d'inscription

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : attribuer un id au membre selon la date d'inscription

par fred6012 » 10 nov. 2005, 20:37

Salut,
c'est pas un probleme lors de l'affichage tu n'a qu'a a jouter 1 a la variable du tableau :wink:
J'y ai pensé mais je préfére que l'array soit synchro avec la realité ;)
sinon pour info: pour débuter un tableau à 1:
$tab=array(1=>"valeur");
Oui mais l'array étant généré par la boucle, vaut mieux pas :)

Au final, juste aprés declaré le tableau, j'ai betement inséré un enregistrement vide pour remplir la 1ere valeur du tableau et ensuite on empile les valeurs tranquillement.
$liste=array();
$liste[] = '';
		$sql="SELECT id FROM users ORDER by date ASC";
		$req = mysql_query($sql) or die (mysql_error() ); 
				while($data = mysql_fetch_array($req))
					{
						$liste[] = $data['id'];
					}
$liste=array_flip($liste);	
Valà, merci pour votre aide :wink:

par Truc » 10 nov. 2005, 20:19

Salut,
c'est pas un probleme lors de l'affichage tu n'a qu'a a jouter 1 a la variable du tableau :wink:

sinon pour info: pour débuter un tableau à 1:
$tab=array(1=>"valeur");

sinon si tu fait appel a ce script alors que tu est deja identifié tu peut mettre le timestamp en session et faire le calcul dans une requete:
$date_session=$_SESSION['date'];

$sql="SELECT COUNT(pseudo) FROM nuked_users  WHERE date < ".$date_session." ORDER by date";

$res=mysql_query($sql);

$id=mysql_result($res,0);

par fred6012 » 10 nov. 2005, 19:33

voilà, en effet array_flip etait la solution, seul hic, le array qui demarre à 0, donc le 1er membre inscrit est declaré membre n°0, il n'y a pas moyen de debuter un array à 1, de le réorganiser ou autre?

par fred6012 » 10 nov. 2005, 19:14

c'est pas mon script, c'est juste une petite modif sur un portail, le pourquoi, je ne sais pas mais connaissant la qualité du portail, il y a sans doute une bonne raison :)


Pour mon probleme, j'ai pitete une piste, un array_flip() pour inverser id et pseudo et ainsi acceder à l'id connaissant le pseudo ;)
Je teste tout ca

Re: attribuer un id au membre selon la date d'inscription

par mario » 10 nov. 2005, 19:08

j'aimerai pouvoir attribuer un id selon la date d'inscription (timestamp) et pouvoir retrouver l'id avec le pseudo ou l'id actuel(crypté).
Bonjour

Pourquoi avoir choisir d'encrypter l'id en md5 ?
Ne pas avoir un ID autoincrémenté en primary key me parait mal parti pour l'évolution de ton script (jointure par exemple).

attribuer un id au membre selon la date d'inscription

par fred6012 » 10 nov. 2005, 19:02

Hello
Voilà mon soucis, j'utilise un portail dont l'id des membres n'est pas autoincrementé mais doit etre codé (md5?)

Bref.

Donc j'aimerai pouvoir attribuer un id selon la date d'inscription (timestamp) et pouvoir retrouver l'id avec le pseudo ou l'id actuel(crypté).
Dans ma table users, j'ai les champs:
id : tzesyi4XlhafjwlN4t1y
pseudo : gaston
date: 1124966952
Plus plein d'autres champ qui serait inutile ici (url etc)

J'aurais donc besoin de pouvoir afficher un id correspondant au classement par date mais je ne sais comment mettre ca correctement dans un array (si c'est la bonne solution)

jusqu'ici, j'en suis là:
$liste=array();
		$sql="SELECT pseudo FROM nuked_users ORDER by date ASC";
		$req = mysql_query($sql) or die (mysql_error() ); 
				while($data = mysql_fetch_array($req))
					{
						$liste[] = $data['pseudo'];
						$id=count($liste);
						//echo $id.$data['pseudo'].'<br>';
					}
Cette fonction est trés ponctuel, juste pour permettre d'afficher membre n° 353 pour le 353eme inscrit etc.

Donc je voudraiit etre capable d'ecrire l'id de gaston est 353 etc



Une idée? :oops: