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 :

Jointure de deux tables


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de hadjiphp
    Inscrit en
    Décembre 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 155
    Par défaut Jointure de deux tables
    Bonjour,
    j'ai une question :
    je suis entrain de créer un moteur de recherche, et pour inserer les données dans la base de données j'indexe les documents (page web) selon son URL.
    pour indexer un document il faut caculer le poids de chaque terme de ce document.
    donc j'insere dans la base de données chaque terme et son poids pour chaque document.
    ma question est la suivante :
    1- je souhaite faire un <gras>code_terme et code_document</gras> c-à-d je créer un table "<gras>terme</gras>" qui contient les champs (code_terme, code_document, terme, poids) mais comment faire pour augmenter le code_terme a chaque insertion d'un nouveau terme, et augmenter le code_document pour chaque insertion de nouveau document.
    2- j'ai aussi une autre table "<gras>document</gras>" qui contient les champs suivants (code_document, URL, titre, resume) le code_document c'est le même qui se trouve dans la table "<gras>terme</gras>".je souhaite de faire la jointure des deux tables pour inserer dans une autre table "<gras>indexation</gras>" qui contient les champs (URL, titre, resume, terme).



    voila le code d'insertion sans code_terme et code_document :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    $sql = "INSERT INTO terme (terme, poids) VALUES ('" . $mot . "', $nb)";
    $sql1="INSERT INTO document (url,titre,resume) VALUES ('$code','$champs1_titre','$champs1_descr')"; //inserer dans la table "document"
    mysql_query($sql) or die (mysql_error());
    mysql_query($sql1) or die (mysql_error());
    ?>
    a ce qu'il ya qlq peut me répondre parce que votre réponse ça sera la base de mon moteur de recherche.

    merci d'avance.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 71
    Par défaut
    Salut,

    1- En MySQL il y a une solution simple il suffit de rendre le champ code_terme et code document INDEX AUTO_INCREMENT ce qui fait qu a chaque insert tu ne passe pas le parametre code_terme en parametre et il sera directement crée et a chaque fois un de plus, pour recuperer sa valeur tu utilise la fonction mysql_insert_id()

    2- un insert c'est sur une table donc il faut apres l'insert recuperer la valeur du champ par exemple code_document avec mysql_insert_id() et refaire une requete en precisant le champ!

    J'espere que je suis clair ;-)

Discussions similaires

  1. jointure entre deux tables mysql
    Par Invité dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 23/04/2006, 20h08
  2. jointure de deux tables de deux bases de données!
    Par JauB dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/01/2006, 11h05
  3. [MySQL] Jointure entre deux tables
    Par Flushovsky dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 03/10/2005, 18h55
  4. PROBLEME DE JOINTURE ENTRE DEUX TABLE
    Par DarkMax dans le forum Langage SQL
    Réponses: 13
    Dernier message: 13/01/2005, 15h11
  5. Jointure entre deux tables et résultat
    Par Asdorve dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/06/2004, 14h50

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