Script PHP

Statut
N'est pas ouverte pour d'autres réponses.
G

Guest

ex membre
Voilà j'ai besoin d'un script qui m'afficherai par exemple, des titres de MioUziK et a chaque fois que je rafraichit la page, l'ordre des titres est mélanger et remis dans un ordre aléatoire ....
 

ReVaN

Elite
1 post aurait suffit...
 
1er
OP
G

Guest

ex membre
oui j'ai aps fait exprés g cliker 2 fois de suite ..mais bon spa la fin du monde ni la perte de ce forum ...
 
N

niafron

ex membre
mmmh si t un novice en php, t devrais faire l effort d ecrire ce script

( apres reflection de 10 sec ) il na pas lair si terrible
- fonction random
- tripotage de string

par contre si tu c pas c koi du php, je me ferai un plaisir de t aider
 
N

niafron

ex membre
allez hop, la solution

si ca c pas etre opensource lol

Code:
function randCase($string) {
        for ($i = 0; $i < strlen($string); $i++) {
                $random = rand(1, 2);
                // if $random = 1, letter = lowercase letter
                // if $random = 2, letter = uppercase letter
                if ($random == 1)
                        $string[$i] = strtolower($string[$i]);
                else if ($random == 2)
                        $string[$i] = strtoupper($string[$i]);
        
        }
        return $string;

}
updated
 
N

niafron

ex membre
je viens de lire ke c pas DU TOUT ce kil fallait
lol

la je melange, pour un mot, maj et minuscule :p

donc azerty donne AzERty et a chaque refresh ca change

bon toi c le nom de musique que tu veux modifier ?
donc ds tas DB tu as des titre et tu veux les ressortir pif pouf nimporte nawak ?

sniff je me suis casse le cul a optimiser ma fct pour rien :'(
 
1er
OP
G

Guest

ex membre
oui une genre de liste comme:

  • pouet
    erf
    arf
    lol
    noob

et a chaque fois que je rafraichit HOP l'ordre est mélanger a la nawak
 

SUEd

Touriste
je ne sais pas si une fonction plus simple existe, mais à priori, je dirais que la marche à suivre est :


- charger dans un tableau les titres
- faire un random sur l'indice (avec min = 0 et max = le nombre de titre - 1)
- retenir l'indice sorti dans un tableau d'indices déjà sorti
- si jamais l'indice qui sort est déjà sorti, il faut boucler jusqu'à ce que l'indice qui sort ne soit pas encore sorti
- afficher le titre
- recommencer la boucle

Problèmes possibles :
- plus il y aura de titres déjà sorti, plus de temps ca risque de prendre car la fonction de random risque de prendre du temps avant de tomber dans les nombres non encore sortis :)

fo voir s'il n'y a pas moyen d'optimiser la fonction (genre, empêcher des nombres de sortir, pour la fonction random)

(je n'écris pas la fonction pour le moment, car j'attend d'avoir d'autres avis. Ptet qu'il y a une autre idée qui sera bien meilleure) :)
 
N

niafron

ex membre
mmh autre possibilite


ds la DB, chaque titre a un chiffre
un random de 1 a MAX_TITRE
puis fetch du titre


jadmet, si la table nest pas ds la memoire du serveur, les acces disk vont etre douloureux :p

edit : malheureusement, il n y a pas d option pour faire sortir un select en random :'( ( ou bien je lai pas trouve )
 

SUEd

Touriste
NiafroN a dit:
mmh autre possibilite


ds la DB, chaque titre a un chiffre
un random de 1 a MAX_TITRE
puis fetch du titre


jadmet, si la table nest pas ds la memoire du serveur, les acces disk vont etre douloureux :p

edit : malheureusement, il n y a pas d option pour faire sortir un select en random :'( ( ou bien je lai pas trouve )
le problème est qu'en faisant un random, tu dois tout de meme garder en mémoire les chiffres déjà sortis pour ne pas afficher deux fois le même titre ;)
Je pense que cette solution est plus ou moins la même que celle que j'ai proposé, sauf que toi, tu ferais un accès à la base de données à chaque fois (moins de mémoir utilisée, mais + d'accès disque) et que moi, je propose de charger la table dans un tableau (moins d'accès disque, mais + de mémoire utilisée). Ca revient plus ou moins au même quoi ;)
 
N

niafron

ex membre
SUEd a dit:
NiafroN a dit:
mmh autre possibilite


ds la DB, chaque titre a un chiffre
un random de 1 a MAX_TITRE
puis fetch du titre


jadmet, si la table nest pas ds la memoire du serveur, les acces disk vont etre douloureux :p

edit : malheureusement, il n y a pas d option pour faire sortir un select en random :'( ( ou bien je lai pas trouve )
le problème est qu'en faisant un random, tu dois tout de meme garder en mémoire les chiffres déjà sortis pour ne pas afficher deux fois le même titre ;)
Je pense que cette solution est plus ou moins la même que celle que j'ai proposé, sauf que toi, tu ferais un accès à la base de données à chaque fois (moins de mémoir utilisée, mais + d'accès disque) et que moi, je propose de charger la table dans un tableau (moins d'accès disque, mais + de mémoire utilisée). Ca revient plus ou moins au même quoi ;)
yep c fondamentalement la meme chose :wink: on a aussi le meme objectif :)
mais bon je favoriserais la mise en table car, de nombreux acces disk c pas une bonne idee ( et je doute ke la table se trouve ds la memoire vive du serveur ) ( je pense kil y a une option pour mais je suis pas sur je dois relire mes bookins :p )
 

SUEd

Touriste
OsTriKeR a dit:
Voilà j'ai besoin d'un script qui m'afficherai par exemple, des titres de MioUziK et a chaque fois que je rafraichit la page, l'ordre des titres est mélanger et remis dans un ordre aléatoire ....
tu as trouvé ton bonheur, ou tu veux toujours de l'aide ?:)
 
N

niafron

ex membre
oui

si c pour random titre fodrai indiker ou sont stocker les titres ;)

( tiens 50 define() c pas une bonne idee :D )
 

guslinux

Gamerz'ien
pfff et ca sert a quoi ton truc ?? l'intéret est où ??
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut