View Full Version : script de news le retour
kenshin
1 juillet 2003, 19h53
Bonjour,
voila ma question :
un ami voudrait afficher les news de son site sur d'autres sites, j'ai essayé la methode du script que vous m'avez donné à l'époque ici (http://www.newdimension-fr.net/t1072.html)
mais hélas ça ne fonctionne pas
il utilise le gestionnaire de news : freenews
son config.php se trouve dans le répertoire freenews.
Il inclue sur sa page d'accueil les news sous forme de lien en utilisant ce code :
<?php
$chemin = "freenews";
$what_aff = "petit_format";
include ("$chemin/aff_news.php");
?>
N'etant pas une spécialiste php pourriez vous nous aider à créer notre script , merci pour vos réponses.
En espérant vous avoir donner le maximum de renseignement.
ken
kenshin
2 juillet 2003, 10h33
Personne ne saurait ?
Jogo
2 juillet 2003, 12h27
Bas, tu nous aide pas trop pour qu'on t'aide ! On ne connait pas freenews ni précisément où est le problème, on à aucune bas pour t'aider. :(
kenshin
2 juillet 2003, 12h50
as tu visité le lien que j'ai indiqué ?
le problème est adapté le script mynews mais pour freenews, peut etre que parmi vous une personne connait ce gestionnaire de news.
Ce script mynews est celui ci que Formatman m'avait donné.
<?
require("config.inc.php3");
$db = mysql_connect("$dbhost", "$dblogi", "$dbpass");
mysql_select_db("$dbbase",$db);
$rqt = MYSQL_QUERY("SELECT id FROM $TBL_NEWS");
$tot = MYSQL_NUM_ROWS($rqt);
$req = MYSQL_QUERY("SELECT * FROM $TBL_NEWS ORDER BY id DESC LIMIT 0, $limit");
$res = MYSQL_NUM_ROWS($req);
$i=0;
WHILE($i!=$res)
{
$id = mysql_result($req,$i,"id");
$titre = mysql_result($req,$i,"titre");
$date = substr(mysql_result($req,$i,"date"),0,5);
if(strlen($titre)>=30){ $titre = substr($titre,0,25)."..."; }
?>
document.write("<font face='arial' size='2'><b><? echo $date; ?> : </b><a href='<? echo $PATH_INDEX; ?>#id_news_<? echo $id; ?>' target='_blank'><? echo $titre; ?></a></font><br> ");
<?
$i++;
}
?>
et moi j'en suis ici :
<?
require("freenews/config.php3");
$db = mysql_connect("$serveur_z", "$login_z", "$pass_z");
mysql_select_db("$base_z");
ensuite ne connaissant pas le php je suis coincé pour continuer.
voila les données de la table news :
http://membres.lycos.fr/kenshin51/tablefreenews.gif
Matt
2 juillet 2003, 15h59
Si tu peux patienter une semaine, le temps pour moi de rentrer des mes "vacances", je devrais pouvoir te faire quelque chose qui marche ...
kenshin
2 juillet 2003, 16h18
ok merci beaucoup d'y jeter un oeil
Jogo
2 juillet 2003, 16h30
En attendant la solution professionnelle de Matt, voilà la chsoe qui devrait marcher avec ton script :
<?php
require("freenews/config.php3");
//->Variable à remplir
$TBL_NEWS = "";//->Nom de la table contenant les news
$PATH_INDEX = "";//->URL du fichier qui sert à afficher les news
$limit = "30";//->Nombre de news à afficher
$db = mysql_connect($serveur_z, $login_z, $pass_z);
@mysql_select_db($base_z);
$rqt = mysql_query("SELECT id_news FROM $TBL_NEWS");
$tot = mysql_num_rows($rqt);
$req = mysql_query("SELECT * FROM $TBL_NEWS ORDER BY id_news DESC LIMIT 0, $limit");
$res = mysql_num_rows($req);
$i = 0;
while($i != $res)
{
$id = mysql_result($req, $i, "id_news");
$titre = mysql_reslut($req, $i, "titre");
$date = mysql_result($req, $i, "date_news");
if(strlen($titre) >= 30)
$titre = substr($titre, 0, 25) . "...";
echo "document.write(\"<font face='Arial' size='2'><b>" . $date . " : </b><a href='" . $PATH_INDEX . "#id_news_" . $id . "' target='_blank'>" . $titre . "</a></font><br />\");\n";
$i++;
}
?>
A savoir que pour que je sais pas si ça va marcher, car je trouve ça codé vraiment n'importe comment, à savoir qu'ils y a quelques variables qu'il faut que tu remplisent : $TBL_NEWS le nom de la table qui contient ttes les news, $limit : nombre de news qu'affiche le script et $PATH_INDEX l'url de la page qui permet d'afficher les news, à savoir qu'une ancre #id_news permet de pointer vers la bonne news, mais ça sans connaitre ton script en détails je ne peux rien faire, à toi d'adapter.
Le mieux c'set que tu me file l'url ou télécharger ton script, et je te refait le script de A à Z en moins d'une semaine.
kenshin
2 juillet 2003, 17h17
tu peux trouver une version sur ce lien ici (http://www.weboconcept.com/scripts/php/www.prologin.fr/telecharger/freenews_2_1.zip)
merci je vais tester
kenshin
2 juillet 2003, 17h25
Provient du message de Jogo
[B]En attendant la solution professionnelle de Matt, voilà la chsoe qui devrait marcher avec ton script :
[PHP]
<?php
require("freenews/config.php3");
//->Variable à remplir
$TBL_NEWS = "";//->Nom de la table contenant les news
$PATH_INDEX = "";//->URL du fichier qui sert à afficher les news
$limit = "30";//->Nombre de news à afficher
le nom de la table se nomme : news
l'url du fichier qui sert àafficher les news : est ce le nom du fichier qui contiendra ce script ?
nbre de news : 5
Jogo
2 juillet 2003, 18h37
L'url du fichier qui sert à afficher els news est l'url de la page avec laquel on voit le contenu de la news.
Je vais regarder le script, et éssayer de te faire quelque chose d'un peut mieux.
Jogo
2 juillet 2003, 19h48
Valà, c'set la même chose, mais en plus simple et qui ne demande aucune configuration.
<?php
/* © Jogo 2003
Jogo@nintendomaine.com
*/
$chemin = "./";//->chemin par rapport à la racine du script freenews
$nbnews = 5; //->nombre de news à afficher
include ($chemin . "config.php");
include ($chemin . "options.inc.php");
include ($chemin . "freenews_functions.inc.php");
//->Connection MySQL
connexion();
$sql = "SELECT id_news, titre, auteur, date_ajout FROM news WHERE validation='1' ORDER BY id_news DESC LIMIT 0, " . $nbnews;
$res = mysql_query($sql);
$nbn = mysql_num_rows($res);
while($aff = mysql_fetch_array($res)) {
if(strlen($aff['titre'] >= 30))
$aff['titre'] = substr($aff['titre'], 0, 25) . "...";
echo "document.write(\"<font face='Arial' size='2'><b>" . $aff['date_ajout'] . " : </b><a href='" . $url_suite . "?id_news=" . $aff['id_news'] . "' target='_blank'>" . $aff['titre'] . "</a></font><br />\");\r";
}
mysql_close();//->je suis méticuleux, je ferme la connection
?>
Ca ne demande aucune configuration si tu mets le fichier contenant ce script dans le dossier freenews, si tu le mets pas dans ce dossier, change juste $chemin, comme tu m'avais filé ton premier script, je pense qu'il faut mettre $chemin = "./freenews/";
C'est relativement simple ce que ça affiche, alors si tu veux autre chose et que t'arrive pas à le faire seul, n'ésite pas à me contacter.
EDIT : Benjy, si tu m'écoute, il faudrais que tu fasse en sorte que dans les codes php les smileys ne soient pas interprétés, car si je peux même plus mettre de sileys dans mes commentaires sans que ça soit remplacé par le code de l'image, où va le monde ? ;)
kenshin
2 juillet 2003, 23h13
Merci beacoup pour ton aide Jogo je vais tester ton script et te tiendrait au courant du résultat.
kenshin
3 juillet 2003, 09h52
Bonjour Jogo
le script fonctionne mais quand on appelle via
<script language="JavaScript" type="text/javascript" src="http://urldusite/freenews/nomdufichier.php"></script>
les news ne s'affichent pas , aurais tu une idée du problème ?
Jogo
3 juillet 2003, 14h46
Moi j'ai testé, et ça marcge nickel, est ce que http://urldusite/freenews/nomdufichier.php affiche quelque chose ?
kenshin
3 juillet 2003, 16h44
oui tout à fait.
Jogo
3 juillet 2003, 17h45
bah moi je vais te faire un copier-coller de ce que j'ai fait en local, et ça marche impec !
<script language="javascript" src="http://localhost/freenews_2_1/freenews/kenshin.php"></script>
La seule chose qui menque, c'set l'abscence de type="", éssais sans pour voir.
kenshin
3 juillet 2003, 20h38
j'ai pas compris ta phrase ; j'ai essayé avec et sans guillements en double et simple mais rien à faire j'ai un message d'erreur dans internet explorer 5.5
J'ai testé à l'interieur du répertoire freenews et suivie ton conseil pour un fichier en dehors.
j'ai testé le script de ND et il marche.
j'ai effectué des cmod 777 sur les fichiers dans le script sur le répertoire freenews, tjs cette erreur et rien qui ne s'affiche.
http://membres.lycos.fr/kenshin51/erreur01.gif
ce qui prouve que le script fonctionne bien.
http://membres.lycos.fr/kenshin51/java.gif
je ne sais plus que faire j'ai testé l'applet sur wanadoo et meme chose page vierge.
Jogo
3 juillet 2003, 21h32
Je avoir identifié le problème, ton fichier menu4.php doit contenir que
document.write("02/07/2003 : ta news");
Or, il contient pleins de trucs qui n'on rien à faire ici, dont (je pense j'ai pas vérifié) les pubs multimania. Donc, le fichier menu4.php contient exclusivement le script que je t'es donné ? Si oui, cela voudrai dire que c'est lycos qui ajoute automatiquement toute cette merde qui empêche ce systeme de fonctionner normalement.
Matt
3 juillet 2003, 21h39
Ah ben oui ... C'est ça ... C'est Lycos qui fout sa m**** avec sa pub ... Problème courant ...
Jogo
3 juillet 2003, 21h51
Problème courant ... mais chiant !
On peux plus rien faire avec les hébergeurs gratuits de nos jours ! Où va le monde ?
kenshin
3 juillet 2003, 21h56
j'ai du mal à te suivre mon cher Jogo,
la page menu4.php ne contient que le script que tu as fait, la pub de lycos ne s'affiche pas.
la pub maintenant chez multimania est une bannière sur la droite qui s'affiche une fois et encore tu acutualises la page et elle disparait.
le problème c'est que j'ai essayé sur un autre serveur autre que lycos est c'est le meme problème où un script freenews est installlé
enfin si vous avez des idées merci à ceux qui se sont pensé dessus et se pencheront dessus.
Matt
4 juillet 2003, 07h53
Envoie moi les sources complètes sur matt@xsetup.net, et dès que je rentre chez moi (jeudi 10), je m'en occupe ...
Jogo
4 juillet 2003, 10h16
Provient du message de kenshin
j'ai du mal à te suivre mon cher Jogo,
la page menu4.php ne contient que le script que tu as fait, la pub de lycos ne s'affiche pas.
la pub maintenant chez multimania est une bannière sur la droite qui s'affiche une fois et encore tu acutualises la page et elle disparait.
Ah oui, as-tu regardé la source de ta page ?
http://membres.lycos.fr/kenshin51/menu4.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
document.write("<font face='Arial' size='2'><b>02/07/2003 : </b><a href='http://membres.lycos.fr/kenshin51/freenews/ex_suite_news.php?id_news=2' target='_blank'>je vais y arriver ou pas</a></font><br />");
document.write("<font face='Arial' size='2'><b>02/07/2003 : </b><a href='http://membres.lycos.fr/kenshin51/freenews/ex_suite_news.php?id_news=1' target='_blank'>Test news</a></font><br />");
</body>
</html>
</pre></xmp></noscript>
<script src="http://ads.multimania.lycos.fr/ad/test_frame_size.js"></script>
<script language="javascript">
if (!AD_clientWindowSize()) {
document.write('<NOSC'+'RIPT>');
}
</script> <script type="text/javascript">
function setCookie(name, value, expires, path, domain, secure) {
var curCookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
document.cookie = curCookie;
}
function resizeGoogleAdFrame() {
parent.document.body.cols = "*, 140";
}
var ad_url = "http://ads.multimania.lycos.fr/ad/google/frame.php?_url="+escape(self.location);
var ref=window.document.referrer;
if(parent.LycosAdFrame) {
if(parent.memberPage && parent.memberPage.document.title ) {
parent.document.title=parent.memberPage.document.title;
}
if(parent.LycosAdFrame && parent.LycosAdFrame.location && (ref != "" && (ref+"?" != window.location) && (ref.substr(ref.length-1,1) != "/")) ) {
parent.LycosAdFrame.location.href=ad_url;
}
}
else if(top.LycosAdFrame && top.LycosAdFrame.location) {
if ((ref != "" && (ref+"?" != top.window.location) && (ref.substr(ref.length-1,1) != "?"))) {
top.LycosAdFrame.location.href=ad_url;
}
}
else {
setCookie("adFrameForcePHP",1,0,"/","membres.lycos.fr",0);
}
// hack to disallow people from resizing the google frame
//setTimeout("resizeGoogleAdFrame()", 5000);
</script>
<script type="text/javascript" src="http://ads.multimania.lycos.fr/ad/ad.php?cat=&mkw=&CC=fr&ord=1898087491&adpref="></script>
Je l'invete ça peut-être ? C'est pas venu tout seul ! C'est pour ça que t'a une erreur javascript, en croyant ouvrir un fichier js le script tombe sur toute cette merde, et là erreur JS !
Matt
4 juillet 2003, 11h43
C'est vrai que c'est un joli merdier tout ça :confused:
Il te reste plus qu'à passer chez Free ...
kenshin
6 juillet 2003, 18h52
je testerai sur free demain.
le script multimania n'incrute tout seul.
mais ne s'affiche pas pour autant dans la page.
kenshin
6 juillet 2003, 21h30
j'ai installé freenews sur free.fr, je fais appel au script via un appelet javascript comme d'hab sur d'autres serveurs notamment wanadoo et j'ai toujours ce pb d'erreur qui apparait en ligne 2.
Matt
6 juillet 2003, 21h30
Il s'affiche pas, mais le simple fait qu'il s'incruste fait que ton URL n'est plus un fichier JS, mais une page HTML ...
Chez Free ça devrait logiquement fonctionner sans problème.
kenshin
6 juillet 2003, 21h38
pas compris
et ça ne fonctionne pas chez free
http://membres.lycos.fr/kenshin51/free.gif
kenshin
6 juillet 2003, 21h43
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test script</title>
</head>
<body>
<script language="JavaScript" src="http://cdivxstarter.free.fr/freenews/menu4.php" type="text/javascript"></script>
</body>
</html>
Matt
6 juillet 2003, 22h01
dans ta page menu4.php, tu ne devrais avoir aucun code HTML ... là tu en as plein ...
Jogo
6 juillet 2003, 22h38
Provient du message de Matt
dans ta page menu4.php, tu ne devrais avoir aucun code HTML ... là tu en as plein ...
Tjrs le même problème, ça doit être toi kenshin qui le mets, car free n'incruste pas ce genre de trucsn tt comme multimania n'incruset que ça pub, et pas les balises <html>,<head> et <body>. Lycos n'incruste que ça pub, donc ça doit être toi ! Tu ferais pas ça avec un truc à la front page ou autre éditeur qui rajoute les balises automatiquement à chaque fois ?
kenshin
7 juillet 2003, 08h50
ben voila ma superbe erreur non j'ai edité avec le bloc note et par habitude j'ai mis les balises html.
je pense que ça n'etait pas génant.
BOnne nouvelle ça fonctionne nickel.
Merci à tous deux et à toi Jogo pour mon aide ultra précieuse.
vBulletin® v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.