Php merci pour votre aide

Résolu/Fermé
Pascal - 27 févr. 2007 à 23:15
bbar Messages postés 436 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 31 octobre 2008 - 2 mars 2007 à 11:05
Bonjour à tous,

J’aurais besoin d’aide pour la construction d’une page de mon site. Je vais essayer d’expliquer au mieux ce que je veux.
Dans une table (pour la mise en forme) j’ai une liste déroulante contenant plusieurs titres d’articles de journaux, ceci est généré grâce à une base MySQL (qui contient aussi le nom de fichier HTML pour chaque article).
Je voudrais que l’article choisi par l’utilisateur (après validation à l’aide d’un bouton) s’affiche dans une deuxième table juste en dessous de la première. Et après il lui est possible de choisir un autre article afin que celui-ci s’affiche en remplacement du précédent.
J’ai fait plusieurs essais mais rien ne fonctionne, j’ai juste la liste des articles. J’ai essayé de faire cela avec un include pour afficher les articles. Etant débutant, j’aimerais avoir la méthode à suivre pour réaliser ce projet. Est il possible de faire çà avec un include ? Comment récupérer le nom du fichier de l’article sélectionné ?
Merci de vos conseils et de votre aide.
Pascal
A voir également:

1 réponse

bbar Messages postés 436 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 31 octobre 2008 140
28 févr. 2007 à 12:31
hello,
souhaites-tu recharger ta page après sélection de l'article ou non ?
premier cas, tu envoi en paramètre l'indiquatif de l'article
deuxième cas : il faut que tu utilises du javascript et que tu ai déjà extrait tout les articles de ta base
0
Si je prends la première réponse, cela recharge la page, c'est bien cela? Je crois que je vais prendre cette solution qui pourrait être plus simple. Mais comment faire çà? Avec un include et des variables récupérées du style : include($_GET['page'].'.php'); ?
Merci
Pascal
0
bbar Messages postés 436 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 31 octobre 2008 140
28 févr. 2007 à 13:06
je ne sais pas s'il y a autre chose sur ta page mais je partir du principe que non.
Le plus simple est de créer un formulaire comprenant ta liste déroulante et ton bouton de validation.
pour la liste déroulante, pour identifier tes articles :
<select name="article">
    <option value="identifiant article">nom article</option>
    ....
</select>

pour les lignes option, génère les par une boucle for

il est préférable d'utiliser la méthode POST pour ton formulaire.
Du coup, sur la page, une fois rechargé, commencer par tester si on a demandé l'ouverture d'un article ou non :
if (isset($_POST['article']))

si tu ne fais pas ça, l'étape suivante va te renvoyer des erreurs la première fois que tu arrives sur la page :
tu vas fouiller dans ta base SQL pour rechercher l'article :
$identifiant=$_POST['article'];
select * from 'table articles' where cle='identifiant'

ensuite, une fois que tu as récupérer le nom de ton fichier :
include 'nom du fichier';


Attention, il est souhaitable que les fichiers ne contiennent pas de balises du type html, head, ...
N'hésites pas à redemander, éventuellement, envoies moi ton fichier que j'y jette un oeil
0
pascal > bbar Messages postés 436 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 31 octobre 2008
28 févr. 2007 à 23:13
Merci pour ton aide précieuse bbar. Je vais tenir compte de cela et essayer de voir çà demain. Si je n'arrive pas ou si il y a des erreurs je posterai le code sur le forum.
Merci
A+
Pascal
0
pascal > bbar Messages postés 436 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 31 octobre 2008
1 mars 2007 à 19:48
<table width=100%  border=1 cellpadding=0 cellspacing=0>
<tr>
	<td valign=top>
	<br>
	<img src="./img/puceb.gif" align=center>&nbsp;<font size=5 color=orange><u>Les articles de presse</u></font>
	<br><br><br>
		<form name="form" method="post" action="">       
		<select name="article">
		<?php
		$hote='xxx';
		$login='xxx';
		$pwd='xxx';
		$nomBD='xxx';

		mysql_connect($hote, $login, $pwd) or die ('ERREUR '.mysql_error());

		mysql_select_db($nomBD) or die ('ERREUR '.mysql_error()); 

		$query="select * from articles order by date DESC;";
		$result= mysql_query ($query) or die ('ERREUR'.mysql_error());

		while ( $data = mysql_fetch_assoc( $result ) ) 
			{  
			echo '<option name="prop">'.$data['titre'].'</option>';
			}  
									
		echo '</select> <input type="Submit" value="Voir l\'article" name="bouton">';
		echo '</form>';
		echo $resultat;
		echo '</td></tr><tr><td>';
									
								
		if (isset($_POST['article']))

									
														mysql_close();
?>			
	</td>
</tr>
</table>


Voilà le bout de code qui me pause problème, j'ai même pas fini de programmer car là c'est trop compliqué par rapport à mes petites compétences. Ma base de données contient le nom du fichier (nom), un titre (titre) et la date de parution (date).

Si tu pouvais regarder bbar, cela m'arrangerait fortement ! ;-)
Merci
0
bbar Messages postés 436 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 31 octobre 2008 140 > bbar Messages postés 436 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 31 octobre 2008
2 mars 2007 à 07:06
<table width=100%  border=1 cellpadding=0 cellspacing=0>
<tr>
	<td valign=top>
	<br>
	<img src="./img/puceb.gif" align=center>&nbsp;<font size=5 color=orange><u>Les articles de presse</u></font>
	<br><br><br>
		<form name="form" method="post" action="article.php">       
		<select name="article">
		<?php
		$hote='xxx';
		$login='xxx';
		$pwd='xxx';
		$nomBD='xxx';

		mysql_connect($hote, $login, $pwd) or die ('ERREUR '.mysql_error());

		mysql_select_db($nomBD) or die ('ERREUR '.mysql_error()); 

		$query="select * from articles order by date DESC;";
		$result= mysql_query ($query) or die ('ERREUR'.mysql_error());

		while ( $data = mysql_fetch_assoc( $result ) ) 
			{  
			/* pour value, il faut indiquer la valeur à renvoyer lors de l'appui sur le bouton d'envoi pour 
alimenter la variable $_POST['article'] lors du rechargement de la page*/
			echo '<option name="'.$data['nom'].'" value="'.$data['nom'].'">'.$data['titre'].'</option>';
			}  
		mysql_close();
		
		echo '</select> <input type="Submit" value="Voir l\'article" name="bouton">';
		echo '</form>';
		
		echo '</td></tr><tr><td>';
									
		/* comme on recharge la page avec le nom du fichier, à ce stade, pas besoin de requête sql, 
on l'affiche directement*/
		if (isset($_POST['article']))
			include $_POST['article'];						

?>			
	</td>
</tr>
</table>


et voilà.
0