execution automatique de pages:

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


sim100
WRInaute accro
WRInaute accro
 
Messages: 1286
Inscription: Dim Fév 02, 2003 18:45

execution automatique de pages:

Message le Mar Mar 30, 2004 18:47

Bonjour
En fait, j'ai 2 petites questions, ce serait super si vous saviez :o
1) J'ai un site ou j'ai des personnes qui s'inscrivent. Via la partie admin, je peux voir la liste des inscrits. Mais je voudrais que dans le tableau que j'affiche, une ligne soit en gris et celle du dessous en gris plus clair, alternativement, afin que le tableau soit bien lisible.
Donc j'ai un boucle for (i=1, 1<20, i=i+1) { je reccupere le tableau }
Et je pensais faire dans le tableau: un si i est pair alors la ligne est grise, si i est impaire la ligne est grise plus clair. Mais comment savoir si i est paire opu impaire.
Je pensais: si i/2 donne un resultat entier...
Si qqun a une idee.

2) Lorsqu'un abonnement est fini, le compte de la personne a cette date doit se detruire automatiquement. Comment faire. Meme si personne n'est sur le site. Y a t'il un moyen?


Merci beaucoup pour tout :P


blman
WRInaute accro
WRInaute accro
 
Messages: 2915
Inscription: Ven Sep 05, 2003 10:46

Message le Mar Mar 30, 2004 19:01

- Pour l'affichage "une ligne sur deux", tu a raison.
si round(i/2)==i/2 alors ma_ligne=gris
sinon ma_ligne=gris_clair

- pour le désabonnement, tu peux par exemple effectuer une tache "cron" qui va executer ta requete (DELETE FROM table WHERE (date_abonn+1an)>TODAY) (je ne me rappelle plus la requete exacte, je te la donne demain si personne ne te la donne d'ici là)


sim100
WRInaute accro
WRInaute accro
 
Messages: 1286
Inscription: Dim Fév 02, 2003 18:45

MERCI

Message le Mar Mar 30, 2004 19:17

Merci beaucoup, j'attends demain :P
Juste un petit detail: c'est quoi exactement round(i/2)==i/2? Cela renvoie quoi

Merci encore

webrankinfo
 

Message le Mar Mar 30, 2004 19:25

Juste un petit detail: c'est quoi exactement round(i/2)==i/2? Cela renvoie quoi


et ben fais le avec i=11 et i=12 et tu comprendras par toi-même, c'est bien plus jouissif :wink:

sinon il y a l'opérateur modulo qui fait ça tout seul...

if (i%2 == 0){..} else {..}

si c'est du php tu penseras à mettre $i, pas i tout court :roll:


blman
WRInaute accro
WRInaute accro
 
Messages: 2915
Inscription: Ven Sep 05, 2003 10:46

Message le Mar Mar 30, 2004 19:29

par exemple, en php:

----------------------------------
$i=5

round($i/2) donne 2 (ou 3, sait plus de mémoire)
$i/2 donne 2.5

donc round($i/2) n'est pas égale à ($i/2), donc $i est impair
----------------------------------
$i=4

round($i/2) donne 2
$i/2 donne 2

donc round($i/2) est égale à ($i/2), donc $i est pair
-----------------------------------

La fonction round($i) permet d'arrondir son argument $i (mais c en PHP, a voir sur quel langage tu bosse)


Pareil pour la requete que je vais te filer, c'est du SQL (MySQL).


George Abitbol
WRInaute accro
WRInaute accro
 
Messages: 1923
Inscription: Ven Juin 06, 2003 7:57

Message le Mar Mar 30, 2004 19:33

Ben si i est pair, alors i/2 sera égal à round(i/2) (puisqu'un entier arrondi ça reste cet entier). Donc ce test sert à voir si i est pair.
Pour ma part j'aurais utilisé if ($i % 2 == 0) mais bon ;)

-> http://www.php.net/manual/fr/language.o ... hmetic.php

Sinon pour la requête c'est
Code: Tout sélectionner
DELETE FROM ta_table WHERE (date_abonnement + INTERVAL 1 YEAR) > NOW()
(enfin, modifie le nom du champ et la durée selon tes besoins)

-> http://www.mysql.com/doc/en/Date_and_ti ... tions.html

Tu n'es pas forcément obligé de faire un CRON, tu pourrais par exemple contrôler la validité de l'abonnement (et éventuellement effacer le compte) lorsque la personne essaye de se connecter. Auquel cas tu ferais d'abord une requête pour vérifier la validité du compte et s'il n'est pas valide tu ferais un DELETE sur l'identifiant du compte. A toi de voir.

Fred


sim100
WRInaute accro
WRInaute accro
 
Messages: 1286
Inscription: Dim Fév 02, 2003 18:45

Pour blman

Message le Mer Mar 31, 2004 18:43

blman a écrit:- Pour l'affichage "une ligne sur deux", tu a raison.
si round(i/2)==i/2 alors ma_ligne=gris
sinon ma_ligne=gris_clair

- pour le désabonnement, tu peux par exemple effectuer une tache "cron" qui va executer ta requete (DELETE FROM table WHERE (date_abonn+1an)>TODAY) (je ne me rappelle plus la requete exacte, je te la donne demain si personne ne te la donne d'ici là)


Bonjour
Tu as ton exemple de code blman SVP.
Je te remercie

duch
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 194
Inscription: Mer Avr 09, 2003 10:33

Message le Jeu Avr 01, 2004 16:56

il y avait mieux :

en javascript (par exemple mais ça marche dans tous les langages)

Code: Tout sélectionner
<script>
colors = ["DDDDDD","EEEEEE"];

for (i=0; i<20; i++) {
  document.write("<tr bgcolor='#"+colors[i%2]+"'><td>&</td></tr>")
}
</script>
Dernière édition par duch le Jeu Avr 01, 2004 17:13, édité 1 fois.


George Abitbol
WRInaute accro
WRInaute accro
 
Messages: 1923
Inscription: Ven Juin 06, 2003 7:57

Message le Jeu Avr 01, 2004 16:58

C'est tout sauf mieux...

-> c'est dépendant de la config visiteur
-> le code produit est obsolète et non conforme aux standards

Fred

duch
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 194
Inscription: Mer Avr 09, 2003 10:33

Message le Jeu Avr 01, 2004 17:10

1. j'ai précisé que ça pouvait marcher autrement qu'en javascript. Ce que je donne ici c'est l'algorithme histoire d'élever le niveau en prog.

2. le code produit, j'm'en fous j'ai mis le code juste pour expliquer où il fallait le mettre.

tu le veux en PHP?

Tiens comme tu n'aime pas le code en voici un autre pour faire un arc en ciel :

ça sert à rien mais ça me fais marrer :D

Code: Tout sélectionner
<script>
colors = ["CC0000","CC6600","FFFF00","00FF00","0000FF"]

for (i=0; i<colors.length; i++) {
  document.write("<tr bgcolor='#"+colors[i%colors.length]+"'><td>&</td></tr>")
}
</script>



PS : il y un dans mon code moins d'hérésie que dans ceux donner précédemment.

genre i=i+1 ou encore une boucle qui commence à 1 :D et je ne parle même pas de l'utilisation de round pour le pair/impair


George Abitbol
WRInaute accro
WRInaute accro
 
Messages: 1923
Inscription: Ven Juin 06, 2003 7:57

Message le Jeu Avr 01, 2004 17:18

duch a écrit:1. j'ai précisé que ça pouvait marcher autrement qu'en javascript. Ce que je donne ici c'est l'algorithme histoire d'élever le niveau en prog.


La précision n'y était pas au moment où je répondais, tu devais être en train de l'ajouter ;)
Mais sinon je suis d'accord pour l'algo.

Fred

duch
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 194
Inscription: Mer Avr 09, 2003 10:33

Message le Jeu Avr 01, 2004 17:21

oui effectivement, j'ai éditer mon post juste après l'avoir posté, on a dû se croiser.

au temps pour moi


sim100
WRInaute accro
WRInaute accro
 
Messages: 1286
Inscription: Dim Fév 02, 2003 18:45

Pardon

Message le Jeu Avr 01, 2004 19:12

:oops:
Desole pour avoir cree le nouveau poste, je ne savais pas.

Ce que tu m'as propose est tres bien, je voulais juste avoir la solution que me proposait blman, c'est tout.

Desole encore
Merci


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités