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 : 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;
}
Ç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?