Ton idée fonctionne.mais non,
normalement si ton charset est bien choisie il fais les correspondances pour les accents, en SQL c'est fait exprès pour
<?php
// Connection à mysql
include('connexion.php');
// fin de la partie connexion
$requete="SELECT * from ent"; // requête proprement dite
$result = mysql_query($requete) or die(mysql_error()); // envoi de la requête
while($row = mysql_fetch_array($result)) { //le résultat revient sous forme d'une matrice
$UID_ENT = $row['UID_ENT'];
$PRENOM = $row['PRENOM'];
$PRENOM = preg_replace('#[éèêë]#', 'e', $PRENOM);
$PRENOM = preg_replace('#[ï]#', 'i', $PRENOM);
$PRENOM = preg_replace('#[äà]#','a',$PRENOM);
$PRENOM = preg_replace('#[öô]#','o',$PRENOM);
$PRENOM = preg_replace('#[ç]#','c',$PRENOM);
$requete2="UPDATE ENT SET PRENOM = '$PRENOM' WHERE UID_ENT = '$UID_ENT'" ; // requête proprement dite
$result2 = mysql_query($requete2) or die(mysql_error()); // envoi de la requête
}
?>
<?php
// Connection à mysql
include('connexion.php');
// fin de la partie connexion
$requete="SELECT * from magret"; // requête proprement dite
$result = mysql_query($requete) or die(mysql_error()); // envoi de la requête
while($row = mysql_fetch_array($result)) //le résultat revient sous forme d'une matrice
{
$CLASSE_MAGRET = $row ['CLASSE'];
$NOM_MAGRET = $row['NOM'];
$PRENOM_MAGRET = strtolower($row['PRENOM']);
$UID_ENT = $row['UID_ENT'];
if ($UID_ENT == '#') {
$requete2="SELECT * from ENT"; // requête proprement dite
$result2 = mysql_query($requete2) or die(mysql_error()); // envoi de la requête
while($row2 = mysql_fetch_array($result2)) //le résultat revient sous forme d'une matrice
{
$CLASSE_ENT = $row2 ['CLASSE'];
$NOM_ENT = $row2['NOM'];
$PRENOM_ENT = strtolower($row2['PRENOM']);
$UID_ENT = $row2['UID_ENT'];
IF (($NOM_MAGRET == $NOM_ENT) && ($PRENOM_MAGRET == $PRENOM_ENT) && ($CLASSE_MAGRET == $CLASSE_ENT)) {
$requete3="UPDATE MAGRET SET UID_ENT = '$UID_ENT' WHERE NOM = '$NOM_MAGRET'&& PRENOM = '$PRENOM_MAGRET' && CLASSE = '$CLASSE_MAGRET'" ; // requête proprement dite
$result3 = mysql_query($requete3) or die(mysql_error()); // envoi de la requête
}
}
}
}
?>
UPDATE `magret`, `ent`
SET `magret`.`uid_ent` = `ent`.`uid_ent`
WHERE `magret`.`nom` = `ent`.`nom`
AND `magret`.`prenom` = `ent`.`prenom`
AND `magret`.`class` = `ent`.`class`
il faut que les table est le même charset (et même collation)Ah pardi... c'est mieux que ma triple requete...
Et pour ce qui est du problème d'accent? Est-ce que cela peut se faire sans le premier fichier?
Tu m'avais parlé de charset !?
Sinon, comment outrepasser ce souci de maximum execution time quand je veux remplacer mes accents?