par
Cyrano » 14 sept. 2005, 10:32
Bon, je ne sais pas si ça fonctionne, je n'ai pas testé, mais grosso modo, il faut faire ça en deux requêtes. La première récupère la liste des chiffres de la première able et on met la liste des résultats dans un tableau indexé. Avec ce tableau, on construit dynamiquement une seconde requête sur la table BB : voici une proposition, je ne garantis cependant rien, j'ai un doute sur l,acceptation du NOT LIKE avec MySQL 4.0, à tester :
<?php
/* On récupère les chiffres existat dans la première table */
$sql1 = "SELECT numero FROM AA";
$chiffres = array();
$requete1 = mysql_query($sql1);
while($ligne = mysql_fetch_assoc($requete1))
{
$chiffres[] = $ligne['numero'];
}
/* On crée une variable de test */
$lettre = "A";
/* On construit dynamiquement une seconde requête */
$sql2 = "SELECT numero
FROM BB
WHERE numero LIKE '". $lettre ."%'";
foreach($chiffres as $chiffre)
{
$sql2 .= " AND numero NOT LIKE ". $lettre . $chiffre;
}
/* Exécution de la requête */
$requete2 = mysql_query($sql2);
$liste = array();
/* Récupération de la liste de résultats */
while($ligne2 = mysql_fetch_assoc($requete2))
{
$liste[] = $ligne2['numero'];
}
?>
Bon, je ne sais pas si ça fonctionne, je n'ai pas testé, mais grosso modo, il faut faire ça en deux requêtes. La première récupère la liste des chiffres de la première able et on met la liste des résultats dans un tableau indexé. Avec ce tableau, on construit dynamiquement une seconde requête sur la table BB : voici une proposition, je ne garantis cependant rien, j'ai un doute sur l,acceptation du NOT LIKE avec MySQL 4.0, à tester :
[php]<?php
/* On récupère les chiffres existat dans la première table */
$sql1 = "SELECT numero FROM AA";
$chiffres = array();
$requete1 = mysql_query($sql1);
while($ligne = mysql_fetch_assoc($requete1))
{
$chiffres[] = $ligne['numero'];
}
/* On crée une variable de test */
$lettre = "A";
/* On construit dynamiquement une seconde requête */
$sql2 = "SELECT numero
FROM BB
WHERE numero LIKE '". $lettre ."%'";
foreach($chiffres as $chiffre)
{
$sql2 .= " AND numero NOT LIKE ". $lettre . $chiffre;
}
/* Exécution de la requête */
$requete2 = mysql_query($sql2);
$liste = array();
/* Récupération de la liste de résultats */
while($ligne2 = mysql_fetch_assoc($requete2))
{
$liste[] = $ligne2['numero'];
}
?>[/php]