info aleatoire

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 : info aleatoire

Re: info aleatoire

par pcinfo » 13 sept. 2011, 15:20

ça y est !!! je me suis trompé dans l'écriture !!

devant mon include j'avais laissé un "/" !

MILLE MERCIS A TOI, moogli !
J'aime bien avancé grâce à toi !!! =D>
j'ai finit ma page d'accueil !

Re: info aleatoire

par pcinfo » 13 sept. 2011, 12:37

Je comprend !... je me casse la tete à appeller la fonction... du moins le contenue dans une auter page, hors le tient contient tout l'ensemble !!

effectivement ça marche, je dois trouver le moyen d'appeller le contenue dans la page breves.inc.php !

galere ! galere ! :|

Re: info aleatoire

par moogli » 13 sept. 2011, 11:53

dans le dernier code complet tu appel breve_aleatoire() au lieu de myrand()

j'ai testé
<?php 
//include ("breves.inc.php");
$liste= array(0,1,2,3,4,5);
function myRand(){
	global $liste;
	if( sizeof($liste) > 0 ) // il reste des nombres
	{
		shuffle($liste); // on mélange le tableau
		return array_shift($liste); // retourne le premier élément et le supprime du tableau
	}
	// sinon on ne renvoie rien
return;
}
echo myRand();
echo myRand();
echo myRand();

?>
et cela fonction comme tu le souhaite (a priori), a chaque affichage il y a jamais deux fois la même infos de sortie, jusqu'a ce que le tableau d'entrée soit vide ^^

@+

Re: info aleatoire

par macgawel » 13 sept. 2011, 11:43

Tu as bien défini $breve comme une variable globale ?
Et tu remplis ton tableau $breves à quel moment ? :roll:

Re: info aleatoire

par pcinfo » 13 sept. 2011, 11:34

Bien joué !! je suis bete de l'avoir copié deux fois !!! :roll:

Parcontre... j'ai toujours des doublons !!!
Il me semble pourtant avoir changer corectement $liste par $breves...

Re: info aleatoire

par Mazarini » 13 sept. 2011, 10:21

La function myRand() est définie 2 fois. Le message t'indique ou.
A toi d'une supprimer une ou d'en renommer une.

Re: info aleatoire

par pcinfo » 13 sept. 2011, 09:59

C'est vrai ! si je ne donne pas d'explication, on ne peut pas me comprendre ! SORRY ! :roll:

Donc voici ce que j'ai fait :

<?php include ("breves.inc.php");
$liste= array(0,1,2,3,4,5);
function myRand(){
global $liste;
if( sizeof($liste) > 0 ) // il reste des nombres
{
shuffle($liste); // on mélange le tableau
return array_shift($liste); // retourne le premier élément et le supprime du tableau
}
// sinon on ne renvoie rien
return;
}
echo breve_aleatoire();
echo breve_aleatoire();
echo breve_aleatoire();

?>

Et le message dans la page est :
Fatal error: Cannot redeclare myRand() (previously declared
in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\SITE\accueil\Sanstitre2.php:21)
in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\SITE\accueil\breves.inc.php on line 65

Re: info aleatoire

par Mazarini » 13 sept. 2011, 09:23

Bonjour,

J'ai trouvé cette solution très élégante pour tirer aléatoirement plusieurs éléments d'un tableau.

Re: info aleatoire

par macgawel » 13 sept. 2011, 09:05

J'ai copié sur ma page 1 et remplacé myRand par breve_aleatoire, néansmoins ça ne marche pas ! :(
C'est un peu court...
- Le script plante ? Message d'erreur ?
- Ca fonctionne mais le résultat ne correspond pas aux attentes ?
- Page blanche ?
- Autre (préciser) ?

Et si tu peux mettre du code, histoire qu'on ne joue pas à Madame Irma...
Au passage, tu peux mettre en forme le code, comme xTG, avec le bouton PHP ou les balises
. C'est plus lisible pour tout le monde...

Re: info aleatoire

par pcinfo » 13 sept. 2011, 09:01

Merci de m'avoir répondu si vite !!!

Hors je me croyais plus fort que ça !...

J'ai copié sur ma page 1 et remplacé myRand par breve_aleatoire, néansmoins ça ne marche pas ! :(

Re: info aleatoire

par xTG » 12 sept. 2011, 18:36

Il faudrait supprimer les éléments déjà tirés.

En gros :
$liste= array(0,1,2,3,4,5);
function myRand(){
  global $liste;
  if( sizeof($liste) > 0 ) // il reste des nombres
  {
    shuffle($liste); // on mélange le tableau
    return array_shift($liste); // retourne le premier élément et le supprime du tableau
  }
  // sinon on ne renvoie rien
  return;
}
echo myRand();
echo myRand();
echo myRand();

info aleatoire

par pcinfo » 12 sept. 2011, 18:18

Bonjour,

J'ai trouvé un script pour avoir des infos aléatoires sur une page PHP.
J'ai compris le principe et ça marche.

Hors quand j'en rajoute deux autres, il se peut que deux, voir les trois, soient identique.
Comment faire pour régler ce probleme ?? T_T

VOICI MON CODE :

Page 1 :

<?php include ("breves.inc.php");
breve_aleatoire();

breve_aleatoire();

breve_aleatoire();
?>

Page breves.inc.php :

<?php
function breve_aleatoire()
{
$breves=array(
" <class='Titrenews'> 01 </class> <br>
<table width='400' border='0' cellspacing='5' cellpadding='0'>
<tr>
<td>IMAGE</td>
<td align='left' valign='middle' class='texte01' >TEXTE</td>
</tr>
</table>
<br>
",
" <class='Titrenews'> 02 </class> <br>
<table width='400' border='0' cellspacing='5' cellpadding='0'>
<tr>
<td>IMAGE</td>
<td align='left' valign='middle' class='texte01' >TEXTE</td>
</tr>
</table>
<br>
",
" <class='Titrenews'> 03 </class> <br>
<table width='400' border='0' cellspacing='5' cellpadding='0'>
<tr>
<td>IMAGE</td>
<td align='left' valign='middle' class='texte01' >TEXTE</td>
</tr>
</table>
<br>
",
" <class='Titrenews'> 04 </class> <br>
<table width='400' border='0' cellspacing='5' cellpadding='0'>
<tr>
<td>IMAGE</td>
<td align='left' valign='middle' class='texte01'>TEXTE</td>
</tr>
</table>
<br>
",
" <class='Titrenews'> 05 </class> <br>
<table width='400' border='0' cellspacing='5' cellpadding='0'>
<tr>
<td>IMAGE</td>
<td align='left' valign='middle' class='texte01'>TEXTE</td>
</tr>
</table>
<br>
",
" <class='Titrenews'> 06 </class> <br>
<table width='400' border='0' cellspacing='5' cellpadding='0'>
<tr>
<td>IMAGE</td>
<td align='left' valign='middle' class='texte01'>TEXTE</td>
</tr>
</table>
<br>
",

);
$num_breve=rand(0, sizeof($breves)-1 );
echo $breves[$num_breve];
}
?>


D'avance merci :priere: