Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/12/2010, 00h11   #1
Invité de passage
 
Francois Moffatt
Inscription : mai 2010
Messages : 7
Détails du profil
Informations personnelles :
Nom : Francois Moffatt

Informations forums :
Inscription : mai 2010
Messages : 7
Points : 1
Points : 1
Par défaut Liste doublement chainée et MySQL

Bonjour,
Est-il possible de gérer une liste doublement chaînée en sauvegardant les données dans MySQL à chaque modification ? Ou existe-t-il une autre façon de faire plus appropriée ?
Merci !
Moff52 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 09h30   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 957
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 957
Points : 18 165
Points : 18 165
Envoyer un message via MSN à CinePhil
Tu peux expliquer plus concrètement ton besoin ?

S'il s'agit de parcourir une table dans un certain ordre, il faudra formaliser cet ordre, en notant que l'identifiant auto-incrémenté peut ne pas être suffisant en cas d'ajouts de données qui viendraient logiquement se positionner au milieu de l'ordre.

Exemple...
J'ai au départ les données suivantes avec un identifiant auto-incrémenté :
Citation:
id, nom
1, alpha
2, beta
3, epsilon
=> c'est classé dans l'ordre et l'identifiant est cohérent avec l'ordre.

J'ajoute delta et la liste devient :
Citation:
1, alpha
2, beta
3, epsilon
4, delta
=> classement cassé !

Il faut donc ajouter une colonne ordre et prévoir une procédure qui va réorganiser cet ordre à chaque ajout.
Citation:
Avant :
id, nom, ordre
1, alpha, 1
2, beta, 2
3, epsilon, 3

Après
id, nom, ordre
1, alpha, 1
2, beta, 2
3, epsilon, 4
4, delta, 3
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 16h02   #3
Invité de passage
 
Francois Moffatt
Inscription : mai 2010
Messages : 7
Détails du profil
Informations personnelles :
Nom : Francois Moffatt

Informations forums :
Inscription : mai 2010
Messages : 7
Points : 1
Points : 1
Par défaut Liste doublement chaînée

En réalité, mon projet est de faire une liste d'écoute musicale préférée à partir d'une autre liste trié par titre.
Je veux parcourir la liste préférée dans les 2 sens et je veux pouvoir ajouter et supprimer un titre à n'importe quel endroit dans la liste.
Moff52 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 16h08   #4
Invité de passage
 
Francois Moffatt
Inscription : mai 2010
Messages : 7
Détails du profil
Informations personnelles :
Nom : Francois Moffatt

Informations forums :
Inscription : mai 2010
Messages : 7
Points : 1
Points : 1
Par défaut Liste doublement chaînée et MySQL

J'ai trouvé le code php pour gérer une telle liste en mémoire mais est-ce possible de gérer la liste de titres préférés en mettant à jour chaque changement dans une table MySQL ?
Moff52 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 16h09   #5
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 957
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 957
Points : 18 165
Points : 18 165
Envoyer un message via MSN à CinePhil
Comme il s'agit de parcourir une liste, je pense que le plus simple serait de rapatrier la liste complète et de gérer le parcours dans le programme plutôt que de lancer une requête pour aller chercher le suivant ou le précédent.

Mais en tout cas pour ordonner la liste, je t'ai donné le principe.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2010, 22h03   #6
Invité de passage
 
Francois Moffatt
Inscription : mai 2010
Messages : 7
Détails du profil
Informations personnelles :
Nom : Francois Moffatt

Informations forums :
Inscription : mai 2010
Messages : 7
Points : 1
Points : 1
Par défaut Liste doublement chaînée et MySQL

Même pour gérer la liste doublement chaînée (qui est du type objet) en mémoire, j'ai le problème qu'à chaque fois que je pèse un bouton pour ajouter un titre, la liste ne veut pas se transmettre par le formulaire.

J'ai essayé de sérialiser la liste pour l'envoyer dans un formulaire, ce qui fonctionne en transformant l'objet en type string. Mais lorsque je désérialise la liste pour la retrouver sous type "objet", les méthodes de l'objet ne reconnaissent pas la liste comme étant un objet valable.

J'ai essayé aussi de mettre la liste dans une variable SESSION sans succès :
Code :
1
2
$liste = new testliste();
$_SESSION['sessionliste'] = $liste;
Moff52 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h40.


 
 
 
 
Partenaires

Hébergement Web