Version complète: sur le forum Webmaster Hub : Recherche un script PHP
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
doomer2
Bonjour,

Je souhaiterais mettre en place un script qui me permette d'afficher chaque jour un nouveau champ de ma base données ainsi que son image qui est associée.

Existe t'il cela ? Par exemple, je souhaiterais afficher l'intutlé d'un métier et que le descriptif de ce métier et une photo.

Donc chaque jour la fonction choisit dans ma table de données une ligne et ses champs correspondant.

Mais comment faire ?

Merci pour votre aide.
Kalt
Tu peux créer une table "metier_du_jour" avec un id_metier et une date. A chaque fois que tu veux appeler ton script tu testes s'il y a un id_metier pour la date du jour, si oui tu l'affiches, sinon tu en choisis un au hasard dans ta table metier et tu l'insères dans la table "metier_du_jour".
doomer2
pas évident à faire tout cela quand on maitrise pas le PHP sur le bout des doigts !! ;-)
Sebastien
Je connais un script ultra simple qui ne nécessite pas de BDD, mais par contre l'affichage est aléatoire, et change donc à chaque chargement de page :
http://triumphantmedia.com/projects.php
captain_torche
Tu n'es pas obligé de créer une table rien que pour cela !
Tu peux simplement obliger le hasard à conserver la même valeur tout le long de la journée.
Pour ça, tu as besoin de mettre en paramètre, une valeur différente pour chaque jour (et, pourquoi faire compliqué, autant mettre la date du jour lui-même).
Ta requête ressemblerait donc à ça :
SQL
SELECT * FROM metiers ORDER BY RAND('2006-04-06') LIMIT 1
doomer2
CITATION(captain_torche @ jeudi 06 avril 2006, 15h42)
Tu n'es pas obligé de créer une table rien que pour cela !
Tu peux simplement obliger le hasard à conserver la même valeur tout le long de la journée.
Pour ça, tu as besoin de mettre en paramètre, une valeur différente pour chaque jour (et, pourquoi faire compliqué, autant mettre la date du jour lui-même).
Ta requête ressemblerait donc à ça :
SQL
SELECT * FROM metiers ORDER BY RAND('2006-04-06') LIMIT 1

*



Je viens de tester avec cette requête mais j'obtiens toujours la même ligne de ma base à l'affichage même en changeant la date.
captain_torche
Si tu as fait un simple copier-coller, ça me semble normal, vu que la date est en 'dur'.
A la base, je comptais te faire compléter la date avec PHP, mais je viens de me souvenir que c'était possible en SQL.
Ta requête ressemblerait donc à ça :
SQL
SELECT * FROM metiers ORDER BY RAND(CURDATE()) LIMIT 1
doomer2
Parfait, cela fonctionne impeccable. Merci beaucoup.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.