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:
Ç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?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
Partager