Aller au contenu

site de tableau en vente ou location en ligne


Sujets conseillés

Posté

bonjour bonjour :D

c'est un projet que je dois faire dans le cadre de mon diplome, j'ai choisi de faire un site de ventes ou locations de tableaux en ligne

au depart c'est moi qui vait entrer quelques tableaux, faut il que je cree une base d'images?

je pense que oui, mais comment je les nomme les images pour qu'elles soient sur le site?

ensuite les artistes pourront uploader eux meme les photos de leurs tableaux, est ce que ca va alimenter les bases que j'aurais creer pour les tableaux?

heu je peux vous mettre ici mon mcd (modele conceptuel de données) pour que vous regardiez si j'ai oublie quelque chose?

merci

:1eye:

Posté
heu je peux vous mettre ici mon mcd (modele conceptuel de données) pour que vous regardiez si j'ai oublie quelque chose?

Si tu veux l'avis de la communauté, c'est mieux ;) . Il y aura toujours quelques specialistes pour te donner des conseils. :)

Posté

Bonjour Marie,

Ce serait bien de poster ton MCD .. parce qu'en ce qui concerne le stockage des images tu as le choix.

  • soit tu stockes les images dans des champs 'blob'
  • soit tu ne stockes dans la base que le chemin des fichiers images sur le serveur

La deuxième solution est préférable pour plusieurs raisons: tu n'encombres pas ta base de données avec des éléments pour lesquels elle n'est pas vraiment prévue, et tu laisses pleinement le cache du navigateur jouer son rôle.

Le nommage de tes fichiers est question de choix personnel... tu peux par exemple choisir un nom de fichier avec une partie numérique qui s'incrémente automatiquement.

Dan

Posté

donc voila, mon projet est un site de locations et ventes de tableaux en ligne

on va faire quand meme pas trop compliqué je pense

voila mon mcd

table artiste

id_artiste char30

Nom_artiste char30

Prenom_artiste char30

Adresse_artiste char100

Ville_artiste char30

Code_postale_artiste char30

Telephone_artiste char30

Mail_artiste char100

site_artiste char30

Id_tableau (cle primaire)?

MDP_artiste char30

table Tableau

id_tableau char30

Nom_tableau char30

taille_tableau char30

technique_tableau char100

orientation_tableau char30

prix_loc_tableau char30

prix_vente_tableau char30

Id_artiste (cle primaire)?

Id_categorie (cle primaire)?

Table_categorie

Id_categorie

Nom_categorie char50

table_clients

id_cleints char30

Nom_clients char30

Prenom_clients char30

Nom_entreprise char30

Adresse_clients char100

Ville_clients char30

Code_postale_clients char30

Telephone_clients char30

Mail_clients char100

site_clients char30

MDP_artiste char30

table_location

id_loc

date_loc

date_retour

montant_loc

id_client (cle primaire)?

id_tableau (cle primaire)?

Table_vente

id_vente

montant_vente

id_client

id_tableau

pour que les artistes puissent uploader les photos de leurs oeuvres ils doivent etre membres et pareil pour les clients si ils veulent louer ou acheter

il faut qu je cree des tables membres cleints et artistes je pense

du style

ident_cleint

nom_client

mdp_client

id_client

idem pour artiste

voila je ne sais pas trop ou mettre les cle primaire suis pas sur de moi sur le coup la

donc

les artistes pourront uploader eux meme leurs photos mettre le prix de location qui sera toujours pour un jour et le prix de vente et des infos sur le tableau voir table_tableau

sur les pages artistes les cleints pourront selectioner le tableau a louer mettre la duree de loc et le calcul se fera tout seul

saisir l'adresse de livraison si differente de l'adresse de facturation

c'est correct?

est ce un gros travail?

j'ai meme plus u mois pour faire ca?

:wacko:

Posté (modifié)

j'avais pas vu que tu l'avais deja mis excuses

heu par rapport a ce que tu m'a corrige j'ai rajoute une table galerie, parce qu'il faudra que les clients puissent savoir ou se trouve le tableau pour qu'il puisse soit aller le chercher soit le voir

#

# Table structure for table 'categorie'

#

CREATE TABLE categorie (

id_categorie int(10) unsigned NOT NULL auto_increment,

nom_categorie varchar(100) NOT NULL DEFAULT '' ,

PRIMARY KEY (id_categorie),

UNIQUE id_categorie (id_categorie),

INDEX id_categorie_2 (id_categorie)

);

#

# Dumping data for table 'categorie'

#

#

# Table structure for table 'location_vente'

#

CREATE TABLE location_vente (

id_loc_vente int(10) unsigned NOT NULL auto_increment,

type_transaction varchar(10) NOT NULL DEFAULT '' ,

date_debut varchar(10) NOT NULL DEFAULT '' ,

date_retour varchar(10) NOT NULL DEFAULT '' ,

montant int(10) NOT NULL DEFAULT '0' ,

id_membre int(10) NOT NULL DEFAULT '0' ,

PRIMARY KEY (id_loc_vente),

UNIQUE id_loc_vente (id_loc_vente),

INDEX id_loc_vente_2 (id_loc_vente)

);

peut etre faut que je mette aussi id_galerie dans la table tableau aussi comme ca on saura par galerie quel tableua on peut voir

#

# Dumping data for table 'location_vente'

#

#

# Table structure for table 'membre'

#

CREATE TABLE membre (

id_membre int(10) unsigned NOT NULL auto_increment,

statut tinyint(10) NOT NULL DEFAULT '0' ,

pseudo char(10) NOT NULL DEFAULT '' ,

nom_membre char(10) NOT NULL DEFAULT '' ,

prenom_membre char(10) NOT NULL DEFAULT '' ,

societe_membre char(10) NOT NULL DEFAULT '' ,

adresse_memre char(10) NOT NULL DEFAULT '' ,

cp_membre char(10) NOT NULL DEFAULT '' ,

ville_membre char(10) NOT NULL DEFAULT '' ,

tel_membre char(10) NOT NULL DEFAULT '' ,

mail_membre char(10) NOT NULL DEFAULT '' ,

mdp_membre char(10) NOT NULL DEFAULT '' ,

site_membre char(100) NOT NULL DEFAULT '' , j'ai rajoute ca aussi

PRIMARY KEY (id_membre),

UNIQUE id_membre (id_membre),

INDEX id_membre_2 (id_membre)

);

#

# Dumping data for table 'membre'

#

#

# Table structure for table 'tableau'

#

CREATE TABLE tableau (

id_tableau int(10) unsigned NOT NULL auto_increment,

nom_tableau varchar(100) NOT NULL DEFAULT '' ,

taille_tableau varchar(10) NOT NULL DEFAULT '' ,

technique_tableau varchar(10) NOT NULL DEFAULT '' ,

prix_loc_tableau int(10) NOT NULL DEFAULT '0' ,

prix_vente_tableau int(10) NOT NULL DEFAULT '0' ,

presence tinyint(10) NOT NULL DEFAULT '0' ,

id_categorie int(10) NOT NULL DEFAULT '0' ,

id_membre int(10) NOT NULL DEFAULT '0' ,

id_galerie int(10) NOT NULL DEFAULT '0' ,

PRIMARY KEY (id_tableau),

UNIQUE id_tableau (id_tableau),

INDEX id_tableau_2 (id_tableau)

);

#

# Dumping data for table 'tableau'

#

# Table structure for table 'galerie'

#

CREATE TABLE galerie (

id_galerie int(10) unsigned NOT NULL auto_increment,

nom_galerie varchar(100) NOT NULL DEFAULT '' ,

nom_galerie char(10) NOT NULL DEFAULT '' ,

adresse_galerie char(100) NOT NULL DEFAULT '' ,

cp_galerie char(10) NOT NULL DEFAULT '' ,

ville_galerie char(10) NOT NULL DEFAULT '' ,

tel_galerie char(10) NOT NULL DEFAULT '' ,

mail_galerie char(10) NOT NULL DEFAULT '' ,

site_galerie char (100) NOT NULL DEFAULT '' ,

id_membre int(10) NOT NULL DEFAULT '0' ,

id_tableau int(10) NOT NULL DEFAULT '0' ,

PRIMARY KEY (id_galerie),

UNIQUE id_galerie (id_galerie),

INDEX id_galerie_2 (id_galerie)

);

# Dumping data for table 'galerie'

j'aurai d'autres questions aussi mais la faut que j'y aille

a plus et merci

Modifié par mariepetroni
Posté

si je cree dans la table tableau un ligne support_tableau (exemple toile bois papier etc)

une ligne couleur tableau et une ligne theme_tableau

faut il que je cree une table pour chaque

couleur

id_couleur

nom_couleur

et

support

id_support

nom_support

theme

id_theme

nom_theme

parce que en fait les clients auront un critere de choix quand ils arriveront sur la page oeuvres

criteres de choix : prix _ taille _ couleur dominante_ theme _ support

la liste de ces choix, c'est bien dans les formulaires qu'ils se feront?

j'ai encore un peu de mal a comprendre la mechanique

:wacko:

merci

Posté

Et bien tu fais pas dans la demi-mesure ;)

Ca m'a l'air correct neanmoins, un peu trop scolaire à mon avis, ca me rappelle mes etudes de cas Merise :)

Mais t'es sur la bonne voie ;)

Posté (modifié)

bé je suis a l'ecole moué :yoot: alors c'est normal hihi

c'est cool ce que tu me dis c'est ce qu'ils veulent

pis si deja je comprends bien ca bé j'aurais plus qu'a progresser

merci

pourquoi tu me dis que je donne pas dans la demi mesure? :unsure:

Modifié par mariepetroni
Posté

Ton script pose un certain nombre de problemes. Outre le fait que tu mentionnes 2 fois "nom_galerie" dans la table "galerie", tu mets id_tableau dans cette table. Or cela signifie qu'une galerie ne peut avoir qu'un seul tableau :

A la galerie n°55, le tableau n°32.

C'est incohérent.

Pourtant, tu mets bien id_galerie dans la table tableau : Un tableau est dans une et une seule galerie. Normal.

Sinon :

Pour site_membre, je te suggere d'augmenter le char(100). Il n'est pas rare d'avoir des url très longues (notamment pour les sites persos). et de mettre en varchar => varchar(255). Interet de varchar : Il prend la taille qu'il a besoin.

Pour code postal : On a rarement un code postal de 10 chiffres. Mets à 5, ca devrait suffire. Pour les noms de ville (table galerie, par exemple), augmentes aussi le nombre : beaucoup de villes ont un nom de plus de 10 lettres (exemple : Clermont-Ferrand)

Jettes un oeil aussi à la taille des mail_quelquechose. Avec char(10), tu ne permets 'que' 10 lettres pour une adresse email. Les adresses en webmaster-hub ont besoin d'au moins 19 lettres, c'est pour dire !

J'ai donc corrigé le id_categorie de la table categorie, en id_cat, (sinon il faut changer le nom des index partout),

j'ai enlevé le nom_galerie de galerie en trop,

j'ai enlevé le id_tableau dans la table galerie,

j'ai modifié le id_categorie dans la table tableau,

j'ai enlevé les commentaires,

à toi d'augmenter la taille allouée à chaque champs, comme mentionné plus haut.

Voilà. Sinon, la version corrigée de ton script SQL :

CREATE TABLE categorie (

id_cat int(10) unsigned NOT NULL auto_increment,

nom_categorie varchar(100) NOT NULL DEFAULT '' ,

PRIMARY KEY (id_cat),

UNIQUE id_categorie (id_cat),

INDEX id_categorie_2 (id_cat)

);

CREATE TABLE location_vente (

id_loc_vente int(10) unsigned NOT NULL auto_increment,

type_transaction varchar(10) NOT NULL DEFAULT '' ,

date_debut varchar(10) NOT NULL DEFAULT '' ,

date_retour varchar(10) NOT NULL DEFAULT '' ,

montant int(10) NOT NULL DEFAULT '0' ,

id_membre int(10) NOT NULL DEFAULT '0' ,

PRIMARY KEY (id_loc_vente),

UNIQUE id_loc_vente (id_loc_vente),

INDEX id_loc_vente_2 (id_loc_vente)

);

CREATE TABLE membre (

id_membre int(10) unsigned NOT NULL auto_increment,

statut tinyint(10) NOT NULL DEFAULT '0' ,

pseudo char(10) NOT NULL DEFAULT '' ,

nom_membre char(10) NOT NULL DEFAULT '' ,

prenom_membre char(10) NOT NULL DEFAULT '' ,

societe_membre char(10) NOT NULL DEFAULT '' ,

adresse_memre char(10) NOT NULL DEFAULT '' ,

cp_membre char(10) NOT NULL DEFAULT '' ,

ville_membre char(10) NOT NULL DEFAULT '' ,

tel_membre char(10) NOT NULL DEFAULT '' ,

mail_membre char(10) NOT NULL DEFAULT '' ,

mdp_membre char(10) NOT NULL DEFAULT '' ,

site_membre char(100) NOT NULL DEFAULT '' ,

PRIMARY KEY (id_membre),

UNIQUE id_membre (id_membre),

INDEX id_membre_2 (id_membre)

);

CREATE TABLE tableau (

id_tableau int(10) unsigned NOT NULL auto_increment,

nom_tableau varchar(100) NOT NULL DEFAULT '' ,

taille_tableau varchar(10) NOT NULL DEFAULT '' ,

technique_tableau varchar(10) NOT NULL DEFAULT '' ,

prix_loc_tableau int(10) NOT NULL DEFAULT '0' ,

prix_vente_tableau int(10) NOT NULL DEFAULT '0' ,

presence tinyint(10) NOT NULL DEFAULT '0' ,

id_categorie int(10) NOT NULL DEFAULT '0' ,

id_membre int(10) NOT NULL DEFAULT '0' ,

id_galerie int(10) NOT NULL DEFAULT '0' ,

PRIMARY KEY (id_tableau),

UNIQUE id_tableau (id_tableau),

INDEX id_tableau_2 (id_tableau)

);

CREATE TABLE galerie (

id_galerie int(10) unsigned NOT NULL auto_increment,

nom_galerie varchar(100) NOT NULL DEFAULT '' ,

adresse_galerie char(100) NOT NULL DEFAULT '' ,

cp_galerie char(10) NOT NULL DEFAULT '' ,

ville_galerie char(10) NOT NULL DEFAULT '' ,

tel_galerie char(10) NOT NULL DEFAULT '' ,

mail_m char(10) NOT NULL DEFAULT '' ,

site_galerie char (100) NOT NULL DEFAULT '' ,

id_membre int(10) NOT NULL DEFAULT '0' ,

id_tableau int(10) NOT NULL DEFAULT '0' ,

PRIMARY KEY (id_galerie),

UNIQUE id_galerie (id_galerie),

INDEX id_galerie_2 (id_galerie)

);

Posté

Merci ! ;)

est ce qu'il faut que je cree un table prix aussi

comme ce sera un critere de choix :unsure:

Posté
si je cree dans la table tableau un ligne support_tableau (exemple toile bois papier etc)

une ligne couleur tableau et une ligne theme_tableau

faut il que je cree une table pour chaque

couleur

id_couleur

nom_couleur

et

support

id_support

nom_support

theme

id_theme

nom_theme

parce que en fait les clients auront un critere de choix quand ils arriveront sur la page oeuvres

criteres de choix : prix _ taille _ couleur dominante_ theme _ support

la liste de ces choix, c'est bien dans les formulaires qu'ils se feront?

j'ai encore un peu de mal a comprendre la mechanique

:wacko:

merci

Non, ce seraient des tables toutes petites, mais qui demanderont trop de ressources par rapport à ce qu'elles proposeraient. Un exemple :

On ne fait pas une table 'date' pour stocker les jours de la semaine (lundi, mardi,..). Il n'y en a que 7, ce n'est pas intéressant. Ce qu'il faut faire, dans ce cas, c'est créer un tableau en php, et faire une liste de choix avec un <select ...<option></option>.... . Avec ce select..option, les gens ne peuvent pas choisir quelque chose d'autre, et ca permet de ne pas avoir des tables trop vides.

Pour les prix, c'est la meme chose. A moins de faire une table '1 2 3 4 5 6 ...', ce qui est 'ridicule' (excuse moi), il vaut mieux laisser les prix dans la table du tableau en question.

Ainsi, lorsque tu créé un nouveau tableau, tu renseignes son nom, sa taille,.. et son prix de loc, et son prix de vente.

Voilà.

Posté (modifié)

ce n'est pas evident je debute, alors c'est sur je pose des questions ben qui peuvent paraitre bete

le principe je suis loin de le connaitre et j'ai encore enormement de chose a apprendre, n'empeche qu'on me demande de pondre un site en php apres un mois et demi d'apprentissage

alors si je comprends bien c'est le critere de choix dans le formulaire qui ira chercher dans la table_tableau tous les tableaux qui ont par exemple la couleur dominante rouge

c'est ca?

je vais ecrire exactement les données qui seront a ressortir par els formulaires ;)

merci Anonymus ;)

Modifié par mariepetroni
Posté

En fait, quand tu conçoit ton programme, tu prévois dès le départ ce genre d'informations. Les couleurs, ce sont des données 'fixes', qui ne risquent pas de bouger. Tu peux les prévoir dès le début de la conception du programme.

tu créé un tableau des variables pour le tableau (euh...). On recommence :

Tu créé un Array des couleurs possibles des tableaux. Par exemple :

$tableau['color'][0]='rouge';

$tableau['color'][1]='bleu';

etc...

Quand tu entres les données dans ta base :

si le tableau est rouge, ca donne :

|id_tableau|nom_tableau|couleur dominante|

| 5 | la meduse de bateau | 1 |

sous entendu : le tableau "la meduse de bateau, enregistré sous le numero 5, a la couleur 1. Un coup d'oeil dans les variables nous dit :

$tableau['color'][1]='bleu'; donc il est bleu.

Voilà.

  • 2 semaines plus tard...
Posté

bonjour,

le temps passe vite ca fait 8 jours que je ne suis pas venue

merci Anonymus

j'ai un autre probleme

quand je cree un section membre faut que je cree combien de page

la page config.php

la page de formulaire je l'ai faite en html, parce qu'il me faut aussi des page html

ensuite il faut une page php du style verif.php qui verifie que les infos pour s'inscrire sont bien entrées

et une page login.php pour que la personne inscrite se connecte

y'a faut d'autre? peut etre une page erreur.php

ici se trouve mon formulaire mais il ne fonctionne encore pas

merci en attendant

http://zengrafom.org/le_site/membres/index.htm

dans statut j'aurai en plus celui de galerie ;)

pis en fait je vais juste gerer pour le rendu de mon projet l'achat de tableau, la location je verrais plus tard, parce que y'a un probleme de calendier, et pas trop envie de me prendre la tete avec ca :nono:

Posté

Bonjour Marie.

Ton formulaire renvoie les données via POST.

Tu peux créer un morceau de code, pour savoir ce que te renvoie ton formulaire. L'integration des données n'en sera que plus facile :

<?

foreach ($_POST as $key => $value){
echo "<br>".$key." - ".$value;
}
?>

A+, Anonymus.

Posté

bonsoir et merci Anonymus

j'ai pas compris mais psa grave, je debute et la je pique rin

enfin j'arrive un peu tout de meme

svp ca veut dire quoi ce message d'erreur?

Unknown column 'mpd_membre' in 'field list'

mici

Posté
svp ca veut dire quoi ce message d'erreur?

Unknown column 'mpd_membre' in 'field list'

mici

cela veut dire que tu as fait une erreur de synthaxe.

Au lieu d'écrire mpd_membre, tu aurais du écrire mdp_membre.

a+, Anonymus.

Posté

j'ai modifié mais ca me met ca

Unknown column 'mdp' in 'where clause' <_<:unsure:

Posté

bonsoir

est ce que c'est juste ca svp merci

// Redirection vers la zone membre

if($statut=="artiste")

echo "<meta http-equiv='refresh' content='5;URL=$memb_connect_art?id=$id_membre'>";

echo "<font size='2'>Merci, vous êtes bien enregistré. Vous avez recu un mail de confirmation avec vos données personnelles. Vous allez etre redirigé dans 5 seconde vers votre partie Membre, sinon Cliquez <a href=\"$memb_connect_art?id=$id_membre\">ici</a></font>";

}

else

{

echo "<meta http-equiv='refresh' content='5;URL=$memb_connect?id=$id_membre'>";

echo "<font size='2'>Merci, vous êtes bien enregistré. Vous avez recu un mail de confirmation avec vos données personnelles. Vous allez etre redirigé dans 5 seconde vers votre partie Membre, sinon Cliquez <a href=\"$memb_connect?id=$id_membre\">ici</a></font>";

}

Posté

Ca parait juste, seulement, il y a 3,5 lignes de répétitions. Tu peux faire ceci :

$url=$memb_connect;

if($statut=="artiste")$url=$memb_connect_art;

echo "<meta http-equiv='refresh' content='5;URL=".$url."?id=$id_membre'>";

echo "<font size='2'>Merci, vous êtes bien enregistré.";

echo" Vous avez recu un mail de confirmation avec vos données personnelles. ";

echo"Vous allez etre redirigé dans 5 seconde vers votre partie Membre, sinon Cliquez ";

echo"<a href=\"".$url."id=$id_membre\">ici</a></font>";

A+, Anonymus.

Posté (modifié)

ah oui :yoot:

cool merci alors anonymus ;)

et ca?

// Insertion dans la table

$requete=mysql_db_query($sql_bdd,"insert into membre values (NOT NULL,\"$id_membre,\"$statut\",\"$pseudo\",\"$nom_membre\",\"$prenom_membre\",\"$societe_membre\",\"$adresse_membre\",\"$cp_membre\",\"$ville_membre\",\"$tel_membre\",\"$mail_membre\",\"$mdp_membre\",\"$site_membre\")",$db_link) or die(mysql_error());

c'est pareil que ca?

$query='INSERT INTO membre (statut,pseudo,nom,prenom,societe,

adresse,code postal,ville,telephone,mail,mot de passe) VALUES ("'.$statut.","'.pseudo.","'.nom_membre.","'.prenom_membre.",

".societe_membre.",".adresse_membre.",".cp_membre.",".ville_membre.",

".tel_membre.",".mail_membre.",".mdp_membre.","';

$result=mysql_query($query) or die (mysql_error());

echo query

merci pour votre aide et lumière ;)

suis un peu perdue dans les " et les '

Modifié par mariepetroni
Posté

Mado,

Lorsque tu fais de la concatenation de chaînes, tu utilises le . entre les différentes chaînes et les variables.

Exemple:

$nom="Mado";
print "bonjour ".$nom.", comment vas-tu?";

affichera: bonjour Mado, comment vas-tu?

Mais dans le query, les valeurs doivent être entourées de simples quotes... comme dans: "bonjour 'Mado', comment vas-tu?" qui s'écrirait:

print "bonjour '".$nom."', comment vas-tu?";

Remarques les deux simples quotes en plus ;)

Donc ton $query doit s'écrire:

$query='INSERT INTO membre (statut,pseudo,nom,prenom,societe,
adresse,code postal,ville,telephone,mail,mot de passe) VALUES ("'.$statut."','".$pseudo."','".$nom_membre."','".$prenom_membre."','".
$societe_membre."','".$adresse_membre."','".$cp_membre."','".
$ville_membre."','".$tel_membre.",".$mail_membre."','".$mdp_membre."')";

Dan

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...