Réécrire code PHP/MySQL en MySQL pur
Salut!
J'ai conçu une fonction PHP très simple qui cherche un éditeur de livre dans la base de donnée et renvoie son identifiant. S'il l'éditeur existe déjà dans la base de données, la fonction renvoie son identifiant; si l'éditeur n'existe pas, on le crée et la fonction renvoie son identifiant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| function recupererIdEditeur($editeur) {
//$editeur est une chaine de caractère contenant le nom de l'éditeur
//recherche un éditeur correspondant
$req = mysql_query("SELECT idEditeur FROM editeurs WHERE nomEditeur='$editeur'");
if(!$req) {
return false;
}
//on compte le nombre d'éditeurs correspondants (normalement 0 ou 1)
$nbreResultats = mysql_num_rows($req);
//si l'éditeur n'existe pas, crée une nouvelle entrée et récupère le nouvel ID
if($nbreResultats == 0) {
$req = mysql_query("INSERT INTO editeurs (nomEditeur) VALUES ('$editeur')");
if(!$req) {
return false;
}
$idEditeur = mysql_insert_id();
}
//si l'éditeur existe déja, récupère son ID
else {
$row = mysql_fetch_row($req);
$idEditeur = $row[0];
}
//retourne le ID de l'éditeur
return $idEditeur;
} |
Ça fonctionne très bien. Toutefois, je préfèrerais faire ça avec une requête MySQL (et éventuellement des sous-requêtes). Auriez-vous des suggestions à me faire?