Petit script

Fermé
newbi1 Messages postés 4 Date d'inscription dimanche 21 octobre 2012 Statut Membre Dernière intervention 21 octobre 2012 - 21 oct. 2012 à 13:17
newbi1 Messages postés 4 Date d'inscription dimanche 21 octobre 2012 Statut Membre Dernière intervention 21 octobre 2012 - 21 oct. 2012 à 23:33
Bonjour,

Je suis débutant, je cherche à créé un petit script tout simple

Ca se présente comme un arbre

Je vais poser une question et proposer plusieurs réponses.
En fonction de la réponse une deuxième question personnalisée s'affiche.

une sorte d'outil de diagnostique, ou bien je ne sais pas si vous connaissez "le livre dont vous êtes le héro"

vous pouvez choisir et en fonction de votre choix l'histoire change...

Merci pour votre aide je ne sais pas comment mettre ca en place


3 réponses

arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
21 oct. 2012 à 16:57
Ça me semble pas compliqué.

Tu fais deux tables:
- texte
- choix

Dans la première (texte), tu enregistres le début de l'histoire ou la première question.
Dans la deuxième, tu enregistres l'id de la page de destination (correspondant à la table texte).
Pour faire simple, sur ta page, tu identifie le texte à afficher par une variable contenu dans l'url.
En dessous, tu listes les choix à partir de cette même variable. Et tu créé des liens vers les pages de destinations.

Voici un début de pistes à suivre.
0
newbi1 Messages postés 4 Date d'inscription dimanche 21 octobre 2012 Statut Membre Dernière intervention 21 octobre 2012
21 oct. 2012 à 21:41
a part la balise <?php > je ne connais pas grand chose, il n'y aurais pas un script quelque part qui s'approcherait de ce que je veux faire?
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
21 oct. 2012 à 23:18
Le plus simple, au delà de faire précisement ce que tu souhaites faire, là, ponctuellement, c'est savoir faire ce script toi même.

Je t'invite donc à regarder le chapitre du site du zéro dédié au PHP.
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql
0
newbi1 Messages postés 4 Date d'inscription dimanche 21 octobre 2012 Statut Membre Dernière intervention 21 octobre 2012
21 oct. 2012 à 23:33
En fait j'ai trouvé un script préfabriqué
le seul problème c'éest qu'il a deux niveau et j'aimerais un peu d'aide pour faire le troisième niveau

voici le fichier index.php
<html>
<head> 
<title>AFFICHER UNE LISTE DÉROULANTE EN FONCTION D'UNE AUTRE LISTE SANS RECHARGER LA PAGE OU PASSER L'INFORMATION PAR L'URL EN UTILISANT LA TECHNOLOGIE AJAX</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script type="text/javascript">
	/**
	 * Permet d'envoyer des données en GET ou POST en utilisant les XmlHttpRequest
	 */
	function sendData(param, page)
	{
		if(document.all)
		{
			//Internet Explorer
			var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
		}//fin if
		else
		{
		    //Mozilla
			var XhrObj = new XMLHttpRequest();
		}//fin else

		//définition de l'endroit d'affichage:
		var content = document.getElementById("contenu");
		
		XhrObj.open("POST", page);

		//Ok pour la page cible
		XhrObj.onreadystatechange = function()
		{
			if (XhrObj.readyState == 4 && XhrObj.status == 200)
				content.innerHTML = XhrObj.responseText ;
		}

		XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		XhrObj.send(param);
	}//fin fonction SendData

    </script>
</head>
<body>
<b>
Créer par Hanini Yassine, Le 29/09/2005<br />
<br />
Cette page à pour but d'afficher une liste déroulante en foncion d'une autre liste sans recharger la page ou passer l'information par l'url en utilisant la technologie AJAX<br />
<br />
<a href="http://perso.wareteam.com/comment_demander_des_informations_au_serveur_sans_recharger_la_page-.php">http://perso.wareteam.com/comment_demander_des_informations_au_serveur_sans_recharger_la_page-.php</a><br />
<br />
</b>
<?php
   // Paramètres de la Connexion à la base MYSQL
   $user="root";
   $host="localhost";
   $password="";
   $database="base";
   $i=0; // variable de test
   $j=0; // variable pour garder la valeur du premier enregistrement catégorie pour l'affichage
       
   $connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible");
    
   mysql_select_db($database,$connexion);
    
   // Séléction de tous les enregistrements de la table Catégorie
   $rq="Select * from script_categorie order by designation;";
   $result= mysql_query ($rq) or die ("Select impossible");
   echo "<form method='POST' action='valid.php'>";?>   <select size="1" name="cat" OnChange="sendData('id='+this.value,'liresc.php')" onKeyUp="sendData('id='+this.value,'liresc.php')">

<?php     
   while ($dt=mysql_fetch_row($result))
   {
    // Remplir la liste déroulante des catégorie	
	echo "<option value=".($dt[0]).">".($dt[1])."</option>";
    if ($i==0) { $j=$dt[0]; $i=1; } // garder la valeur du premier enregistrement
   }
    
   ?>    
   </select><br><br>
   


   <div id="contenu">
 <?php  
  // affichage des sous-catégorie appartenant à la première catégorie.
   echo "<select size='1' name='souscat'>";   
    $rq="Select * from script_sous_categorie where idcat=".$j." order by designation;";
    $result= mysql_query ($rq) or die ("Select impossible");
     // $i = initialise le variable i
    $i=0;
    while ($dt=mysql_fetch_row($result))
    { 
	 echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[2])."</option><br>";
    }    
	echo "</select>";
   ?>   
   </div>
</form>
</body>
</html>
    




et le liresc.php

<?php
header('Content-type: text') ; // on déclare ce qui va être afficher
 
// test des POST emis
if(isset($_POST['id']) && !empty($_POST['id']) ){
   $user="root";
   $host="localhost";
   $password="";
   $database="base";
   $connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible");   
   mysql_select_db($database,$connexion);
    $rq="Select * from script_sous_categorie where idcat=".$_POST['id']." order by designation;";
    $result= mysql_query ($rq) or die ("Select impossible");
     // $i = initialise le variable i
    $i=0;
	if (mysql_num_rows($result)>0)
	{
	  echo "<select size='1' name='souscat'>";
	}
	else
	{
	  echo utf8_encode("Pas de sous catégories disponible");	
	}
    while ($dt=mysql_fetch_row($result))
    { 	
	 echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[2])."</option><br>";
    }    
	echo "</select>";
}

?>
0