IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Article au hasard par rapport à la bdd [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre expérimenté
    Avatar de Jarodd
    Profil pro
    Inscrit en
    Août 2005
    Messages
    851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 851
    Points : 1 717
    Points
    1 717
    Par défaut Article au hasard par rapport à la bdd
    Bonjour,

    J'ai une base de données d'article pour mon site. J'essaye de faire fonction permettant d'en sélectionner un sur toutes les entrées, en sachant que certaines sont vides (id2, id3, id4 n'existe pas, id5, etc, donc la n°4 ne doit pas pouvoir être sélectionnée).

    Voilà où j'en suis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $rqt_article_hasard = " SELECT * FROM `articles` ORDER BY `articles`.`id_articles` ASC ";
    $rst_article_hasard = mysql_query($rqt_article_hasard);
     
    while ( $tri_hasard_articles = mysql_fetch_array($rst_article_hasard) ) {
    	for ($cpt_hasard = 0; $cpt_hasard <= $nb_total_articles; $cpt_hasard++) {
    		$num_article['compteur'] = $tri_hasard_articles['compteur'];
    		echo $num_article['compteur'];
    	}
    }
    J'ai essayé de récupéré toutes les entrées, et de les affecter à un tableau, mais cela ne marche pas et je ne trouve pas d'info pour réussir...

    Merci pour votre aide !

    Jarodd

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Y'a peut-être moyen de faire tout dans la requête avec le RAND MySql.

    http://dev.mysql.com/doc/refman/4.1/...#function_rand
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  3. #3
    Membre expérimenté
    Avatar de Jarodd
    Profil pro
    Inscrit en
    Août 2005
    Messages
    851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 851
    Points : 1 717
    Points
    1 717
    Par défaut
    Je ne comprend pas le N comme initialisation du générateur de nombres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Retourne un nombre aléatoire à virgule flottante compris dans l'intervalle 0 - 1.0. Si l'argument entier N est spécifié, il est utilisé comme initialisation du générateur de nombres aléatoires.
     
    mysql> SELECT RAND(20);
            -> 0.15888261251047
    Pourquoi seulement un intervalle de 0 à 1 ? Et dans ce cas comment exclure les entrées de la bdd qui n'existent pas ?

  4. #4
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    C'est plutôt à l'autre exemple de la doc que je pensais...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM tbl_name ORDER BY RAND();
    Avec un LIMIT 1 derrière ça doit donner quelque chose de pas mal peut-être


    Après les histoires avec les ids j'ai pas capté, mais pour filtrer c'est dans le WHERE classique dans les requête (à mon avis c'est plus complexe ton problème lol).
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  5. #5
    Membre expérimenté
    Avatar de Jarodd
    Profil pro
    Inscrit en
    Août 2005
    Messages
    851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 851
    Points : 1 717
    Points
    1 717
    Par défaut
    Ca a l'air de bien fonctionner ? Merci

    Mais je ne comprend pas bien le ORDER BY RAND(), "classé par ordre aléatoire" c'est ça ?

  6. #6
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Citation Envoyé par Jarodd Voir le message
    Mais je ne comprend pas bien le ORDER BY RAND(), "classé par ordre aléatoire" c'est ça ?
    Ouais apparement (je connaissais pas non plus j'ai appris un truc).
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/03/2015, 08h38
  2. Probleme de cast par rapport à ma BDD
    Par paladice dans le forum ASP.NET
    Réponses: 4
    Dernier message: 23/05/2013, 11h00
  3. Réponses: 4
    Dernier message: 03/01/2010, 15h59
  4. Recherche dans table de BDD par rapport à deux champs
    Par kiops dans le forum Bases de données
    Réponses: 4
    Dernier message: 09/03/2007, 12h21
  5. [BDD] Rapidité par rapport à des méthodes
    Par nicotine002 dans le forum Langage
    Réponses: 9
    Dernier message: 07/06/2006, 10h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo