Mysql -> Transfert entre deux tables pb

Fermé
jve - 13 sept. 2010 à 11:07
 jve - 16 sept. 2010 à 14:56
Bonjour,

Je vous explique le contexte. Je récupère dans un fichier XML un certains nombre de champs que je place ensuite dans une table que j'appellerai "provisoire". Jusqu'ici tous va bien ça fonctionne.

Cependant j'ai besoins de transférer mes données jusqu'à une seconde table et la ça pose problème.
Le transfert se passe bien sur 18 de mes 20 champs, mais j'ai 2 champs buggué et je ne comprend pas pourquoi.

Les 2 champs sont du même type entres les 2 tables ( VARCHAR(255) -> VARCHAR(255) et TEXT -> TEXT ).

Je souhaiterai pouvoir "transtyper" mes données, les reconvertir dans le même type de données enfaite pour ensuite les transférer, je sais pas si c'est bien claire :s

Voici ma boucle d'envoi de données d'une table vers l'autre :


$sql = mysql_query("SELECT * FROM jos_annonces_beemploi");
$row = mysql_num_rows($sql);
echo "$row lignes\n";
$i = 1 ;

while($row = mysql_fetch_array($sql))
{
echo $i;
$requete2 = mysql_query("REPLACE INTO test (uid, 
                                                      companyid, 
                                                      title, 
                                                      jobcategory, 
                                                      jobtype, 
                                                      jobstatus, 
                                                      jobsalaryrange, 
                                                      description, 
                                                      qualifications, 
                                                      country, 
                                                      state, 
                                                      county, 
                                                      city, 
                                                      noofjobs, 
                                                      heighestfinisheducation, 
                                                      created, 
                                                      experience, 
                                                      sendemail, 
                                                      startpublishing, 
                                                      stoppublishing  
                                                      ) 
                                            VALUES ('".$row[idPersonneBeEmploi]."',
                                                    '".$row[idSocieteBeEmploi]."',
                                                    '".$row[titre_annonce]."',
                                                    '".$row[idJobCategoryBeEmploi]."',
                                                    '".$row[idTypeContrat]."',
                                                    '".$row[idStatutAnnonce]."',
                                                    '".$row[idTrancheSalaireBeEmploi]."',
                                                    '".$row[notre_societe]."',
                                                    '".$row[TexteCompetences]."',
                                                    'FR',
                                                    '".$row[idRegionBeEmploi]."',
                                                    '".$row[departement]."',
                                                    '".$row[annonce_localisation]."',
                                                    '".$row[ref_annonce]."',
                                                    '".$row[idNiveauEtudeBeEmploi]."',
                                                    '".$row[date_parution]."',
                                                    '".$row[idExperienceBeEmploi]."',
                                                    '1',
                                                    '".$row[date_validation_publication_annonce]."',
                                                    '".$row[date_butoire_demande_client]."'
                                                    )"
                                                );                                                 
                            
$i++;
}


A voir également:

2 réponses

Bonjour,
"je sais pas si c'est bien claire" : pour moi, pas du tout.

J'ai l'impression que tu n'as pas besoin de 50 lignes de code pour faire ça :
REPLACE INTO TEST SELECT * FROM idPersonneBeEmploi;

Qu'est ce qui t'en empêches ?
Les champs n'ont pas les mêmes formats dans les deux bases ?

Cordialement, M.
0
Visiblement la question n'était pas claire. Le soucis c'est que le transfert ne s'effectuait pas bien. Dans mon cas de figure, ta solution ne m'aide en rien, puis j'ai trouver ma solution. Dans un des champs TEXT, le texte d'une des annonces comportait un 'apostrophe, j'ai utilisé mysql_real_escape_string() pour signer les caractère spécieux et tous marche.

Merci quand même ;)
0