Probleme d'affichage aprés une balise div

Probleme d'affichage aprés une balise div - HTML/CSS - Programmation

Marsh Posté le 08-08-2006 à 09:55:32    

Bonjour,
 
Pour effectuer une liste déroulante j'ai pris sur le net un exemple que j'ai remanier a ma facon.
Voici le code :
 
<body>
 
<?php
favoris();
?>
 
<form name="form4">
  <p>Nouveau Destinataire</p>
<form name="form2" method="post" action="">
     
<?php
   // Paramètres de la Connexion à la base MYSQL
   $user="root";
   $host="localhost";
   $password="";
   $database="client";
   $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 departement from info_maison_retraite;";
   $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    
 echo "<option selected>Departement</option>";  
   while ($dt=mysql_fetch_row($result))
   {
    // Remplir la liste déroulante des catégorie  
 echo "<option value=".($dt[0]).">".($dt[0])."</option>";
    if ($i==0) { $j=$dt[0]; $i=1; } // garder la valeur du premier enregistrement
   }
     
?>    
   </select>
   
<div id="contenu">
<?php  
  // affichage des sous-catégorie appartenant à la première catégorie.
   echo "<select size='1' name='souscat'>";  
   echo "<option>Maisons De Retraites</option><br>";  
    $rq="Select nom from script_sous_categorie where depart=".$j.";";
    $result= mysql_query ($rq) or die ("Select impossible" );
     // $i = initialise le variable i
    $i=0;
 
    while ($dt=mysql_fetch_row($result))
    {  
  echo "<option>".utf8_encode($dt[0])."</option><br>";
    }    
 echo "</select>";
?>  
</div>
 
Mon probleme c'est que des que je veux rajouter qqch a cette page c'est à dire un bouton ou quoi que ce soit en dessous de la balise div, rien n'apparait!
 
Pourriez vous m'aidez a contournez ce probleme car j'aimerais rajoutez des champs en dessous!
 
Merci
Johnson

Reply

Marsh Posté le 08-08-2006 à 09:55:32   

Reply

Marsh Posté le 08-08-2006 à 12:26:23    

quelques petits trucs pour commencer
si tu pouvais mettre ton code entre les balises apprpriées ca serait le top  
la c est vraiment difficile a lire
sinon trois form imbriquées je suis aps sur que ce soit vraiment utile
tu sais ce que tu fais ?
 
quand je vois des
 

Code :
  1. // $i = initialise le variable i
  2.     $i=0;


 
alors que tu te sers pas du $i je m inquiete un peu
 
et enfin si ca sert a rien de rajouter quelque chose en dessous de ton div c est parce que php plante avant
tu te prends pas un select impossible ?

Reply

Marsh Posté le 08-08-2006 à 13:03:43    

Alors tous d'abord pour le $i je l'ai supprimer sur ma version mais pas sur celle ci! ( c'est la seul difference entre ma version et celle ci dessus)
 
Ensuite mon programme fonctionne bien en fait je ne vous est pas mit tous mon code au dessus de trouve un code en ajax pour me permettre de faire liste deroulante dynamique.
 
La liste dynamique fonctionne bien, je n'ai pas de select impossible!
 
Merci de ton aide
 
 

Reply

Marsh Posté le 08-08-2006 à 14:06:08    

passe ta query avant tes echos
tu verras que t as bien un select impossible ;)

Reply

Marsh Posté le 08-08-2006 à 14:37:24    

Vous aviez raison!!!!!!!
La suite s'affiche maintenant!!!
 
Mais j'ai un autre probleme je n'arrive pas a changer dynamique la meme liste dynamique voici le code entier que j'utilise pour faire ceci :
 
dans l'entete :
 
<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>
 
Dans mon programme principale :
 
<?php
   // Paramètres de la Connexion à la base MYSQL
   $user="root";
   $host="localhost";
   $password="";
   $database="client";
   $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 departement from info_maison_retraite;";
   $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    
 echo "<option selected>Departement</option>";  
   while ($dt=mysql_fetch_row($result))
   {
    // Remplir la liste déroulante des catégorie  
 echo "<option value=".($dt[0]).">".($dt[0])."</option>";
    if ($i==0) { $j=$dt[0]; $i=1; } // garder la valeur du premier enregistrement
   }
     
?>    
 
   </select>
   <div id="contenu">
   <?php  
  // affichage des sous-catégorie appartenant à la première catégorie.
   echo "<select size='1' name='souscat'>";  
   echo "<option>Maisons De Retraites</option><br>";  
    $rq="Select nom from info_maison_retraite where departement=".$j.";";
    $result= mysql_query ($rq) or die ("Select impossible" );
     // $i = initialise le variable i
    $i=0;
 
    while ($dt=mysql_fetch_row($result))
    {  
  echo "<option>".utf8_encode($dt[0])."</option><br>";
    }    
 echo "</select>";
?>    
</div>
 
et voici mon fichier 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="client";
   $connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible" );    
   mysql_select_db($database,$connexion);
    $rq="Select nom from info_maison_retraite where departement=".$_POST['id'].";";
    $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" );  
 }
 echo "<option selected>Maisons De Retraites</option><br>";
    while ($dt=mysql_fetch_row($result))
    {  
  echo "<option>".utf8_encode($dt[0])."</option><br>";
    }    
 echo "</select>";
}
?>
 
Alors voici ma question ds mon prog principale j'essaye de modifier la palce de la 2e liste pr l'inseré a coté de la premiere ceci fonctionne mais quand je regarde ce que ca donne lorsque je change la premiere au lieu de modifier celle qui se trouve a sa droite elle en fait apparaitre une autre en dessous...
 
Savez vous d'ou provient ce probleme ?
Je pense que c'est du a la balise <div id=contenu> nan ?
car quand je modifie la place de ma liste dynamique cette balise se retrouve en dessous!
 
Merci de votre aide
Johnson

Reply

Marsh Posté le 08-08-2006 à 15:05:14    

il t'a dit d'utiliser les balises code, merci pour nos yeux :  
 
(sans les espaces)
[ code=php ]
ton code qui va bien
[ /code ]


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 09-08-2006 à 09:16:46    

désolé !!
 
Vous aviez raison!!!!!!!  
La suite s'affiche maintenant!!!  
 
Mais j'ai un autre probleme je n'arrive pas a changer dynamique la meme liste dynamique voici le code entier que j'utilise pour faire ceci :  
 
dans l'entete :  
 
 

Code :
  1. <script type="text/javascript">
  2. /**
  3.  * Permet d'envoyer des données en GET ou POST en utilisant les XmlHttpRequest
  4.  */
  5. function sendData(param, page)
  6. {
  7.  if(document.all)
  8.  {
  9.   //Internet Explorer
  10.   var XhrObj = new ActiveXObject("Microsoft.XMLHTTP" ) ;
  11.  }//fin if
  12.  else
  13.  {
  14.      //Mozilla
  15.   var XhrObj = new XMLHttpRequest();
  16.  }//fin else
  17.  
  18.  //définition de l'endroit d'affichage:
  19.  var content = document.getElementById("contenu" );
  20.  
  21.  XhrObj.open("POST", page);
  22.  
  23.  //Ok pour la page cible
  24.  XhrObj.onreadystatechange = function()
  25.  {
  26.   if (XhrObj.readyState == 4 && XhrObj.status == 200)
  27.    content.innerHTML = XhrObj.responseText ;
  28.  }
  29.  
  30.  XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  31.  XhrObj.send(param);
  32. }//fin fonction SendData
  33.  
  34. </script>


Dans mon programme principale :  

Code :
  1. <?php
  2.   // Paramètres de la Connexion à la base MYSQL
  3.   $user="root";
  4.   $host="localhost";
  5.   $password="";
  6.   $database="client";
  7.   $i=0; // variable de test
  8.   $j=0; // variable pour garder la valeur du premier enregistrement catégorie pour l'affichage
  9.        
  10.   $connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible" );
  11.    
  12.   mysql_select_db($database,$connexion);
  13.    
  14.   // Séléction de tous les enregistrements de la table Catégorie
  15.   $rq="Select departement from info_maison_retraite;";
  16.   $result= mysql_query ($rq) or die ("Select impossible" );
  17.   echo "<form method='POST' action='valid.php'>";
  18.   ?>    
  19.   <select size="1" name="cat" OnChange="sendData('id='+this.value,'liresc.php')" onKeyUp="sendData('id='+this.value,'liresc.php')">
  20.  
  21. <?php    
  22. echo "<option selected>Departement</option>";  
  23.   while ($dt=mysql_fetch_row($result))
  24.   {
  25.    // Remplir la liste déroulante des catégorie  
  26. echo "<option value=".($dt[0]).">".($dt[0])."</option>";
  27.    if ($i==0) { $j=$dt[0]; $i=1; } // garder la valeur du premier enregistrement
  28.   }
  29.    
  30. ?>    
  31.  
  32.   </select>
  33.   <div id="contenu">
  34.   <?php  
  35.  // affichage des sous-catégorie appartenant à la première catégorie.
  36.   echo "<select size='1' name='souscat'>";  
  37.   echo "<option>Maisons De Retraites</option><br>";  
  38.    $rq="Select nom from info_maison_retraite where departement=".$j.";";
  39.    $result= mysql_query ($rq) or die ("Select impossible" );
  40.     // $i = initialise le variable i
  41.    $i=0;
  42.  
  43.    while ($dt=mysql_fetch_row($result))
  44.    {  
  45.  echo "<option>".utf8_encode($dt[0])."</option><br>";
  46.    }    
  47. echo "</select>";
  48. ?>    
  49. </div>


 
et voici mon fichier liresc.php

Code :
  1. <?php
  2. header('Content-type: text') ; // on déclare ce qui va être afficher
  3.  
  4. // test des POST emis
  5. if(isset($_POST['id']) && !empty($_POST['id']) ){
  6.   $user="root";
  7.   $host="localhost";
  8.   $password="";
  9.   $database="client";
  10.   $connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible" );    
  11.   mysql_select_db($database,$connexion);
  12.    $rq="Select nom from info_maison_retraite where departement=".$_POST['id'].";";
  13.    $result= mysql_query ($rq) or die ("Select impossible" );
  14.     // $i = initialise le variable i
  15.    $i=0;
  16. if (mysql_num_rows($result)>0)
  17. {
  18.   echo "<select size='1' name='souscat'>";
  19. }
  20. else
  21. {
  22.   echo utf8_encode("Pas de sous catégories disponible" );  
  23. }
  24. echo "<option selected>Maisons De Retraites</option><br>";
  25.    while ($dt=mysql_fetch_row($result))
  26.    {  
  27.  echo "<option>".utf8_encode($dt[0])."</option><br>";
  28.    }    
  29. echo "</select>";
  30. }
  31. ?>


 
Alors voici ma question ds mon prog principale j'essaye de modifier la palce de la 2e liste pr l'inseré a coté de la premiere ceci fonctionne mais quand je regarde ce que ca donne lorsque je change la premiere au lieu de modifier celle qui se trouve a sa droite elle en fait apparaitre une autre en dessous...  
 
Savez vous d'ou provient ce probleme ?  
Je pense que c'est du a la balise <div id=contenu> nan ?  
car quand je modifie la place de ma liste dynamique cette balise se retrouve en dessous!  
 
Merci de votre aide  
Johnson  

Reply

Marsh Posté le 09-08-2006 à 09:56:24    

Conseil: généralement avant de se mettre à faire de l'ajax, on apprends au moins:
- l'html
- le php
- le javascript
Au vues de tes topics, je dirais que tu ne maitrises vraiment aucun des trois, donc là ça va pas être facile de t'aider!

Reply

Marsh Posté le 09-08-2006 à 10:58:02    

Sans aucun doute je ne maitrise aucun de ces langage j'apprend sur le tas et je suis obliger vu que c'est pour le boulot.... et que tout est fait dans l'urgence ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed