IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Réécrire code PHP/MySQL en MySQL pur


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 123
    Points : 111
    Points
    111
    Par défaut 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 : 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?

  2. #2
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    Salut,
    Citation Envoyé par grafik.muzik Voir le message
    si l'éditeur n'existe pas, on le crée et la fonction renvoie son identifiant
    es-tu sur que ce soit la bonne solution ?
    si les gens cherchent 'toto' pour rigoler, il sera cree... et ta BDD risque d'etre rapidement polluee.. :/
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 123
    Points : 111
    Points
    111
    Par défaut
    Dans mon cas précis, il s'agit d'une solution efficace étant donnée que mon application est utilisée par un personnel professionnel limité.

    En outre, si un plaisantin rentre « Toto » et que par la suite un autre employé corrige la mauvaise entrée, une autre section du programme retire l'éditeur « Toto » s'il est orphelin (c'est-à-dire s'il n'est associé à aucun ouvrage). Ainsi, la bdd reste propre.

    Merci quand même du conseil. Si tu as d'autres suggestions qui te semblent plus efficaces, je suis quand même preneur

  4. #4
    mon_nom_est_personne
    Invité(e)
    Par défaut
    renseigne toi sur les procedures. C'est la meilleur solution pour toi.

Discussions similaires

  1. [MySQL] code php consultation bdd Mysql hors ligne
    Par boukabouka dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 17/05/2013, 20h05
  2. Exécuter du code php issue d'une base Mysql
    Par yobogs dans le forum Langage
    Réponses: 2
    Dernier message: 30/05/2008, 13h30
  3. [Joomla!] Ajouter code php/mysql dans page statique
    Par eric.rouyer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 02/08/2007, 21h29
  4. PHP / MySQL : Création d'utilisateurs dans la DB par code PHP
    Par Sangdrax1604 dans le forum Administration
    Réponses: 6
    Dernier message: 07/09/2006, 17h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo