Hasard, aléatoire et php
Fermé
cedopolice
Messages postés
146
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
15 février 2011
-
4 août 2009 à 22:10
zoby44 Messages postés 818 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 7 avril 2010 - 6 août 2009 à 16:12
zoby44 Messages postés 818 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 7 avril 2010 - 6 août 2009 à 16:12
A voir également:
- Hasard, aléatoire et php
- Easy php - Télécharger - Divers Web & Internet
- Tirage au sort excel aléatoire sans doublon ✓ - Forum Excel
- Php natif - Forum PHP
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
- Numéro pour appeler des gens au hasard ✓ - Forum Mobile
10 réponses
cheese42
Messages postés
860
Date d'inscription
mardi 11 septembre 2007
Statut
Membre
Dernière intervention
10 octobre 2018
120
5 août 2009 à 00:55
5 août 2009 à 00:55
salut, au cas ou, j'ai ce script qui affiche des bannieres au hasard parmis les 4 proposes a chaque fois que la page est actualisee, si ca peut t'aider un peu, voici le script ^^
<script language="javascript">
<!--
var nombre = 4;
var temps = new Date()
var seconde = temps.getSeconds()
var banniere = seconde % nombre;
banniere +=1;
if (banniere==1) {
url="http://www.site1.com";
alt="site1";
banner="http://www.ban1.jpg";
width="468";
height="60";
}
if (banniere==2) {
url="https://www.site2.com/";
alt="site2";
banner="http://www.ban2.gif";
width="468";
height="60";
}
if (banniere==3) {
url="http://www.site3.com";
alt="site3";
banner="http://www.ban3.gif";
width="468";
height="60";
}
if (banniere==4) {
url="http://www.site4.com";
alt="site4";
banner="http://www.ban4.gif";
width="468";
height="60";
}
document.write('<a href=\"'+url+'\" target=\"_blank\">');
document.write('<img src=\"'+banner+'\" width=')
document.write(width+'height='+height+'');
document.write('alt=\"'+alt+'\" border=0></a>');
//-->
</script>
@++.......
<script language="javascript">
<!--
var nombre = 4;
var temps = new Date()
var seconde = temps.getSeconds()
var banniere = seconde % nombre;
banniere +=1;
if (banniere==1) {
url="http://www.site1.com";
alt="site1";
banner="http://www.ban1.jpg";
width="468";
height="60";
}
if (banniere==2) {
url="https://www.site2.com/";
alt="site2";
banner="http://www.ban2.gif";
width="468";
height="60";
}
if (banniere==3) {
url="http://www.site3.com";
alt="site3";
banner="http://www.ban3.gif";
width="468";
height="60";
}
if (banniere==4) {
url="http://www.site4.com";
alt="site4";
banner="http://www.ban4.gif";
width="468";
height="60";
}
document.write('<a href=\"'+url+'\" target=\"_blank\">');
document.write('<img src=\"'+banner+'\" width=')
document.write(width+'height='+height+'');
document.write('alt=\"'+alt+'\" border=0></a>');
//-->
</script>
@++.......
PMax-57
Messages postés
195
Date d'inscription
lundi 15 juin 2009
Statut
Membre
Dernière intervention
12 février 2017
40
6 août 2009 à 08:03
6 août 2009 à 08:03
Salut,
Pas forcément si on indique à php de trouver autre chose si la ligne est vide :
Pas forcément si on indique à php de trouver autre chose si la ligne est vide :
$dernierid = mysql_query('SELECT id FROM portfolio ORDER BY id DESC LIMIT 0,1'); //On récupère le dernier ID enregistré dans la BDD. $idaleat = rand(1, $dernierid); //On récupère un nombre au hasard entre 1 et le nombre max d'ID. @$req = mysql_query('SELECT * FROM portfolio WHERE id = \'idaleat\' ') ; //Récupération de la requete if (@mysql_num_rows($req)>0){ //Si la ligne existe... @$rep = mysql_fetch_object($req); //...On récupère les infos avec REP } Sinon il ne se passe rien ! Bien entendu, avec un joli croisement entre ce code et un petit "while", on devrait arriver à créer une belle boucle qui relancera la requette tant que la ligne est vide. bonne journée à tous !
zoby44
Messages postés
818
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
7 avril 2010
199
6 août 2009 à 16:12
6 août 2009 à 16:12
C'est vrai. Pourquoi fais simple quand on peut faire compliqué...
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
4 août 2009 à 22:26
4 août 2009 à 22:26
la fonction rand qui peut tegenerer un nombre aleatoire et meme borné entre une valeur mini et maxi
le resultat correspondra aux id de tes liens ( bien sur il faut que tes lien aient un id..
http://www.manuelphp.com/php/function.rand.php
le resultat correspondra aux id de tes liens ( bien sur il faut que tes lien aient un id..
http://www.manuelphp.com/php/function.rand.php
leto23
Messages postés
86
Date d'inscription
samedi 17 novembre 2007
Statut
Membre
Dernière intervention
24 janvier 2010
6
4 août 2009 à 22:28
4 août 2009 à 22:28
Salut,
pour le aléatoire utilise la fonction php rand(min, max)
Elle choisie un nombre entre min et max inclues.
Après pour tes liens, tu peut te servir d'une base de donner contenant X liens numéroté de 1 a X et quand tu charge ta page, tu fais 3 rand(1, X) successif, qui te donne 3 chiffres ou chaque chiffre correspond a un lien différent...c'est a mon avis la technique la plus simple a réaliser (mas pas forcement la plus optimisé lol)
pour le aléatoire utilise la fonction php rand(min, max)
Elle choisie un nombre entre min et max inclues.
Après pour tes liens, tu peut te servir d'une base de donner contenant X liens numéroté de 1 a X et quand tu charge ta page, tu fais 3 rand(1, X) successif, qui te donne 3 chiffres ou chaque chiffre correspond a un lien différent...c'est a mon avis la technique la plus simple a réaliser (mas pas forcement la plus optimisé lol)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
cedopolice
Messages postés
146
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
15 février 2011
2
4 août 2009 à 23:59
4 août 2009 à 23:59
Merci messieurs,
Je comprends rien à ce que vous dites mais je vais faire des recherches et étudier le lien avec vos infos.
Je suis un vrai débutant, alors, si vous avez quelque chose de simple, n'hésitez pas!
Merci!
Je comprends rien à ce que vous dites mais je vais faire des recherches et étudier le lien avec vos infos.
Je suis un vrai débutant, alors, si vous avez quelque chose de simple, n'hésitez pas!
Merci!
cedopolice
Messages postés
146
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
15 février 2011
2
5 août 2009 à 02:01
5 août 2009 à 02:01
merci aussi pour ton aide, mais je penchais plutôt pour une solution en php, que pensez vous de cette solution (qui marche) à propos de la securite, le referencement (car les liens changeront souvent)?:
Et dans chaque page (1.php, 2.php....) les liens à inserer aléatoirement.
<?php $pages = array('1.php', '2.php', '3.php', '4.php', ); $page = array_rand($pages); if (file_exists($pages[$page])) { include($pages[$page]); } ?>
Et dans chaque page (1.php, 2.php....) les liens à inserer aléatoirement.
cedopolice
Messages postés
146
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
15 février 2011
2
5 août 2009 à 23:59
5 août 2009 à 23:59
Bonsoir,
Personne n'a d'idée?
Personne n'a d'idée?
PMax-57
Messages postés
195
Date d'inscription
lundi 15 juin 2009
Statut
Membre
Dernière intervention
12 février 2017
40
6 août 2009 à 00:01
6 août 2009 à 00:01
Salut
Pour générer une variable aléatoire, rien de mieux que la fonction rand()
exemple :
De là, tu peux utiliser ce chiffre pour chercher des ID dans ta base SQL
Tu combines quoi ...
bonne chance
Pour générer une variable aléatoire, rien de mieux que la fonction rand()
exemple :
echo rand(5, 15);// Affiche un chiffre entre 5 et 15.
De là, tu peux utiliser ce chiffre pour chercher des ID dans ta base SQL
Tu combines quoi ...
bonne chance
zoby44
Messages postés
818
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
7 avril 2010
199
6 août 2009 à 00:38
6 août 2009 à 00:38
Salut. A mon avis, c'est un peu risqué d'utiliser la fonction rand() de php. Si un article a été supprimé et que le chiffre tiré est celui de cet article, il risque d'y avoir une belle erreur.
A ta place, si tu utilises une base de données, utilise plutôt la fonction rand() de mysql.
A ta place, si tu utilises une base de données, utilise plutôt la fonction rand() de mysql.
$sql = 'SELECT * FROM articles ORDER BY RAND() LIMIT 1';
cedopolice
Messages postés
146
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
15 février 2011
2
6 août 2009 à 16:04
6 août 2009 à 16:04
Merci pour vos réponses, mais je ne connais pas assez le mysql pour le momment.
Cette solution marche, et je voulais savoir ce que vous en pensiez de façon générale et sécurité, s'il faut améliorer...
les pages 1.php, 2.php contiennent les liens à inclure aléatoirement.
Merci!
Cette solution marche, et je voulais savoir ce que vous en pensiez de façon générale et sécurité, s'il faut améliorer...
<?php $pages = array('1.php', '2.php', '3.php', '4.php', ); $page = array_rand($pages); if (file_exists($pages[$page])) { include($pages[$page]); } ?>
les pages 1.php, 2.php contiennent les liens à inclure aléatoirement.
Merci!