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

Requêtes MySQL Discussion :

UPDATE et 2 tables


Sujet :

Requêtes MySQL

  1. #1
    Membre éclairé
    Profil pro
    Ingénieur en électronique
    Inscrit en
    Septembre 2004
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur en électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 419
    Par défaut UPDATE et 2 tables
    Bonjour , j'ai deux tables annuaire_rubrique et annuaire_site

    Structure des tables

    La table annuaire_rubrique comprend 1 id , un nom rubrique , et nombre ( qui est en fait le nombre d'éléments enregistré )

    La table annuaire_site comprend 1 id_site , et l'id_annuaire , et valider


    Se que je souhaitai faire:

    Conter le nombre d'éléments et les mettre dans la table. J'ai réussi a le faire , mais je fait 10 injections.

    Le programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for($i=0;$i<10;$i++)
    		{
    		$id_rubrique=$i;
    		$sql="UPDATE annuaire_rubrique 
    			set nombre=(SELECT count(id_rubrique) from annuaire_site where id_rubrique='$id_rubrique' and valid='1')
    			where id_rubrique='$id_rubrique'";
    		mysql_query($sql);
    		$req++;
    		}
    Par quelle méthode peux t'on réalisé ceci par une seule injection.

    Merci d'avance
    Matthieu

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    En mettant les 2 tables en jointures comme stipulé dans la doc
    Depuis MySQL version 4.0.4, vous pouvez aussi faire des opérations de UPDATE qui couvrent plusieurs tables :

    UPDATE items,month SET items.price=month.price
    WHERE items.id=month.id;

    L'exemple ci-dessus montre une jointure interne, en utilisant la virgule comme séparateur, mais une commande UPDATE multi-table peut utiliser n'importe quel type de jointure autorisée dans une commande SELECT, tel qu'un LEFT JOIN.

    Note : vous ne pouvez pas utiliser ORDER BY ou LIMIT avec les UPDATE multi-table.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

Discussions similaires

  1. Update d'une table a partir d'une autre table
    Par Yannis06 dans le forum Oracle
    Réponses: 6
    Dernier message: 11/08/2005, 11h32
  2. Update d'une table
    Par EssaiEncore dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/02/2005, 10h00
  3. Tquery - update avec 2 tables
    Par spocksb dans le forum Bases de données
    Réponses: 6
    Dernier message: 16/08/2004, 08h39
  4. UPDATE d'une table avec test d'un champ d'une autre table
    Par delphim dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/05/2004, 12h30
  5. Update entre 2 tables
    Par jfox dans le forum SQL
    Réponses: 8
    Dernier message: 04/11/2003, 10h22

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