Appeler du PHP dans une page HTML

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


Americas
WRInaute accro
WRInaute accro
 
Messages: 3380
Inscription: 24 Sep 2003

Appeler du PHP dans une page HTML

Message le Mer Nov 05, 2003 21:21

Help !!!

J'en ai ras les bottes ! j'essaye de faire quelque chose qui me parait archi simple et je plante :?

voilà le problème : J'ai un forum... en PHP... j'ai préparé des pages... en PHP... qui affichent les derniers messages des différentes rubriques du forum... jusque là, tout va bien :wink:

Mais le problème commence quand je veux intégrer ces news sur d'autres pages en HTML
J'ai essayé de les placer dans une iframe... ça marche... sauf que le paramètre "height" n'est pas vraiment paramétrable...
Je m'explique, la hauteur de mon iframe peut varier en fonction des titres affichés par mon fichier news.php... je voudrais que la taille de cette fenêtre s'ajuste automatiquent selon la hauteur des news à afficher... mais la commande height=100% ne fonctionne pas :cry:

Quelqu'un aurait-il une idée ?... sachant que je ne dois pas changeren php la page qui recevra cette incude... et que je préfère éviter les ssi


indigene
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 318
Inscription: 7 Sep 2003

Message le Mer Nov 05, 2003 21:28

Peut-être sortir le résultat sous forme d'une image et appeler une image php. Mais je pense que tu veux que les textes soient indexés.
Si quelqu'un à une solution je suis preneur aussi.


George Abitbol
WRInaute passionné
WRInaute passionné
 
Messages: 1923
Inscription: 6 Juin 2003

Message le Mer Nov 05, 2003 21:28

Pour ton iframe, je sais pas, j'y touche pas :D
Mais par contre tu peux faire ça en Javascript :

Code: Tout sélectionner
<script type="text/javascript" src="ton_fichier.php"></script>


Et dans ton fichier PHP, il faudra générer du code Javascript pour écrire dans le fichier html (des document.write(), donc).

Du genre (exemple bateau) :

Code: Tout sélectionner
<?php
$var = 'Hello world !';
?>
document.write('<?php echo $var; ?>');


Mais bon, ça n'aidera pas Google à référencer les discussions (l'iframe non plus)

Fred


Americas
WRInaute accro
WRInaute accro
 
Messages: 3380
Inscription: 24 Sep 2003

Message le Mer Nov 05, 2003 21:39

Quel cirque !!! j'ai cherché des tas de solutions possibles avec javascript... dans les forums... il y en a qui propose des trucs et les discussions n'en finissent pas parce qu'il y a toujours quelque chose qui cloche :?

à tout hasard... voilà le code de mes news :

<TABLE border=1 cellPadding=2 cellSpacing=0 width=120 bordercolor="#000000"><tr><td align=center bgcolor=#0000ff>
<b><font size=2 color=#ffffff>Actu Musique</font></td></tr><tr><td bgcolor=#f2f2f2>
<font size=2></b>
<?
//* $fid should be the forum number of the forum you wish to pull posts from*//
$fid = "5";
mysql_connect("localhost", "base", "password");
mysql_select_db("base");

$result = mysql_query("SELECT * FROM xmb_threads WHERE fid = '$fid' ORDER BY xmb_threads.lastpost DESC LIMIT 0,5");

while($row = mysql_fetch_array($result)) {
$row[subject] = stripslashes($row[subject]);
$row[subject] = substr ($row[subject], 0, 50);
$mem = explode("|", $row[lastpost]);
echo "<a href=\"http://www.americas-fr.com/forum/viewthread.php?tid=$row[tid]\" target=\"_top\">$row[subject]</a>...";

echo "<BR>";
}
?>
</font>
</td></tr></table>


où et comment je génère du javascript là dedans ? 8O

jeroen
WRInaute passionné
WRInaute passionné
 
Messages: 2455
Inscription: 30 Aoû 2002

Message le Mer Nov 05, 2003 21:45

tu laisse le code php mais tout ce que tu envoie au navigateur doit êre dans des document.write('ton texte');


Americas
WRInaute accro
WRInaute accro
 
Messages: 3380
Inscription: 24 Sep 2003

Message le Mer Nov 05, 2003 21:48

jeroen a écrit:tu laisse le code php mais tout ce que tu envoie au navigateur doit êre dans des document.write('ton texte');


et en clair ? 8O j'ai pas le décodeur Canal + :lol:


indigene
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 318
Inscription: 7 Sep 2003

Message le Mer Nov 05, 2003 21:51

tu remplaces tes echo par un truc de ce genre :

Code: Tout sélectionner
    echo "function affnews()   {\n";
    ECHO "document.write('<a href=\"http://www.americas-fr.com/forum/viewthread.php?tid=".$row[tid]."\" target=\"_top\">".$row[subject]."</a>');";
    echo "}\n";

et dans ta page html tu appelles la function javascript affnews


Americas
WRInaute accro
WRInaute accro
 
Messages: 3380
Inscription: 24 Sep 2003

Message le Mer Nov 05, 2003 22:02

marche pas... le fichier news m'affiche le code function affnews() { document.write('Soirée Astor Piazzolla à Paris');} et la page html m'indique une erreur javascript :?


indigene
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 318
Inscription: 7 Sep 2003

Message le Mer Nov 05, 2003 22:14

Americas a écrit:marche pas... le fichier news m'affiche le code function affnews() { document.write('Soirée Astor Piazzolla à Paris');} et la page html m'indique une erreur javascript :?


J'ai pas précisé mais la premiere ligne de mon code doit se trouver avant ta boucle while et la dernière ligne apres la boucle while, de façon à ce que la boucle génère les document.write relatifs à tes 5 derniers posts.

C'est peut-etre cela le problème. Tu as quoi dans ton code php ?

Et sur ta page html tu dois avoir cela :
<script type="text/javascript" language="javascript" src="tapagenews.php"></script>
<script type="text/javascript" language="javascript"><!--
affnews();
// -->
</script>

Mais j'ai pas testé moi-même ce code, j'en utilise un similaire alors celui-ci devrait marcher aussi.


Americas
WRInaute accro
WRInaute accro
 
Messages: 3380
Inscription: 24 Sep 2003

Message le Mer Nov 05, 2003 22:22

c'est ce que j'avais fait...
Le code php est ce que j'ai posté plus haut... il n'y a rien de plus que ces quelques lignes pour afficher mes dernières news


indigene
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 318
Inscription: 7 Sep 2003

Message le Mer Nov 05, 2003 22:30

ça c'était l'ancien code, mais celui avec les modifications pour écrire du javascript il ressemble à quoi ?


George Abitbol
WRInaute passionné
WRInaute passionné
 
Messages: 1923
Inscription: 6 Juin 2003

Message le Mer Nov 05, 2003 22:33

Tout doit être affiché via document.write, hein...

Code: Tout sélectionner
document.write('<TABLE border="1" cellPadding="2" cellSpacing="0" width="120" bordercolor="#000000">\n<tr>\n<td align="center" bgcolor="#0000ff">\n');
document.write('<font size="2" color="#ffffff">Actu Musique</font></td>\n</tr>\n<tr>\n<td bgcolor="#f2f2f2">\n');
document.write('<font size="2">');
<?php
//* $fid should be the forum number of the forum you wish to pull posts from*//
$fid = "5";
mysql_connect("localhost", "base", "password");
mysql_select_db("base");

$result = mysql_query("SELECT * FROM xmb_threads WHERE fid = '$fid' ORDER BY xmb_threads.lastpost DESC LIMIT 0,5");

while($row = mysql_fetch_array($result)) {
$row['subject'] = stripslashes($row['subject']);
$row['subject'] = substr ($row['subject'], 0, 50);
$mem = explode("|", $row['lastpost']);
?>
document.write('<a href="http://www.americas-fr.com/forum/viewthread.php?tid=<?php echo $row['tid']; ?>" target="_top"><?php echo $row['subject']; ?></a>\n');
<?php
}
?>
document.write('</font>\n');
document.write('</td></tr></table>\n');


Dis donc... tu comptes passer aux CSS, un jour ? :D La balise font est dépréciée depuis des lustres. ;) Et en plus ça fait un code tout moche.

(bon, le code ci-dessus n'est pas garanti à 100%, hein, j'ai pu oublier un guillemet ou un point-virgule...)

Fred


indigene
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 318
Inscription: 7 Sep 2003

Message le Mer Nov 05, 2003 22:42

pourquoi tout écrire en document.write ?
Si il fait une table en html sur sa page d'accueil et qu'il appelle la fonction javascript à l'intérieur d'une cellule, ça devrait le faire, non ?


George Abitbol
WRInaute passionné
WRInaute passionné
 
Messages: 1923
Inscription: 6 Juin 2003

Message le Mer Nov 05, 2003 22:47

indigene a écrit:pourquoi tout écrire en document.write ?
Si il fait une table en html sur sa page d'accueil et qu'il appelle la fonction javascript à l'intérieur d'une cellule, ça devrait le faire, non ?


Ah ben oui, bien sûr. C'est juste que tout ce qu'il met dans son fichier php doit être écrit avec des document.write(). Après à lui de voir ce qu'il veut mettre en dur et dans le fichier.

Bon, par contre, si on considère les déjà célèbres 15% d'internautes qui ont désactivé le JS, ils verront la table, mais elle sera vide, pour eux. En affichant la table aussi en Javascript, ils ne verront rien, c'est peut-être mieux.

Fred


indigene
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 318
Inscription: 7 Sep 2003

Message le Mer Nov 05, 2003 22:51

Mais ça risque de casser la mise en page. Alors que si la table s'affiche toujours dans toutes les conditions qu'il ait désactivé ou non javascript ne changera rien à la mise en page.

Appeler du PHP dans une page HTML

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités