Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Données nouvelles, déjà existantes ou dépassées [ Base de données / MySQL ] (le_duche)

mardi 4 novembre 2008 à 12:20:13 | Données nouvelles, déjà existantes ou dépassées

le_duche

Membre Club
Bonjour, je suis débutant en php/mysql, et pour mon apprentissage j'ai décidé de faire une petite application qui classe les films que je possède. Mais me voilà confronté à mon premier grand problème:

Pour simplifier le problème, j'ai une table "film" qui contient entre autres un ssn unique et un table "galerie" qui contient deux colonnes: ssn_film et url. Cette disposition se justifie je crois par la possibilité d'avoir plusieurs images par film.
La fiche d'un film recense évidement toutes les images qui lui sont associées.

La création d'un nouveau film par l'utilisateur se fait sans problème, j'ajoute autant de fois qu'il faut une nouvelles image avec le ssn de mon nouveau film dans ma table "galerie".

Vient le moment de l'édition !
Le formulaire d'édition propose par défaut la liste des images associées au film, que l'utilisateur peut modifier comme il le souhaite. Cela signifie qu'au final il y a trois types d'images:
1) Celles qui étaient présentes dans la base de données, mais qui ne le sont plus dans le formulaire proposé par l'utilisateur.
2) Celles qui sont nouvelles et proposées par l'utilisateur.
3) Celles qui étaient déjà dans la base de données et que l'utilisateur a conservé.

Pour enregistrer ces modifications, je vois différentes solutions, mais aucune ne me plait:
A) Supprimer toutes les lignes concernant ce film dans la table "galerie" et ajouter le contenu du formulaire.
B) Récupérer les images déjà présentes via une requete sql, les stocker dans une liste php, et via le php, les séparer en 3 catégories pré-citées. Et appliquer les commandes SQL adéquates pour chacune.
C) Ajouter une table temporaire à la base de données, effectuer une jointure, mettre ce qu'il faut où il faut et supprimer la table temporaire.

Dans les 3 cas, si le nombre d'images est grand et si les modifications de l'utilisateur sont petites, ça fait beaucoup de travail pour rien.

Quelle est donc la solution standard ???

Merci de votre aide :-)

Christophe.

Duchon.


mardi 4 novembre 2008 à 13:19:45 | Re : Données nouvelles, déjà existantes ou dépassées

fregolo52

Membre Club
Salut,

Je ne suis pas un grand spécialiste du dév Web ou base de données. Mais ta solution B me parait pas trop mal. La A est radicale et aussi efficace. Qaunt à la C, on peut éviter ça grace aux solutions A et B.

Pour ta dernière remarque a propos de la quantité, la solution A est la meilleure : la plus rapide et la moins prise de tête à développer.
Je ne suis pas tout a fait d'accord avec toi quand tu dis : "ça fait beaucoup de travail pour rien"
Ta solution A est rapide et demande le moins d'opérations de vérification.
A mon avis :
Un "violent" delete + des insert seront généralement plus rapide que :
select, je compare chaque ligne, si ok ou non : update ou insert ou delete.

Pour résumer, perso je choisis A.



Cette discussion est classé dans : images, table, données, utilisateur, film


Répondre à ce message

Sujets en rapport avec ce message

deonection table log?? [ par pcpourtous ] voial j'ai une table log, une identification avec une variable session "login"je veux gérer une table log : donc quand l'utilisateur se connecte j'ins g l'adresse d'une images qui est contenu dans le chjamps d'une table et ... [ par Ethan00000 ] je programme en php et je debute si tu sais m'aider ce serais sympa.j'ai une base de données dans laquelle j'ai une table qui contient un champs "imag selectionner une id dans une base de données [ par tomatokatchup ] Voila mon probleme :J'ai créer une table qui se contient les réultats d'un formulaire remplis par les visiteurs de mon site. A chaque validation du fo Envoyer des données fournies par l'utilisateur d'un fichier à un autre [ par DreamPush ] Je voudrais envoyer des données par un formulaire HTML à partir d'un fichier nommé "Envoyer.php" à un fichier nommé "Recevoir.php". Que dois-je écrire Mise à jour d'une table [ par Ludo36230 ] Bonjour, j'ai crée un formaulaire d'envoi avec plusieurs champ pour mettre à jour une table, il y aura des fois ou des champs seront vide (tout à fai CREATE TABLE images ????? [ par spike911 ] Je c'est ce surment un question newbie mais c'est pas grave je me lancer P"S je ne connais pas tres bien le PHPQuoi sa veu dire sa:CREATE TABLE images :: PB MYSQL_FETCH_ROW :: [ par nougitch ] Bonjour à tous,Plutôt débutant en PHP, je vous explique.J'ai créé un espace membre avec une table "x2000_utilisateur".Ce qui me gêne c'est que quand q Problème pour lire et afficher sur un page les données de ma table... [ par rem78 ] Bonjour,J'ai un problème pour arriver à récupérer et afficher les données depuis une table de ma base, jai fait le script suivant :1 2 include("../Liv afficher les données [ par brezoneg ] Bonjour,J'ai une base de données avec plusieurs tables.chaque table ayant plusieurs champs : a,b,c,d,e,...je voudrais afficher toutes les valeurs corr images dans mysql [ par becrew ] Bonjour,Je voudrais intégrer quelques images dans ma base de données. Pour le type de données j'ai mis blob mais je ne suis pas sûr. ce sont des image


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.