Un enregistrement à la fois.

Eléphant du PHP | 110 Messages

13 mai 2010, 20:54

Salut,

Voila j'ai mon codes php,

Dedans j'aimerais qui passe à la loupe tout les enregistrements time() de la base de donné, un par un, mais j'arrive pas.
  $q = mysql_query("SELECT time FROM player"); 
  $compteur=1;
  while ($r = mysql_fetch_array($q)) { 
  $e_mail = $r['time']; 
  
  
$enregistrement = $e_mail;
$temps        = time();
$temps_entre_les_deux_tentatives = $temps - $enregistrement;

if ($temps_entre_les_deux_tentatives >= 2592000) { 
mysql_query("DELETE FROM player WHERE mdp='$mdp'");	 
}
Au lieu de tester chaque champs time à la fois, il mais tout à la suite :'(...

le $e_mail est égale à sa :

Code : Tout sélectionner

12706916911270696605127069802412707067671270706802127070860812707127491270713490127071410312707143291270715613127071572112707160391270716408127071646412707176761270718882127071932212707213991270724200127072474712707252001270725588127072612012707279751270728221127072830712707290301270729976127073055212707314461270732622127073286412707330121270734611127073519012707357051270736008127073620912707382031270738465127073923612707417881270741849127074258712707426071270743672127074499512707456291270745896127074674012707469141270747101127074773212707479731270749223127074933912707511371270753621127075362612707536941270753815127075403712707541461270754640127075539312707554651270755764127075754912707577651270759288127076043512707642481270764676127076900112707702381270796140127079723312708023781270803708127080722112708178141270824798127082485712708287281270828862127082986512708315981270831839127083263312708329831270834373127083451312708345561270848176127084842112708654641270876458127088401412708846011270884974127088556512708870821270893059127089939012708995001270899647127093441512709370321270937685127098503012709866521270992621127099282512709935851270996552127099798412710021911271004965127100846812710102751271013367127101375812710251151271025138127102515012710339581271057161127105813412710630181271063654127106501112710670271271067169127107387312710783791271079265127108368812710847021271089201127109033012711009421271101064127110255412711025961271103724127110441412711055681271107945127110853212711130491271144472127114581212711468171271153329127115903912711597531271162179127116230612711676931271174248127117854012711792501271181575127118236212711829851271184913127119206512711973141271201546127120385012712375861271246529127125156212712660871271269157127127577012712793031271295373127132751712713305661271336567127134609712713464741271349533127135011112713510451271351937127135236012713525561271360750127136149512713636441271369249127137114112713730501271400511127141177912714127051271426390127143010412714302111271442256127144469912714587041271490432127149354212715044251271513870127151579312715186471271519859127152015812715215291271521971127152243012715249611271527811127152857512715410101271563453127157342412715735811271584624127158807712715894841271590021127159044012715945041271595420127159972812716001641271602026127160487912716069791271616134127165856712716848661271688158127169833212717020841271702553127170303312717037821271712042127171266112717537791271758267127176119812717735321271778931127178236612717860691271786436127178883912717928391271795519127179590912718489091271862278127186253512718664551271869279127187203112718741011271875956127187780112718781621271879047127187940612719366201271939159127194486812719610851271961222127197376512719864021272023786127202387512720281981272034775127203881512720393621272048387127204967712720544371272056217127206633012720679671272119124127211913712721249131272125187127212889412721321221272133012127213450012721352181272137423127213862012721391161272142464127214593012721546151272159048127216253412721777121272180080127219013112721939461272208630127220907412722102471272212136127221623412722175591272220049127222045712722210631272232909127229549212722964441272298636127230029212723005181272301599127230640512723066761272306658127230697512723132931272314942127231906112723512531272351615127235926512723668221272377716127238864912723913741272392225127239247712723933921272395454127240068612724063341272445031127244841612724512851272451589127245442512724546071272456125127246813212724693751272475989127247775812724808391272488523127248909712724905341272492261127255706812725646441272568101127257957312725807471272580919127261909812726195801272620215127262216312726366071272637026127265875012726613191272662712127266391012726706931272705960127271105012727176801272717898127271881712727194391272721419127272782112727393931272739644127279377412727953241272803909127281870412728246461272831116127283831112728416821272883862127288458812728996571272901977127290925412729125881272915862127291661812729283171272953530127296970012729711791272972225127297523312729875571272990500127299340212729947691273004553127300803712730673071273073541127307356812730739361273074513127308207812730821021273085774127308795812731162611273118761127313478212731677831273174932127323199512732473501273253198127325389312732598321273262625127326464212732746121273289189127330490212733099871273312746127331336012733157841273318120127332201012733371121273341776127334873412733497561273371602127339180812733973761273406652127341025312734133091273413921127341561812734164011273423214127342469512734295101273444341127347368312735008141273510219127351197512735140671273515317127351691212735196671273525556127352589812735280931273589239127358954512735921541273596635127359776112735984891273606732127365732312736630591273664562127366589712736698431273675312127367818412736804451273682038127368553312736861541273691552127369176812736963991273741644127374255012737442281273744944127374630412737463091273754612127375779612737721311273772622

Alors que moi j'aimerais que chaque champs un par un sois tester.

Genre :

1273696399, ensuite 912737416...

ViPHP
ViPHP | 1136 Messages

13 mai 2010, 21:34

Slt ,

déjà , je ne comprends pas comment tu fais pour utiliser les resultats en tableauu associatif alors que tu utilises

mysql_fetch_array ...

Pour ton cas ce devrait être plutôt mysql_fetch_assoc() .

ch.

Eléphant du PHP | 110 Messages

13 mai 2010, 21:37

Sa rend la même chose..

Mais j'aimerais vraiment savoir comment, le if testerais champs par champs et pas tout à la suite.

ViPHP
ViPHP | 1136 Messages

13 mai 2010, 22:00

Ton if se trouve bien dans ta boucle while ?
while ($r = mysql_fetch_array($q)) { 
  $e_mail = $r['time']; 
  
  //Pour voir ce que contient $e_mail
  var_dump($e_mail);

  if ( (time() - $e_mail) >= 2592000) { 
    mysql_query("DELETE FROM player WHERE mdp='$mdp'");      
  }
}
Ca te donne quoi .. car il n'y a as de raison qu'il concatène comme ca les résultats de ta requete .

Ch.

Eléphant du PHP | 110 Messages

13 mai 2010, 22:09

Voila l'erreur de ton code.
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /homez.344/fastandf/www/test.php on line 9

Et voici ce qu'un de mes amis, à fait :
while ($fetchRow = mysql_fetch_row(mysql_query("SELECT time FROM player")))
{
	if ((time() - $fetchRow['time']) >= 2592000)
	{
		mysql_query("DELETE FROM player WHERE mdp='$mdp'");
	}
}
Fonctionne pas non plu.

ViPHP
ViPHP | 1136 Messages

13 mai 2010, 22:26

Voila l'erreur de ton code.
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /homez.344/fastandf/www/test.php on line 9

Et voici ce qu'un de mes amis, à fait :
while ($fetchRow = mysql_fetch_row(mysql_query("SELECT time FROM player")))
{
	if ((time() - $fetchRow['time']) >= 2592000)
	{
		mysql_query("DELETE FROM player WHERE mdp='$mdp'");
	}
}
Fonctionne pas non plu.

Humm c'est bisard , le probléme n'est pas dans ce bout de code je penses ..
L'erreur qui s'affiche indique que la ressource que tu tentes de donner en paramétre à mysql_fetch_array n'est pas valide ..
Soit un probléme de connexion à ta base , soit au niveau de la requete .. champ non existant , erreur de syntaxe .. ect ...

SInon, j'ai fait une erreur due au copié coller de ton premier code , c'est mysql_fetch_assoc() que je voulais utiliser .. mais normalement ca ne va pas résoudre ton erreur de ressource

Eléphant du PHP | 110 Messages

14 mai 2010, 16:27

Cet erreur est plus au moins corrigé j'ai maintenant sa :
while ($fetchRow = mysql_fetch_row(mysql_query('SELECT time, mdp FROM player')))
{
	if ((time() - $fetchRow[0]) >= 2592000)
	{
		echo('<font color="red">'. $fetchRow[1] .'</font>')
		mysql_query('DELETE FROM player WHERE mdp = "'. $fetchRow[1] .'"');
	}
	else
	{
		echo('<font color="green">'. $fetchRow[1] .'</font>')
	}
}   
2 problèmes :

Les codes verts sont tous les même hors dans la bdd ils sont tous différents, les codes supprimé en rouge sont bien affiché et tous différent.
Le plu gros problème c'est qu'il faut 60secondes .. pour que tout sois OK, sur un mutualiser OVH. (Pas normal)