par hasard

comment marche le critère par_asard?

L'appel succesive deux fois à cette boucle au cours de la même page donne les mêmes valeurs lors de la première consutation de cette page.
Ensuite, si je reviens sur la page, les valeurs sont différentes.

Comment assurer de vraies valeurs par asard dès la première consultation de la page?
<code>

<table>
<BOUCLE_PHOTOS(ARTICLES) {id_rubrique=49}{par num titre}{0,1}{par hasard}>

<BOUCLE_MC(MOTS){type=Styles Photos pour prier}{0,1}>
<td width='20%' class='date_evcom' >
<center>
  <img src='[(#URL_SITE_SPIP)]/perso/imagepetit.php?h=100&amp;w=100&amp;fic=[(#URL_SITE_SPIP)]/IMG/[(#_PHOTOS:LOGO_ARTICLE|fichier)]'
alt='' title=''>
</a>
</center>
  </td>
</BOUCLE_MC>
</BOUCLE_PHOTOS>

</tr></table>
</code>

Rémi wrote:

comment marche le critère par_asard?

L'appel succesive deux fois à cette boucle au cours de la même page donne les mêmes valeurs lors de la première consutation de cette page.
Ensuite, si je reviens sur la page, les valeurs sont différentes.

Comment assurer de vraies valeurs par asard dès la première consultation de la page?
<code>

<table>
<BOUCLE_PHOTOS(ARTICLES) {id_rubrique=49}{par num titre}{0,1}{par hasard}>

<BOUCLE_MC(MOTS){type=Styles Photos pour prier}{0,1}>
<td width='20%' class='date_evcom' >
<center>
  <img src='[(#URL_SITE_SPIP)]/perso/imagepetit.php?h=100&amp;w=100&amp;fic=[(#URL_SITE_SPIP)]/IMG/[(#_PHOTOS:LOGO_ARTICLE|fichier)]'
alt='' title=''>
</a>
</center>
  </td>
</BOUCLE_MC>
</BOUCLE_PHOTOS>

</tr></table>
</code>

Réponse d'un profane qui n'y connais pas grand chose.

Le hasard en informatique n'existe pas. En fait, il s'agit d'une liste de nombre calculée en fonction d'un chiffre qu'on appelle une graine (seed) et qui produit une succession de nombres qui semblent donnés au hasard.

Peut être que lors de l'initialisation, la graine donne deux fois le même chiffre pour commencer...

Que ce passe-t-il si tu met trois quatre ou cinq fois la boucle ?

--

Olivier G.
http://talath.no-ip.info/~carmine/blog/dotclear/index.php/

En fait, après analyse, il s'agit d'un "horrrrrible" effet de bord du cache.
1) au prmeir appel, le résultat est caché
2) au deuxième appel, la valeur présente dans le cache est fournie
3) tous les appels suivants sont fait avec var_mode=recalcul et donc l'effet 'cache' ne joue plus

Rémi wrote:

En fait, après analyse, il s'agit d'un "horrrrrible" effet de bord du cache.
1) au prmeir appel, le résultat est caché
2) au deuxième appel, la valeur présente dans le cache est fournie
3) tous les appels suivants sont fait avec var_mode=recalcul et donc l'effet 'cache' ne joue plus

J'ai rien compris à ton analyse...

--

Olivier G.
http://talath.no-ip.info/~carmine/blog/dotclear/index.php/