begin process at 2012 05 31 01:40:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

problème de id!!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problème de id!!

mardi 15 avril 2008 à 21:11:19 | problème de id!!

pourry

Salut a tous,j'ai de nouveau un petit soucis avec le transfert de ma base de données vers une autre.
Je vais essayer de m'expliquer vite fait et clairement: j'ai su grace a vous et le site (et particulièrement yoman64 ) commencer le transfert de ma bd mais dans une des tables (une de l'ancienne bd nous diront) j'ai des id non incrémenté automatiquement et qui se repete en double la plupart du temps (2xid 1 ,2xid2, 2xid3....), car l'ancienne table contenait les informations pour deux langues différentes (néerlandais et francais)
La nouvelle table  qui doit recevoir ces informations est configurée avec un id incrementé automatiquement (parce qu'il n'y a qu'une seule langue a gérer dans cette nouvelle bd)
J'aurai voulu savoir comment j'aurai pu récuperer les id de l'ancienne table mais en un seul exemplaire (dans l'ordre croissant de l'ancienne table les id francais était toujours au dessus de leurs id similaires néerlandais) ??
J'ai essayé en bouclant les id incrémenté de ma nouvelle table mais je m'y suis perdu et cela m'a généré un affichage infini des éléments de la table lol...
Merci d'avance pour votre aide,je sais que vous pourrez m'éclaircir
J'espere avoir été assez claire ,j'ai essayé de faire cours pour pas prendre la tete
A bientot
mardi 15 avril 2008 à 22:51:27 | Re : problème de id!!

neigedhiver

Réponse acceptée !
Salut,

Le truc, c'est qu'il aurait fallu prévoir ce problème avant... Parce qu'après, c'est forcément galère...
Pour faire un truc rapide, il faudrait que tu puisses différencier les champs "fr" des champs"nl". Soit une valeur différente dans un champ, soit... euh...
Si tout ce que tu as c'est qu'ils sont "avant", c'est pas gagné...
On va commencer comme ça : est-ce qu'il y a un champ qui a une valeur propre à chaque langue ? Même si c'est une partie de la valeur... ?


Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
mardi 15 avril 2008 à 22:59:11 | Re : problème de id!!

pourry

C'est que la base existait a mon arrivée et que étant donné qu'elle contient 600 enregistrement ca me paraissait galere de les refaires a la main.
Effectivement certaine table contenait un champ lg avec les parametres fr et nl mais si tu veux dans l'ancienne base de donnée il y avait aussi une table de jointure regroupant les id de deux autre table (categorie et jeux) mais que dans la nouvelle base la configuration a été faite pour qu'il n'y ai plus de table de jointure mais juste un champ id_categorie dans la table jeux...
Donc en plus de devoir transférer ces ancien id,je dois pouvoir faire la distinction entre ceux ci par rapport a leur langue respective...
Je tourne en rond et je ne peux malheureusement pas modifier les parametres de configuration de la nouvelle base car les scripts la faisant fonctionné ont déja été fait.
J'ai hélas pensé a devoir les réintroduire un a un mais ca va me prendre un temps assez long (en plus il faut que je réidentifie chaque id par rapport au table respective )
En tout cas merci de ton attention
mardi 15 avril 2008 à 23:10:16 | Re : problème de id!!

neigedhiver

Re,

Enlever une jointure dans ce cas là, c'est une régression... La jointure était nécessaire sur le plan conceptuel et logique... Bref...

Bon donc t'as un champ qui contient fr ou nl...

Si tu dois exécuter cette opération une seule fois, pas la peine de chercher à optimiser...

Commence par chercher les enregistrements d'une langue :
$sql = "SELECT * FROM nom_de_la_table WHERE lg='en';";
Tu fais ensuite une boucle qui va modifier l'id de chaque enregistrement récupéré
$resultat = mysql_query($sql);
$compteur = X; // remplacer X par la valeur que tu veux pour le premier id de cette langue
while ($enr = mysql_fetch_assoc($resultat)) {
mysql_query('UPDATE le_nom_de_la_table SET id='.$compteur.' WHERE id='.$enr['id']);
$compteur++;
}
Un truc dans le genre.
Ensuite, tu modifies l'auto_increment de ta table :
ALTER nom_de_la_table AUTO_INCREMENT=max(id);
C'est non testé, c'est peut-être pas exactement ça mais l'idée est là. Fais une sauvegarde de la table avant d'y faire des changements comme ça... On sait jamais.

Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
mardi 15 avril 2008 à 23:21:20 | Re : problème de id!!

pourry

Je vais essayer cela demain car les fichiers sont a mon stage et te tiendrais au courant de la solution que j'ai éventuellement trouvé si tu veux.
Mais en tout cas merci beaucoup de ta réponse,je vais essayer ta méthode avec la boucle et aussi étudier ce paramètre AUTO_INCREMENT que je ne connaissais pas.
A bientot


Cette discussion est classée dans : problème, bd, table, id, ancienne


Répondre à ce message

Sujets en rapport avec ce message

Sélectionner les lignes différentes entre deux tables [ par Mikemadest ] Bonjour,J'ai cherché sans trouver de réponse à mon problème,ce qui m'amène à vous poser cette question !D'avance je m'excuse si j'ai raté la solution Order by problème [ par Developpator ] Hello,Je fais une requête sur une table comprenant id de type char. Lorsque le sélectionne tous les champs de ma table et que je décide de les trier e Problème Mise à jour plusieurs table [ par jartigues ] Bonjour,Voila j'ai une base Mysql avec plusieurs table.Je vais vous expliquer par un exemple simple de ce que je veux faire.Alors j'ai une table utili problème mysql_field_table(...) avec plusieurs tables [ par skmancuso ] Bonjour,je fais un fonction qui me permet de retourner le nom de la table dans lequel se trouve le champ passé en paramètre. Pour celà, j'utilise mysq include('... ?id=1') foireux! [ par malik7934 ] Hello, J'ai un problème bizarre... sur une de mes pages, je dois faire un include et passer en même temps un paramètre.. j'ai donc fait: include('pag Problème avec les variables [ par tom10000 ] // Je fais passer ma variable ( je suis sur la page index.php et je veux aller sur cette page ( suppr.php?id=123 ) ) $id = $_GET["id"] // on se connec récup var d'url [ par skaterboss2000 ] bonjoursi j'ai une table comme ceci : |MA BDD| |MA TABLE| [id] [autrechamps] comment faire pour afficher le contenu de autrechamps en fonction de l'id Script de téléchargement [ par The_Sniper ] Bonjour je suis en trin de faire un script de téléchargement mais je suis bloquer a la place ou je doit ajouter dans mon champ id_cat de ma table télé dernier enregistrement d'une table mysql [ par arnold002 ] Bonjour,J'ai une page qui affiche des recettes contenues dans une BDD mysql, sous la forme .../recette.php?id=40 dans l'url.J'affiche sur toutes les p problème de redirection [ par ekipage2 ] Bonsoir à tous,Je voudrais faire une redirection automatique après une inscriptionJe ne peux pas utiliser Header car j'ai du html dans ma pagej'ai mis


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales