JeuWeb - Crée ton jeu par navigateur
[réglé] Sql et Random - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [réglé] Sql et Random (/showthread.php?tid=1363)

Pages : 1 2


[réglé] Sql et Random - V1nc3 - 30-06-2007

Petit question sql et fonction random, est il possible de faire une requête dans ce genre :

SELECT random(id) WHERE condition;

Ou sinon avec le php qu'est ce que ça pourrai donner?
Merci.


RE: Sql et Random - Kassak - 30-06-2007

En php tu peux recuperer la plus grande valeur, la plus petite, et tu fais un truc comme ca :

$random = mt_rand($petite_valeau,$grande_valeur);


RE: Sql et Random - taurri - 30-06-2007

Bah je pense que le plus simple est de faire :
Code PHP :
<?php 
$id
= mt_rand(id_min; id_max);

SELECT $id WHERE condition;

ou quelque chose comme ca ..

edit : trop tard xD


RE: Sql et Random - corentone - 30-06-2007

Il faut que tu etudies la fonction RAND() de SQL. Je l'utilise, et le Manuel est plutot clair(desolé j'ai pas le lien sous la main, je crois qu'il est dans la signature de pascalje. c'est un truc du genre dev.mysql.com)

Apres, pour prendre la plus petite et la plus grande valeur, il doit y avoir des fonctions SQL Wink

D'apres ce que j'ai entendu, SQL est plus rapide que php...


RE: Sql et Random - V1nc3 - 30-06-2007

Je sais encore utilisai un fonctio rand() en php avec min, max merci -_-

C'est pas ce que je cherche a faire ici, si on lit bien

-> je sélection une id au hasard dans ma table, MAIS a condition que un champ assossié a cet id soit par exemple = a cacahuète.

Donc je ne peux pas utiliser un rand() "normal"

D'ou la question de ce topic -_-"

J'aurai par exemple : 2, 5, 12 , 13
Et je veux en prendre une au hasard.


RE: Sql et Random - Mysterarts - 30-06-2007

Juste pour précision, la doc mysql dont parle corentone : http://dev.mysql.com/doc/refman/5.0/fr/
Sinon pour ton problème, je comprend pas trop, car justement, t'a question n'est pas clair (et j'ai compris la même chose que les autres, donc essai d'être plus explicite...)

Mysterarts


RE: Sql et Random - V1nc3 - 30-06-2007

Je peux difficilement vers plus explicite que le message au dessus....
J'ai une table avec des ids et d'autre champs.

Je veux que :
1) sélectionner les ids mais seulement certains (condition WHERE, par exemple les ids ou le champs n°3 = cacahuète)
2) puis dans ces ids (parce que du coup ils n'y sont pas tous et ne sont pas ordonnées, d'ou mon problème) je veux en prendre un au hasard

id -> fruit
1 -> banane
2 -> cachuète
3 -> haricot
4 -> kiwi
5 -> cacahuète

ex :

SELECT random(id) WHERE fruit = "cacahuète";

Résultat : soit 2, soit 5


RE: Sql et Random - Loetheri - 30-06-2007

utilise la fonction Random de MySQL.
Sinon en PHP, tu récupères toutes les données avec cacahuètes, tu les mets dans un tableau et tu prends une entrée au hasard. Pas si complexe, si ?


RE: Sql et Random - V1nc3 - 30-06-2007

Bah je voulais savoir si s'étais faisable en une seule requête ssql, sachant que j'ai essayé le random en sql et que ça n'a rien donné :/


RE: Sql et Random - Nessper - 30-06-2007

Code PHP :
<?php 
$query
= "SELECT id FROM joueurs WHERE fruit='cacahuete' ORDER BY rand() LIMIT 0,1";
$sql = mysql_query($req);

$mon_id = mysql_fetch_row($req);

Je pense que c'est la façon la plus rapide