Signaler

Utiliser une base de donnée, évité d'avoir plein de page .php [Résolu]

Posez votre question CorentinRoche 147Messages postés mercredi 1 juin 2016Date d'inscription 9 septembre 2017 Dernière intervention - Dernière réponse le 8 sept. 2017 à 23:32 par CorentinRoche
Bonjour,

Je suis entrain depuis 2-3 mois de mètre en place un site, pour apprendre l'informatique de base jusqu'à des chose avancé, tout ca sur forme de cours,

Chaque cours a est sur une seule page .php, le problème que je rencontre est que cela commence a faire beaucoup trop de fichier .php sur le serveur et en générale.

J'aimerais donc une base de donnée, qui suis :

id ; titre ; sous titre ; explication ; sous titre1 ; explication1 ; images ; etc...

Quant une personne clique sur le cours "DNS" par exemple, ca viens récupérer les information donc titre .... dans la base de donnée. Cela viens génère une page WEB avec les information récupéré. Car pour le moment pour chaque cours j'ai un fichier .php

Je pense que cela est possible, car pour la liste des cours, je fait un while qui récupère les cours dispo dans une base de donnée et renvoie le cours choisie sur le fichier .php

Si vous avez des idées merci bien ! :D

Cordialement,

Roche Corentin
Utile
+0
plus moins
salut

tu peux utiliser une seule page :

Voici un exemple basique de script à adapter avec un menu déroulant de tes cours c'est juste pour montrer le principe:

<?php
mysql_connect('server', 'user', 'pass'); 
mysql_select_db('base');

echo'
<form method="post" action="">
	<select name="cours" width="166px">
			<option value="cours1">cours1</option>
			<option value="cours2">cours2</option>
			<option value="cours3">cours3</option>
	</select>
	<input type="submit" value="OK">
</form>';

	if (isset($_POST['cours']))
	{
		
		$sql = 'SELECT `id`,`titre`,`soustitre`,`explication`,`soustitre1`,`explication1`,`images` FROM `cours`  where titre = "'.$_POST['cours'].'"';
		$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
		

		while ($cours = mysql_fetch_array($req)) 
		{ 
			echo 'titre :'.$cours['titre'].'<br />';
			echo 'soustitre :'.$cours['soustitre'].'<br />';
			echo 'explication :'.$cours['explication'].'<br />';
			echo 'soustitre1 :'.$cours['soustitre1'].'<br />';
			echo 'explication1 :'.$cours['explication1'].'<br />';
			echo 'images :'.$cours['images'].'<br />';
		}
	}
?>
NHenry 13903Messages postés vendredi 14 mars 2003Date d'inscription ModérateurStatut 22 septembre 2017 Dernière intervention - 8 sept. 2017 à 22:45
Petit rappel, l'extension mysql est obsolète
Répondre
kezaco- 8 sept. 2017 à 22:50
tout à fait, je suis encore sur php 5.3.8
Répondre
CorentinRoche 147Messages postés mercredi 1 juin 2016Date d'inscription 9 septembre 2017 Dernière intervention - 8 sept. 2017 à 23:21
Bonjour,

Merci de la réponse, c'est se que je cherche a faire effectivement, Mais affiché tout les résultat sur une autres pages,

Du genre : si un client regarde le cours DNS, le lien est www.blabla.com/DNS
Car la liste des menu est déjà faite :p
voici : http://hpics.li/912b1fb
et quand un client clique sur suivre ce cours, il est renvoyer sur une page avec les info relative au cours

cdl
Répondre
CorentinRoche 147Messages postés mercredi 1 juin 2016Date d'inscription 9 septembre 2017 Dernière intervention - 8 sept. 2017 à 23:32
Je viens d'avoir une idée je me souviens qu'on peut utilise les cible j'utilise les <option> que tu ma conseillé, puis je les analyse dans un fichier pour récupérer les donnée est les affichée.

cela ma éclairer et donnée une solution merci :p
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !