Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/04/2013, 21:40
alexperaza
 
Fecha de Ingreso: diciembre-2012
Mensajes: 178
Antigüedad: 12 años
Puntos: 2
Pregunta Listas dependientes me almacenan datos al contrario

Hola de nuevo con mis novatadas pero lo encuentro tan complicado que tengo que recurrir al foro muchas gracias por su ayuda de antemano..

Mi problema es que estoy creando 2 combo dependientes pero a la hora de almacenar los datos en mi BD lo almacenan al contrario es decir lo que almacena el 1 lo almacena el 2 y viceversa
por ejemplo

introduzco categoria zapatos con id 78 se almacena en idpadre
y si introduzco subcategoria zapatos_formales con id 78 se almacena en id_categoria y en mi caso es lo contrario si me ayudan por favor aqui esta el codigo

Código Javascript:
Ver original
  1. <script>
  2. //hacer que funcione con diferentes navegadores
  3. function requerir(){
  4.     try{
  5.     req=new XMLHttpRequest();
  6.     }catch(err1){
  7.         try{
  8.         req=new ActiveXObject("Microsoft.XMLHTTP");
  9.         }catch(err2){
  10.             try{
  11.             req=new ActiveXObject("Msxml2.XMLHTTP");
  12.             }catch(err3){
  13.             req= false;
  14.             }
  15.         }
  16.     }
  17. return req;
  18. }
  19.  
  20.  
  21. var peticion=requerir();
  22.  
  23. function llamarAjaxGETpro(){
  24. var aleatorio=parseInt(Math.random()*999999999);
  25. valor=document.getElementById("id_categoria").value;
  26. var url="provincia.php?valor="+valor+"&r="+aleatorio;
  27. peticion.open("GET",url,true);
  28. peticion.onreadystatechange =respuestaAjaxpro;
  29. peticion.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  30. peticion.send(null);
  31. }
  32.  
  33.  
  34.  
  35. function respuestaAjaxpro(){
  36.  
  37.     if(peticion.readyState==4){
  38.         if(peticion.status==200){
  39.         //alert(peticion.responseText);
  40.         document.getElementById("pro").innerHTML=peticion.responseText;
  41.         }else{
  42.         alert("ha ocurrido un error"+peticion.statusText);
  43.         }
  44.     }
  45. }
  46.  
  47.  
  48. </script>

Este es el que sirve para el primer combo

Código PHP:
Ver original
  1. mysql_select_db($database_clasi, $clasi);
  2. $query_ConsulCat = "SELECT * FROM categorias WHERE categorias.IdPadre=0 ORDER BY categorias.nombre_categoria";
  3. $ConsulCat = mysql_query($query_ConsulCat, $clasi) or die(mysql_error());
  4. $row_ConsulCat = mysql_fetch_assoc($ConsulCat);
  5. $totalRows_ConsulCat = mysql_num_rows($ConsulCat);
  6.  
  7.  
  8. <select name="id_categoria" id="id_categoria" onchange="llamarAjaxGETpro()"><option value="">Seleccione Categoria.</option>
  9.             <?php
  10. do {  
  11. ?>
  12.             <option value="<?php echo $row_ConsulCat['id_categoria']?>"><?php echo $row_ConsulCat['nombre_categoria']?></option>
  13.             <?php
  14. } while ($row_ConsulCat = mysql_fetch_assoc($ConsulCat));
  15.   $rows = mysql_num_rows($ConsulCat);
  16.   if($rows > 0) {
  17.       mysql_data_seek($ConsulCat, 0);
  18.       $row_ConsulCat = mysql_fetch_assoc($ConsulCat);
  19.   }
  20. ?>
  21.           </select>
  22.           </div>

y este para el segundo

Código PHP:
Ver original
  1. <?php
  2.  require_once('Connections/clasi.php');
  3. $valor=$_GET['valor'];
  4. mysql_select_db($database_clasi, $clasi);
  5. $query_ConsulCat = "SELECT * FROM categorias WHERE categorias.IdPadre='$valor' ORDER BY categorias.nombre_categoria";
  6. $ConsulCat = mysql_query($query_ConsulCat, $clasi) or die(mysql_error());
  7. $row_ConsulCat = mysql_fetch_assoc($ConsulCat);
  8. $totalRows_ConsulCat = mysql_num_rows($ConsulCat);
  9. echo"<select name='IdPadre' id='IdPadre' >";
  10. echo"<option >Subcategoria</option>";
  11.  
  12. do {  
  13. ?>
  14.             <option value="<?php echo $row_ConsulCat['id_categoria']?>"><?php echo $row_ConsulCat['nombre_categoria']?></option>
  15.             <?php
  16. } while ($row_ConsulCat = mysql_fetch_assoc($ConsulCat));
  17.   $rows = mysql_num_rows($ConsulCat);
  18.   if($rows > 0) {
  19.       mysql_data_seek($ConsulCat, 0);
  20.       $row_ConsulCat = mysql_fetch_assoc($ConsulCat);
  21.   }
  22.  
  23. echo"</select>";
  24. ?>
Este ultimo esta en un archivo llamado provincia.php


de antemano muchas Gracias espero un poquito de ayuda

saludos