begin process at 2012 05 29 01:27:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Double Combo + ODBC


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Double Combo + ODBC

jeudi 9 mars 2006 à 14:22:56 | Double Combo + ODBC

kuniva

Bonjour à tous,
Voila sur le principe d'un script permettant d'afficher une liste déroulante en fonction d'une autre liste sans recharger la page( [ Lien ]), j'ai tenté de l'adapté en utilisant des requetes ODBC :

mon index.php :

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script type="text/javascript">
 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>

<?php
   // Paramètres de la Connexion à la base MYSQL

   $i=0; // variable de test
   $j=0; // variable pour garder la valeur du premier enregistrement catégorie pour l'affichage

   $connexionstring = odbc_connect('incident','root','emcdeux') or die ("Connexion au serveur impossible");

   // Séléction de tous les enregistrements de la table Catégorie
   $Query = "Select designation, id_cat from script_categorie order by designation;";
   //execute query
   $queryexe = odbc_do($connexionstring, $Query) or die ("Select impossible");
   echo "<form method='POST' action='valid.php'>";?>
<select  method="post" size="1" name="cat" OnChange="sendData('id='+this.value,'liresc.php')" onKeyUp="sendData('id='+this.value,'liresc.php')">
   <?php
   while ($dt = odbc_fetch_row($queryexe))
   {
     $designation = odbc_result($queryexe, 1);
     echo ("<option value=\"$designation\">$designation</option>");
     if ($i==0) { $j=$dt[0]; $i=1; } // garder la valeur du premier enregistrement
   }
   odbc_close()
   ?>
   </select>
    <? echo('id'); ?>
   <div id="contenu">
 <select size='1' name='souscat'>
 <?php
  // affichage des sous-catégorie appartenant à la première catégorie.
    $connexionstring2 = odbc_connect('incident','root','emcdeux') or die ("Connexion au serveur impossible");

    $rq="Select designation, idcat from script_sous_categorie where idcat=1;";
    $result= odbc_do($connexionstring2, $rq) or die ("Select impossible");
     // $i = initialise le variable i
    $i=0;
    while ($dt2=odbc_fetch_row($result))
    {
         $designation3 = odbc_result($result, 1);
         echo ("<option value=\"$designation\">$designation3</option>");
    }
 echo "</select>";
   ?>
   </div>
</form>
</body>
</html>

Et voici mon 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']) ){
   $connexionstring3 = odbc_connect('incident','root','emcdeux') or die ("Connexion au serveur impossible");

    $Query2 ="Select designation, idcat from script_sous_categorie where idcat=".$_POST['id']." ;";
    $queryexe2 = odbc_do($connexionstring3, $Query2) or die ("Select impossible");
     // $i = initialise le variable i
    $i=0;
 if (odbc_num_rows($queryexe2)>0)
 {
   echo "<select size='1' name='souscat'>";
 }
 else
 {
   echo utf8_encode("Pas de sous catégories disponible");
 }
    while ($dt3=odbc_fetch_row($queryexe2))
    {
         $designation2 = odbc_result($queryexe2, 1);
         echo ("<option value=\"$designation2\">$designation2</option>");
    }
 echo "</select>";
}
?>

Le problème se situe au niveau de la variable 'id' qui ne transmet aucune valeur pour la page liresc.php.

vendredi 10 mars 2006 à 12:45:54 | Re : Double Combo + ODBC

frop01

Membre Club
Salut,

Verifies tout d'abord  tes deux tables (où est la lisaison des deux tables ?) :

table 1 :$Query = "Select designation, id_cat from script_categorie order by designation;";
table2  :$rq="Select designation, idcat from script_sous_categorie where idcat=1;";

ensuite la valeur de la liste doit correspondre à une valeur et non pas la désignation :

$designation = odbc_result($queryexe, 1);
echo ("<option value=\"$designation\">$designation</option>");

@+
http://perso.wareteam.com
http://freelance.wareteam.com
vendredi 10 mars 2006 à 14:59:25 | Re : Double Combo + ODBC

kuniva

Salut,
j'ai trouvé mes erreurs et ça marche nikel :)
Je laisse mon code pour que d'autres personne puissent l'utiliser ;)

mon index.php :
<html>
<head>
 <script type="text/javascript">
 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>

<?php
   // Paramètres de la Connexion à la base ODBC
  $connexionstring = odbc_connect('incident','root','emcdeux') or die ("Connexion au serveur impossible");

   // Séléction de tous les enregistrements de la table Catégorie
   $Query = "Select designation, id_cat from script_categorie;";
   //execute query
   $queryexe = odbc_do($connexionstring, $Query) 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 = odbc_fetch_row($queryexe))
   {
     $desi = odbc_result($queryexe, 1);
     echo ("<option value=\"$desi\">$desi</option>");
   }
   odbc_close()
   ?>
   </select> <br />
    <br />
   <div id="contenu">
 <select size='1' name='souscat'>
 <?php
  // affichage des sous-catégorie appartenant à la première catégorie.
    $connexionstring2 = odbc_connect('incident','root','emcdeux') or die ("Connexion au serveur impossible");

    $rq="Select designation, idcat from script_sous_categorie where idcat=1;";
    $result= odbc_do($connexionstring2, $rq) or die ("Select impossible");
     while ($dt2=odbc_fetch_row($result))
    {
         $desi2 = odbc_result($result, 1);
         echo ("<option value=\"$desi2\">$desi2</option>");
    }
 echo "</select>";
   ?>
   </div>
</form>
</body>
</html>

et mon 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']) ){
   $connexionstring3 = odbc_connect('incident','root','emcdeux') or die ("Connexion au serveur impossible");
      $sql = "SELECT id_cat FROM categorie WHERE designation='".$_POST['id']."'";
      $req = odbc_do($connexionstring3, $sql) or die('Erreur SQL !<br>'.$sql.'<br>'.odbc_error());
      $id_cat = odbc_result($req, 1);

    $Query2 ="SELECT designation, idcat FROM type WHERE idcat=".$id_cat.";";

    $queryexe2 = odbc_do($connexionstring3, $Query2) or die ("Select impossible");
     // $i = initialise le variable i
    $i=0;
 if (odbc_num_rows($queryexe2)>0)
 {
   echo "<select name='ch_type'>";
 }
 else
 {
   echo ("<input type=\"texte\" name=\"autre\" />");
 }
    while ($dt3=odbc_fetch_row($queryexe2))
    {
         $desi3 = odbc_result($queryexe2, 1);
         echo ("<option value=\"$desi3\">$desi3</option>");
    }
  echo "</select>";
}
?>



Cette discussion est classée dans : page, odbc, echo, xhrobj, die


Répondre à ce message

Sujets en rapport avec ce message

comment faire un lien en php ? [ par coolboy78 ] Bonjour voila je débute en php, et donc jaimerai renvoyé les utilisateur dans différente page selon leur identification.voici la parti ou il ya un pb MySql deplacements dans les enreg [ par FEEDL ] FeedlMerci pour tout ces scriptsJe recherhce une aide afin de transformer mon code PHP/ODBC (access) en version PHP/MYSQL car après moulte MySql deplacements dans les enreg [ par FEEDL ] FeedlMerci pour tout ces scriptsJe recherhce une aide afin de transformer mon code PHP/ODBC (access) en version PHP/MYSQL car après moulte pb gestion des erreures [ par tich69 ] salut j'ai un pb !!! lol c pour ca que je suis ici !dans ma page php g mis ------------ or die("") pour eviter les erreurs mais ceci arrete totalemen Pb session ! [ par coolboy78 ] Bonjour les amis,J'ai un petit pb, g une page d'accueil avec 2 champs : Compte et mot de passe. Ken le client se logue, j'ouvre une session, mais le p ## variable et formulaire [ par kodiask ] voila j'explik le pb alor je veu fair eun sondage pour mon site avec une parti admin pour celui-ci alor g fai un page ou l'on choisi ses option (nom tjs mon probleme d'affichage page par par page!!!! [ par piervs ] Salut,Je vous avez deja poster ce message mais n'ayant tjs pas eu de solution fonctionnant je retente ma chance!!!J'ai un petit (en fait plutot gros) session ne fonctionne pas....!!! [ par michong ] salut a tousalors voilajai désespérément essayé de faire fonctionner ces variables de sessions mais sans succéesje me suis dit que ssa doit etre mon c afficher une page donnée [ par metis15 ] Bonjour,Un script se termine comme ça, pour afficher une page de remerciements.Je souhaite que ça envoie une page de remrciement toute faite par aille page par page [ par kennnnnny ] Je voudrais affiché des produits page par page, mais l'inconvénient c'est que g un menu principal qui affiche un second menu dans la même page. Et lor


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,092 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales