PDA

Afficher la version complète : [Réglé] PHP MySQL



adminlinux
02/04/2006, 13h58
Bonjour,

J'aimerais savoir comment on fais pour suprimé une annonce automatiquement apret 15 jours ou 30 jours
Faus t'il a l'inscrition mètre une date etc, bref je début et sa me passionne...

Enfin, dans le style de ebay quand vous avez une annonce pour 10 jours quoi....

Dudule-le-poisson
02/04/2006, 15h38
Bah quand tu inscrits ton annonce dans ta base de données, tu lui colles la date à laquelle elle a été créée. Puis dans le script d'affichage des annonces, tu rajoutes une requete qui supprime toutes les annonces vieilles de plus de X jours.

adminlinux
02/04/2006, 18h01
ben oui, sa je sais déjà, la théorie est bien cal dans ma tète, ce qui me pause problème, c'est la réalisation, c'est devenu la jeugle pour moi.... http://www.alionet.org/style_emoticons/<#EMO_DIR#>/sad.gif

Moi et ma copinne on a passé 3h sur google et rien trouvé qui puisse m'aider...

Dudule-le-poisson
02/04/2006, 19h38
/* */

Et... tu bloques où exactement ?

adminlinux
02/04/2006, 20h23
ben, j'ai la th&orie dans la tète, en pratique je sais pas comment m'y prandre quoi http://www.alionet.org/style_emoticons/<#EMO_DIR#>/sad.gif

Je sais pas ou je mes la date http://www.alionet.org/style_emoticons/<#EMO_DIR#>/arrow.gif $date = date("d-m-Y");

et encore moin la fasson de crer l'entré mysql....

Dudule-le-poisson
02/04/2006, 22h20
Évidemment, ta base de données doit être conçue pour accueillir un champ date avec chaque entrée correspondant à une annonce ; donc il faut sans doute la modifier, le plus simple pour toi étant de passer par PHPMyAdmin.

Mais attention, qui dit modification de la structure d'une table dit modification de tous les scripts qui insèrent des entrées dans cette table (on peut limiter la dose de boulot avec des couches d'abstraction mais là n'est pas la question).

Bref,
1) dans la table qui te sert à stocker tes annonces (si tu pouvais nous livrer une description de toute ta base de données, ça serait sympa au fait), tu rajoutes un champ qui stocke une date

2) tu modifies le script par lequel l'utilisateur passe pour ajouter une annonce de façon à insérer la date.

3) après tu gères : limitation du nombre d'annonces sur une certaine période et/ou limitation de la durée de disponibilité d'une annonce. Tu pourrais même faire en sorte que les annonces soient retirées de l'affichage mais pas de la base de données pour que l'utilisateur puisse (re-payer et) les prolonger...

adminlinux
02/04/2006, 22h35
Merci pour ton courrage de me sopporter...

J'ai pas encore de db, je suis au stade de recherche avant de créer le tous, le but a attiendre: un utilisateur qui a souscri un abonement de 25 annonces chaque annonces a une durée de 30 jours.

apret les 25 annonces, l'utilisateur ne poura plus déposé d'annonce et c'est annonces en cour rèsteron jusqua l'expiration des 30 jours.

Si c'est pas claire comme explication, je ré explique mieu...

Grand merci pour ton aide....

Dudule-le-poisson
02/04/2006, 22h46
*brah on croirait un énoncé d'ACSI*

suggestion de db basique :
table utilisateur :
id - pseudo - md5 du mot de passe - adresse - telephone - date de naissance de sa grand-mère - renseignements divers...

table annonces :
id - id_auteur - titre - texte de l'annonce - donnees diverses - date de creation

ça devrait suffir à faire ce que tu veux ; pas besoin de données du genre "nb_annonces_deja_passees", tu peux tout retrouver par des requetes...

adminlinux
02/04/2006, 23h05
arfff sa j'avais djà...

Ce qui me coince c'est comment mètre automatiquement la date quand le mec ajoute une annonce et fais déconté c'est annonces....

Dudule-le-poisson
02/04/2006, 23h18
requête SQL pour insérer une entrée avec la date courante :

INSERT INTO utilisateur (machin, truc, bidule, date) VALUES (valeur_machin, 'valeur_truc', 'valeur_bidule', NOW())

pour décompter ses annonces, c'est pas compliqué non plus :
-tu sais qu'il en a un maximum de 30.
-tu comptes le nombre d'annonces qu'il a déjà mis : SELECT COUNT(*) AS nb FROM annonces WHERE id_auteur = ...
-tu soustrais les deux valeurs pour savoir combien il peut encore en mettre http://www.alionet.org/style_emoticons/<#EMO_DIR#>/smile.gif


et tu utilises cette valeur comme bon te semble ; pour afficher "il vous reste X annonces" ou pour lui interdire d'en ajouter une 31ème http://www.alionet.org/style_emoticons/<#EMO_DIR#>/smile.gif

adminlinux
02/04/2006, 23h30
Bon, merci pour tes infos tres précieuses, je vais regarder sa cette semaine....

adminlinux
03/04/2006, 10h52
Voila, cette nuit, j'ai fais un formulaire aved ajout automatique de la date,


$date = date("y-m-d");

dans les bd, la date y fidure bien

2006-04-03

alors maintenant je devrais faire quoi pour limité a 7 ou à 30 jours la date de parution ?

au passage, j'ai remarqué un problème, quand j'écri des mots avec des "é à è, etc", dans la dase sais des caractères cabalistique, y a moyen de résoudre sa ?

adminlinux
05/04/2006, 22h06
Persone à une idée de la fasson dont je devrais faire sa ?