IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Lire, analyser puis modifier


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé

    Homme Profil pro
    Developpeur web
    Inscrit en
    Septembre 2006
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Developpeur web
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 225
    Par défaut Lire, analyser puis modifier
    Bonjour, j'aurais voulu savoir quelle est la meilleure méthode, la plus rapide, performante pour modifier les lignes d'une table de cette façon :

    1) On lit le contenu d'une colonne de la ligne et on utilise la fonction explode dessus.

    2) On analyse le résultat

    3) On modifie la ligne dans la base si néccéssaire

    J'ai pensé à faire une boucle sur les lignes et analyser celles-ci puis les modifier mais si il y a 50 lignes cela fera peut-être 50 requêtes.. N'y a t-il pas moyen de simplifier cela ?

    Merci

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Ça dépend comment sont formatés vos données (voir la fonction FIND_IN_SET de MySQL par exemple) mais si un explode des données est nécessaire c'est probablement que la base a été mal conçue (il doit manquer des relations).

  3. #3
    Membre éprouvé
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Par défaut
    Euh...

    Normalement, quand on a une table, on fait une (et une seule) requete dessus, et on récupere tout d'un coup dans un recordset (en mémoire dans une variable quoi) et c'est sur le recordset qu'on fait la lecture.
    Avec mysql, ca donne ca.

    Après, pour faire un update il faut une nouvelle requete.

  4. #4
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    Detail un peut la structure de ta base de donnée, on poura t'aidé a l'optimisé, a la transformer ou tout simplement a résoudre ton problème ...

  5. #5
    Membre éclairé

    Homme Profil pro
    Developpeur web
    Inscrit en
    Septembre 2006
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Developpeur web
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 225
    Par défaut
    En réalité, c'est pour un jeu php, pour l'instant il fonctionne avec des fichiers mais j'envisage de passer à mysql..

    Toujours est-il qu'il y a une colonne par joueur dans la "table" qui contient la liste des autres joueurs que ce joueur connaît dans le jeu. Elle se compose comme ceci :

    "id_du_joueur_1,pseudo_joueur_1;id_du_joueur_2,pseudo_joueur_2" etc..

    Lorsque je veux supprimer un joueur du jeu, il faut donc que je regarde dans la bdd tous les autres joueurs qui le connaissait pour le supprimer de leur liste.

    Voilà

  6. #6
    Membre éprouvé
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Par défaut
    pour l'instant il fonctionne avec des fichiers mais j'envisage de passer à mysql..
    Passe a mysql, ca t'évitera de tout recoder d'une part et tu y gagneras largement en perf d'autre part.
    Sinon pour un cas comme le tien, tant que tu as un fichier de taille raisonnable, je crois que je commencerai par tout charger en mémoire, je ferai mes explodes et mes éventuelles mise a jour, puis je réécrirai completement le fichier d'un coup. Mais clairement ici, c'est une base de donnée qu'il te faut.

    A la rigueur, si ca t'embette vraiment pour une quelconque raison, utilise des fichiers xml. Tu pourras y acceder avec simpleXML qui s'occupera de toute la partie d'acces aux fichiers. Encore une fois, c'est moins performant qu'une bdd, mais bon...

  7. #7
    Membre éclairé

    Homme Profil pro
    Developpeur web
    Inscrit en
    Septembre 2006
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Developpeur web
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 225
    Par défaut
    Merci, mais pour la gestion des fichiers j'ai une classe qui fonctionne très bien. En réalité, je me posais des questions pour le passage à mysql..

  8. #8
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    Et bien sur tu hésite c'est peut être le moment de passer a mySQL, tu gagnera en performence et puis en ligne de code.

    Prend bien soins de faire une bonne base de donnée au debut, tu n'auras plus grand chose a coder apres (grace a ton SGBD).

  9. #9
    Membre éclairé

    Homme Profil pro
    Developpeur web
    Inscrit en
    Septembre 2006
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Developpeur web
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 225
    Par défaut
    Oui oui, de toute façon je vais essayer de passer à mysql en regardant le mon code j'ai eu affaire au problème cité ci-dessus..

    Vous connaissez une solution ?

    Merci

  10. #10
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    Et bien quoi qu'il en soit si tu veux stocker ca dans un fichier t'as pas vraiment le choix, si tu gere une liste d'amis, faut bien les supprimer.

    A moins que tu veuille faire les choses un peut plus poussé tu aurais un fichier par "table".
    ainsi tu peut delete les lignes inutiles avec par exemple une syntaxe tu genre sur un fichier listeAmis:


    idjoueur1;idjoueur2
    idjoueur1;idjoueur5
    idjoueur1;idjoueur15
    idjoueur3;idjoueur7
    ...

    ici le joueur 1 a le joueur 2 5 et 15 en amis, le joueur 3 le joueur 7 etc ...

    De ce fait tu check dans quel ligne l'id du joueur que tu supprime se trouve en 2eme colonne, et puis tu supprime la ligne.

    Mais encore ici, autant passé par une veritable base de donnée, ca sera beaucoup plus rapide et performent, sans compter les soucis de ce genre en moins.

  11. #11
    Membre éclairé

    Homme Profil pro
    Developpeur web
    Inscrit en
    Septembre 2006
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Developpeur web
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 225
    Par défaut
    Je crois que tu as écrit ton message en même temps que mon précédent

    Avec les fichiers, le script est fini.

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/08/2008, 16h24
  2. Lire ligne puis stockage dans tableau
    Par niko40 dans le forum C++
    Réponses: 9
    Dernier message: 03/04/2006, 23h01
  3. Réponses: 4
    Dernier message: 11/02/2006, 19h46
  4. Réponses: 2
    Dernier message: 06/02/2006, 23h15
  5. Comment puis modifier un onclick=
    Par pierrot10 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 02/12/2005, 00h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo