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 :

Remplir une table avec des données déjà existantes


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 55
    Points : 30
    Points
    30
    Par défaut Remplir une table avec des données déjà existantes
    Bonjour,

    Voila j'ai un petit problème avec un UPDATE qui ne fait rien.
    En fait je suis un train de créer un nuage de tags pour mon site, mais avant de commencer à coder il faut que je remplisse la table tags :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    `tags` (
      `id` int(11) NOT NULL auto_increment,
      `tag` varchar(255) NOT NULL default '',
      `articles_ids` text NOT NULL
    ) ;

    id: L'id du tag
    tag : Le tag en question
    articles_ids : Les ids des articles qui ont tag comme mot clé sous cette forme (1 2 14 26 ...)

    Seulement je n'arrive pas au résultat escompté en procédant de cette manière:


    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
    <?
    $donnes = mysql_query("SELECT keyword,article_id FROM article_master WHERE article_id<37");
     
    while ($reponse = mysql_fetch_array($donnes)){
     
    	$chaine_tags = explode(",", $reponse['keyword']);
    	$nbre_tags = count($chaine_tags);
    	for($i= 0; $i < $nbre_tags; $i++) {
    		$tags = trim($chaine_tags[$i]);
    		$tags = NoAccent($tags);
    		$remplace = array(' de ', ' le ', ' la ', ' pour ', ' un ', ' une ', ' d\'', ' l\'', ' avec ');
    		$par = array(' ',' ',' ',' ',' ',' ',' ',' ',' ');
    		$tags = str_replace($remplace, $par, $tags);
     
    		$donnees1 = mysql_query("SELECT tag,articles_ids FROM tags WHERE tag=".$tags);
    		$reponse1 = mysql_fetch_array($donnees1);
    		if ($reponse1['tag'] == NULL) {
    			mysql_query("INSERT INTO tags VALUES('', '".$tags."', '".$reponse['article_id']."')"); 
    		}
    		if($reponse1['tag'] == $tags){
    			mysql_query("UPDATE tags SET articles_ids = '".$reponse1['articles_ids']." ".$reponse['article_id']."' WHERE tag=".$tags);
     
    		}
     
     
    	}	
    ?>

    en regardant dans ma table je m'aperçois que pour par exemple le tag "php" qui est lié aux articles 16 et 17, j'ai deux entrées :
    id ---- tag ---- articles_ids
    1 ----- php ---- 16
    2 ----- php ---- 17

    Alors que j'attends un truc du genre:
    id ---- tag ---- articles_ids
    1 ----- php ---- 16 17

    Quelqu'un à la rescousse ?

    Merci.

  2. #2
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 199
    Points : 148
    Points
    148
    Par défaut
    Salut,

    pour moi c´est un probleme d´algo.
    Je dirai que tu ppeux enlever ton for, mais par contre je ferai bien un while sur ta reponse1 . Ainsi, pour chaque entree de la boucle while $reponse, tu vas la tester sur toutes tes reponses1.

    Tu vois ce que je veux dire ?
    En fait chaque élement de réponse est testé par tous les reponse1.
    Et apres tu peux garder tes if.

Discussions similaires

  1. Remplir une bdd avec des données libre de droit
    Par wyzer dans le forum Débuter
    Réponses: 0
    Dernier message: 29/06/2011, 16h31
  2. [MySQL] Remplir une table avec les données d'une autre table
    Par Souri84 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 26/11/2010, 19h41
  3. Remplir une table avec les données d'autres tables
    Par Beltegeuse dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 09/04/2008, 12h00
  4. remplir une table avec des données aléatoire
    Par jamal_id dans le forum SQL
    Réponses: 3
    Dernier message: 17/10/2007, 10h11
  5. [VBA-A]Remplir une textbox avec des données de tables.
    Par cuicui08 dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/03/2006, 10h28

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