doomer2 Posté 6 Avril 2006 Posté 6 Avril 2006 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 Posté 6 Avril 2006 Posté 6 Avril 2006 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 Posté 6 Avril 2006 Auteur Posté 6 Avril 2006 (modifié) pas évident à faire tout cela quand on maitrise pas le PHP sur le bout des doigts !! ;-) Modifié 6 Avril 2006 par doomer2
Sebastien Posté 6 Avril 2006 Posté 6 Avril 2006 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 Posté 6 Avril 2006 Posté 6 Avril 2006 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 : SELECT * FROM metiers ORDER BY RAND('2006-04-06') LIMIT 1
doomer2 Posté 6 Avril 2006 Auteur Posté 6 Avril 2006 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 : SELECT * FROM metiers ORDER BY RAND('2006-04-06') LIMIT 1 <{POST_SNAPBACK}> 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 Posté 6 Avril 2006 Posté 6 Avril 2006 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 : SELECT * FROM metiers ORDER BY RAND(CURDATE()) LIMIT 1
doomer2 Posté 6 Avril 2006 Auteur Posté 6 Avril 2006 Parfait, cela fonctionne impeccable. Merci beaucoup.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant