 Admin |
Salut,
déjà pour ta requête évite le SELECT * qui est gourmand, n'utilises que le nom des champs que tu veux récupérer. Ensuite remplace <? par <?php
et pour ta requête remplace-là par ça (ça t'évitera une condition if inutile) :
<?php
$envoi = mysql_query("SELECT id_auteur,titre,id_parent,statut FROM spip_forum WHERE id_parent=0 AND statut='publie' AND id_auteur=".$_SESSION['id_auteur']);
while($tableau = mysql_fetch_row($envoi))
{
$nom = $tableau[0];
$titre = $tableau[1];
$etat = $tableau[2];
$origine= $tableau[3];
echo $nom,' ',$titre,' ',$etat,' ',$origine,'<br />';
}
?>
ça devrait marcher. Si t'as encore un prob bah il me faudra la structure de ta table spip_forum :-) -- 
|
|
Merci mais désolé cela ne fonctionne pas chez moi j'ai cela:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /data/members/paid/l/a/la-plume-et-lencrier.com/
htdocs/www/php/CACHE/d/php-essai.07361b.NEW on line 12
Voici la structure des tables concernées:
# --------------------------------------------------------
#
# Structure de la table `spip_auteurs_articles`
#
CREATE TABLE spip_auteurs_articles (
id_auteur bigint(21) NOT NULL default '0',
id_article bigint(21) NOT NULL default '0',
KEY id_auteur (id_auteur),
KEY id_article (id_article)
) TYPE=MyISAM;
# --------------------------------------------------------
#
# Structure de la table `spip_forum`
#
CREATE TABLE spip_forum (
id_forum bigint(21) NOT NULL auto_increment,
id_parent bigint(21) NOT NULL default '0',
id_rubrique bigint(21) NOT NULL default '0',
id_article bigint(21) NOT NULL default '0',
id_breve bigint(21) NOT NULL default '0',
date_heure datetime NOT NULL default '0000-00-00 00:00:00',
titre text NOT NULL,
texte mediumtext NOT NULL,
auteur text NOT NULL,
email_auteur text NOT NULL,
nom_site text NOT NULL,
url_site text NOT NULL,
statut varchar(8) NOT NULL default '',
idx enum('','1','non','oui','idx') NOT NULL default '',
ip varchar(16) default NULL,
maj timestamp(14) NOT NULL,
id_auteur bigint(20) NOT NULL default '0',
id_message bigint(21) NOT NULL default '0',
id_syndic bigint(21) NOT NULL default '0',
PRIMARY KEY (id_forum),
KEY id_parent (id_parent),
KEY id_rubrique (id_rubrique),
KEY id_article (id_article),
KEY id_breve (id_breve),
KEY id_message (id_message),
KEY id_syndic (id_syndic),
KEY statut (statut,date_heure),
KEY idx (idx)
) TYPE=MyISAM;
# --------------------------------------------------------
J'ai mis volontairement la structure de la able spip_auteur_article car il y a là l'id_auteur de larticle et non du message forum comme dans spip_forum.
On retrouve dans les deux l'id_article.
Est qu'il est possible de faire une comparaison sur ces deux tables pour récuperer uniquement l'id_auteur de l'article?
Cela devient beaucoup trop compliqué pour moi ;)
Merci d'avance |
 Admin |
Ok essaie de remplacer la requête par ça :
<?php
$envoi = mysql_query("SELECT a.id_auteur,f.titre,f.id_parent,f.statut FROM spip_forum f,spip_auteurs_articles a WHERE f.id_parent=0 AND f.statut='publie' AND a.id_auteur=".$_SESSION['id_auteur']);
?>
-- 
|
|
Non désolé cela ne fonctionne pas j'ai plus rien qui s'affiche.
Mais si je reprends mon idée:
J'ai créé une colonne dans spip_forum qui se nomme id_membre, comment puis je récuperer dans cette colonne la valeur de l'id_auteur de la table spip_auteurs_articles car dans les deux tables j'ai les deux id_articles. Il doit exister une comparaison, un truc de ce genre, non?
En fait voilà:
spip_forum
id_auteur ! id_article ! id_membre
35 10 2
car dans spip_auteurs_articles j'ai ça:
id_auteur ! id_article
2 10
2 étant le bon id_auteur du texte et 35 etant l'id_auteur du message de forum |