Article dynamique sur page PHP

Résolu/Fermé
milouinbobo Messages postés 20 Date d'inscription mercredi 2 septembre 2009 Statut Membre Dernière intervention 7 mars 2010 - 2 sept. 2009 à 15:09
milouinbobo Messages postés 20 Date d'inscription mercredi 2 septembre 2009 Statut Membre Dernière intervention 7 mars 2010 - 7 sept. 2009 à 11:40
Bonjour,

J'ai crée un site Internet et souhaite ajouter sur la page d'accueil 3 articles au même endroit qui se défilent. Ca veut dire, chaque fois que je vais sur le site, l'article change.

Je travail avec Dreamw.

Qui peux m'aider ?

Espèrant d'être suffisament claire.
A voir également:

16 réponses

avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
2 sept. 2009 à 15:17
<?php
$articles = array(
	'Article 1',
	'Article 2',
	'Article 3'
);
echo $articles[rand(0,2)];
?>

Ce script affiche un article au hasard.
Si tu veux à tout pris dans l'ordre, dis-le.
N'oublie pas d'ajouter un anti-slashe avant chaque apostrophe de ton article comme ceci : \'
2
milouinbobo Messages postés 20 Date d'inscription mercredi 2 septembre 2009 Statut Membre Dernière intervention 7 mars 2010
2 sept. 2009 à 16:31
Bonjour

Merci beaucoup pour votre réponse.

Pour les articles (1 photo avec de texte chacun).
J'imagine que je ne peux pas les mettre directement dans ma page PHP.

Si je comprend bien, je dois créer d'abord 3 fiches PHP (1er article_1.php, 2ème article_2.php, 3ème article_3.php) et je le mêts quelque part sur mon site.

Après c'est le code qui cherche les articles.

Amicalement
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
2 sept. 2009 à 16:59
Le script que je t'ai donné suffit. Tu dois l'insérer là où tu veux que le texte de l'article s'affiche.
Tu dois placer tes articles dans cette partie :
$articles = array(
	'Article 1',
	'Article 2',
	'Article 3'
);
Remplace 'Article 1' par ton article (tu peux être de l'HTML). Pense à entourer ton texte avec des apostrophes et à échapper celles dans tes articles (Par exemple : Plus d'info = Plus d\'info). Par exemple :
$articles = array(
	'<h3>Ouverture du site</h3>Le site vient d\'ouvrir ces portes ce mercredi 2 septembre.<br/>N\'hésitez pas à vous inscrire',
	'<h3>Migration vers le nouveau serveur</h3>Pendant le développement du site, nous avons pris un hébergement mutualisé pensant que le site n\'aurais pas un tel succès avant l\'année prochaine.<br/><strong>Tous vos messages et tous les membres inscrits après le 5 septembre à 8:00 seront supprimés<strong> !',
	'<h3>Article 3<h3>...'
)
0
milouinbobo Messages postés 20 Date d'inscription mercredi 2 septembre 2009 Statut Membre Dernière intervention 7 mars 2010
2 sept. 2009 à 17:23
Merci beaucoup

Ca fonctionne.

Super

J'imagine que maintenant je peux mettre également des liens et des images dans les articles.
En respectant bien de mettre tout entre les '...'

J'ai déjà reussi à changer le police du texte.

Amicalement
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497 > milouinbobo Messages postés 20 Date d'inscription mercredi 2 septembre 2009 Statut Membre Dernière intervention 7 mars 2010
2 sept. 2009 à 17:53
Oui.
Tu peux même mettre plus de 3 article en modifiant cette ligne :
echo $articles[rand(0,2)];

Remplace le 2 par [le nombre d'article] - 1
0
Je vous remercie.
Vous m'avez beaucoup aidé.
Maintenant c'est à moi de faire une belle mise en page !

Juste une dernière question : Peut on faire tourner les articles automatiquement ? Ca veut dire par exemple tous les 10 sec la page change automatiquement l'article, comme avec flash ?

Amicalement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
3 sept. 2009 à 08:42
Pas en PHP mais c'est faisable avec du Javascript (la technologie AJAX).
Je vais te coder ça.
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
3 sept. 2009 à 09:56
Voilà le pack.
Pour l'installer, il suffit de décompresser l'archive dans le même répertoire que ta page, d'insérer le script JS et d'avoir un div avec comme id "article" (regarde sur la page d'exemple page.html).
0
milouinbobo Messages postés 20 Date d'inscription mercredi 2 septembre 2009 Statut Membre Dernière intervention 7 mars 2010
3 sept. 2009 à 11:23
Bonjour

J'ai fait suivant :
Enregistré le zip dans le dossier de ma page PHP.
J'ai décompressé les 4 documents dans le même dossier.
Avec dreamw. j'ai ouvert
1 page.html
et j'ai copié le texte : <script type="text/javascript" src="articles.js"></script> dans le head de ma page PHP.
<div id="article"></div> à l'endroit ou je veux afficher mes articles dans ma page PHP.
2 articles-parser.hph
et j'ai copié le texte juste dessous le texte <div id="article"></div>
3 articles.xml
j'ai remplacé votre texte de titre et contenu par le mien.

J'ai tout sauvegardé et envoyé vos 4 documents ainsi que ma page PHP vers mon site.

Dans dreamw. il s'affiche un icone PHP mais malheureusement rien s'affiche sur le site.

Ou fais-je l'erreur ?

Amicalement
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
3 sept. 2009 à 11:48
Pour que le PHP fonctionne, tu dois mettre ton site sur ton hébergeur ou installer un environnement comme Wamp, EasyPHP, ...
Tu ne dois pas copier le contenu de articles-parser.php en dessous du div. Ce fichier est appelé par le script JS qui récupère le résultat du fichier (différent à chaque fois). Regarde sur page.html, il n'y a pas de php ...
0
milouinbobo Messages postés 20 Date d'inscription mercredi 2 septembre 2009 Statut Membre Dernière intervention 7 mars 2010
3 sept. 2009 à 14:19
Bonjour

J'avais transferé les documents sur mon site de mon hébergeur mais ca ne fonctionne toujours pas.
Peut-il que le serveur de mon heberger n'accept pas ce type de language ?

Amicalement
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
3 sept. 2009 à 14:32
Il y a une erreur ?
Quel est ton hébergeur ?
0
milouinbobo Messages postés 20 Date d'inscription mercredi 2 septembre 2009 Statut Membre Dernière intervention 7 mars 2010
3 sept. 2009 à 14:36
Autre petite question

Je sais j'abuse de votre gentilesse.

Comment dire en php : je voudrais faire défiler les articles impérativement dans un certain ordre ?
Par exemple
toujours commencer par l'article 1
Après l'article 2 etc.
Sans avoir des articles prises par hasard

Amicalement
0
Bonjour

Mon hébergeur est AMT Data (https://www.amtdata.com/ un petit entreprise.
Avant notre site était fait sous SPIP, nous l'avons refait nous même en PHP.

Nous avons prévu l'année prochaine de changer de hébergeur.

Amicalement
0
Archeus01 Messages postés 1567 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 9 juin 2022 447
3 sept. 2009 à 15:23
Mettre du ajax pour recharger un élément tous les x secondes = Faire monter la charge du serveur pour rien.
On reste en pur java script!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

</head>
<body onload="nouvelleImage();">

<div id="espace_texte"> tada tada<br/> tada tada</div>
<SCRIPT type="text/javascript">

var tabb=new Array( "texte1", "texte2", "texte3" );
var indiceb=0;

setInterval("nouvelleImage();", 2000);
function nouvelleImage() {
++indiceb;
if (indiceb == tabb.length)
indiceb=0;
document.getElementById('espace_texte').innerHTML =tabb[indiceb];
}
</SCRIPT>
</body>
</html>
0
Bonjour

Malheureusement je ne comprends pas votre texte.

J'ai mis le texte suivant dans ma page PHP, mais mais photos se n'affichent pas
Seulement les mots tara tara sont visibles.

<body onload="nouvelleImage();">

<div id="espace_texte"> tada tada<br/> tada tada</div>
<SCRIPT type="text/javascript">

var tabb=new Array(
"<img src="images/poulet.jpg" alt="poulet" width="200" height="150">",
"<img src="images/P1010148A.jpg" alt="pieces" width="200" height="150">",
"<img src="images/chaine1_petit.JPG" alt="chaine" width="200" height="150">",
"<img src="images/chaine_petit.JPG" alt="chaine" width="200" height="150">" );
var indiceb=0;

setInterval("nouvelleImage();", 2000);
function nouvelleImage() {
++indiceb;
if (indiceb == tabb.length)
indiceb=0;
document.getElementById('espace_texte').innerHTML =tabb[indiceb];
}
</SCRIPT>
0
milouinbobo Messages postés 20 Date d'inscription mercredi 2 septembre 2009 Statut Membre Dernière intervention 7 mars 2010
4 sept. 2009 à 11:25
Merci beaucoup

J'ai réussi à le faire fonctionner.

Par contre je peux utiliser que 1 seul fois cette formule dans mon document ?

Amicalement
0
Archeus01 Messages postés 1567 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 9 juin 2022 447
4 sept. 2009 à 15:56
Bonjour,
1) La fonction s'appelle nouvelleImage mais on peut l'appeler nouveau texte, ça marche ^^.(j'ai vu que t'as collé des images mais moi j'ai juste mis du texte)
2)
Non on peut l'utiliser pour plusieurs trucs.
Le code ci dessous est testé, vous pouvez le copier dans un fichier test.htm pour le tester directement et voir qu'il marche.
[code]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

</head>

<body onload="nouvelleImage();">
<div id="espace_article_un"> texte Du Premier Cadre 1</div>
<div id="espace_article_Deux">Le texte qui va s'afficher dans le second cadre</div>

<SCRIPT type="text/javascript">
var tabUn=new Array( "texte Du Premier Cadre 1", "texte Du Premier Cadre 2", "texte Du Premier Cadre 3" );//Si on en veut plus, on rajoute un Tab 3,
var tabDeux=new Array( "Le texte qui va s'afficher dans le second cadre", "s'affichera ici", "et changera toutes les x secondes" );
var indice=0;

setInterval("ChangerTexte();", 2000);//On change le 2000 par plus pour que le texte change moins souvent et inversement
function ChangerTexte() {
++indice;//On augmente l'indice
if (indice == tabUn.length)// Si on est arrivé à la dernière case du tableau alors on repasse à la première
indice=0;//On réinitialise
document.getElementById('espace_article_un').innerHTML =tabUn[indice];//On remplace le div possédant l'id espace_article_un par le contenu de tabUN
document.getElementById('espace_article_Deux').innerHTML =tabDeux[indice]; //On remplace le div possédant l'id espace_article_Deux par le contenu de tabDeux
//Penser à rajouter ici un tab 3 si besoin
}
</SCRIPT>
</body>
</html>
/code
0
milouinbobo Messages postés 20 Date d'inscription mercredi 2 septembre 2009 Statut Membre Dernière intervention 7 mars 2010
7 sept. 2009 à 11:40
Je vous remercie beaucoup pour tout votre aide.

Amicalement
0