Foros del Web » Programando para Internet » PHP »

Seleccionar datos relacionados

Estas en el tema de Seleccionar datos relacionados en el foro de PHP en Foros del Web. Saludos... tngo un panel de control donde insertos los productos de la siguiente manera Categoria <- Combobox SubCategoria <- Combobox Linea <- Combobox Descripcion del ...
  #1 (permalink)  
Antiguo 25/03/2008, 13:05
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 7 meses
Puntos: 28
Seleccionar datos relacionados

Saludos...
tngo un panel de control donde insertos los productos de la siguiente manera

Categoria <- Combobox
SubCategoria <- Combobox
Linea <- Combobox
Descripcion del producto

Ahora bien... Por cada categoria hay una seria de subcategorias y por cada una d ellas hay lineas de productos
Como hago para q cuando yo seleccione una categoria se carguen las subcategorias correspondientes y cuando yo seleccione una sub se cargue las lineas q hay en esa subcategoria???

Alguien puede ayudarme??
Gracias!!!
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #2 (permalink)  
Antiguo 25/03/2008, 15:04
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 6 meses
Puntos: 101
Re: Seleccionar datos relacionados

Hola,
Prueba con esto:
Crea un archivo llamado catalogo y pone esto:
Código PHP:
<?
if(!empty($_GET['cl'])){
$categoria=$_GET['cl'];
if(
$categoria == 1) include('categoria1.php');
if(
$categoria == 2) include('categoria2.php');
if(
$categoria == 3) include('categoria3.php');
}
else
{
?>
<script type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>
<form name="form1">
  <select name="menu1" onChange="MM_jumpMenu('parent',this,0)">
    <option value="#">-- Selesione una categoria --</option>
    <option value="catalogo.php?ct=1">Categoria 1</option>
    <option value="catalogo.php?ct=2">Categoria 2</option>
    <option value="catalogo.php?ct=3">Categoria 3</option>
  </select>
</form>
<?
}
?>
Y despues para cada categoria crea un archivo llamado categoria 1 y pon lo de la categoria 1 y asi.
Suerte
Salu2
__________________
Half Music - www.halfmusic.com
  #3 (permalink)  
Antiguo 25/03/2008, 15:19
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 7 meses
Puntos: 28
Re: Seleccionar datos relacionados

Cita:
Iniciado por pato12 Ver Mensaje
Hola,
Prueba con esto:
Crea un archivo llamado catalogo y pone esto:
Código PHP:
<?
if(!empty($_GET['cl'])){
$categoria=$_GET['cl'];
if(
$categoria == 1) include('categoria1.php');
if(
$categoria == 2) include('categoria2.php');
if(
$categoria == 3) include('categoria3.php');
}
else
{
?>
<script type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>
<form name="form1">
  <select name="menu1" onChange="MM_jumpMenu('parent',this,0)">
    <option value="#">-- Selesione una categoria --</option>
    <option value="catalogo.php?ct=1">Categoria 1</option>
    <option value="catalogo.php?ct=2">Categoria 2</option>
    <option value="catalogo.php?ct=3">Categoria 3</option>
  </select>
</form>
<?
}
?>
Y despues para cada categoria crea un archivo llamado categoria 1 y pon lo de la categoria 1 y asi.
Suerte
Salu2
gracias man.. entonces tu dices q lograria algo como esto

www.vicson.com.ve

fijate en los checkbox q cuando seleccionas algo cambian los datos...

a diferencia lo q yo tngo es un panel de control para ingresar productos...
saludos!!!
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...

Última edición por T4ke0veR; 25/03/2008 a las 15:19 Razón: mal escrito xD
  #4 (permalink)  
Antiguo 26/03/2008, 07:11
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 7 meses
Puntos: 28
Re: Seleccionar datos relacionados

ah ya entendi... pero yo extraigo todo eso desde una base de datos... como se haria en este caso?
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #5 (permalink)  
Antiguo 26/03/2008, 07:24
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Re: Seleccionar datos relacionados

Mirate este post viene un archivo para descargar, de selects dependientes, son varios archivos y lo hace con paises y ciudades pero eso se lo cambias tu, pero viene lo de los selects dependientes bien explicado.

Un saludo
  #6 (permalink)  
Antiguo 26/03/2008, 07:32
Avatar de RollerSky  
Fecha de Ingreso: marzo-2008
Mensajes: 123
Antigüedad: 16 años
Puntos: 8
Re: Seleccionar datos relacionados

Código PHP:
<?php
require("../clases/mysql.inc.php");
require(
"../clases/cnx.serv.php");

    
$user =     $GLOBALS['var_cnx']['db']['user'];
    
$pass =     $GLOBALS['var_cnx']['db']['pass'];
    
$tabla =     $GLOBALS['var_cnx']['db']['tm'];
    
$db =     $GLOBALS['var_cnx']['db']['base'];
    
$cnx = new DB_mysql ;
    
$cnx->conectar($db"localhost"$user$pass);
                
$query $cnx->consulta("SELECT * FROM categorias");
    
?>


<script language="javascript">

function traerDatos(dato){

    window.open('eliminar_menu_completo.php?ID='+dato,'_self');
}

function traerDatos2(){

    dato = document.forms['form1']['cbxcat'].value;
    dato2 = document.forms['form1']['cbxnombre'].value;
    window.open('eliminar_menu_completo.php?ID='+dato+'&IDcat='+dato2,'_self');
}
</script>

</head><body>
<form name="form1" action="eliminar_menu_completo.php?ID=<?php echo $_GET['ID'?>&IDcat=<?php echo $_GET['IDcat']?>" method="post">
<table width="100%" cellpadding="0" cellspacing="0" bgcolor="#DDDDDD">
  <!--DWLayoutTable-->              
    <tbody><tr>
        <td height="4" colspan="2" class="line01"><img src="cPanel/line01.gif" alt="" height="4" width="1"></td>
     </tr>

    <tr>
      <td width="58" height="230" >&nbsp;</td>
      <td width="914" align="center" valign="top" bgcolor="#DDDDDD" >
            <table align="center" cellpadding="0" cellspacing="0">
              <!--DWLayoutTable-->

              <tbody><tr>
                <td width="197" height="18"></td>
                <td width="374">&nbsp;</td>
                <td colspan="2" rowspan="2" valign="top" class="text"><div align="center"><a href="logout.php" target="_self" class="Estilo6">Cerrar Sesi&oacute;n </a>| </div></td>
              <td width="55" rowspan="2" valign="middle" class="button"><div align="center"><a href="cp_menu_completo.php" target="_self">Men&uacute;</a> | </div></td>
                <td width="52" rowspan="2" valign="middle" class="Estilo7"><div align="center"><a href="Ing/cPanel/cpanel.php">English</a></div></td>
              <td width="33">&nbsp;</td>
                <td width="47" valign="middle"><span class="Estilo5"><?php echo date('d-m-y');?></span></td>
              </tr>
                <tr>
                  <td height="10"></td>
                  <td></td>
                  <td></td>
                  <td></td>
                </tr>
                
                <tr>
                  <td height="17">&nbsp;</td>
                  <td>&nbsp;</td>
                  <td width="47">&nbsp;</td>
                  <td width="52">&nbsp;</td>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                </tr>
                <tr>
                  <td height="183">&nbsp;</td>
                  <td colspan="2" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
                    <!--DWLayoutTable-->
                    <tr>
                      <td width="65" height="22">&nbsp;</td>
                      <td width="18">&nbsp;</td>
                      <td width="133">&nbsp;</td>
                      <td width="102">&nbsp;</td>
                      <td width="17">&nbsp;</td>
                      <td width="52">&nbsp;</td>
                      <td width="56">&nbsp;</td>
                    </tr>
                    <tr>
                      <td height="20">&nbsp;</td>
                      <td valign="top"><img src="cPanel/logo.gif" width="18" height="20"></td>
                      <td colspan="2" valign="middle" class="button">Secci&oacute;n: Men&uacute; </td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                    </tr>
                    <tr>
                      <td height="26">&nbsp;</td>
                      <td>&nbsp;</td>
                      <td colspan="3" valign="top" class="button"><ul>
                        <li>Men&uacute; Completo.<br>
                          <span class="Estilo8">.</span> 1. Eliminar Plato <br>
                        </li>
                      </ul></td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                    </tr>
                    <tr>
                      <td height="16"></td>
                      <td></td>
                      <td></td>
                      <td></td>
                      <td></td>
                      <td></td>
                      <td></td>
                    </tr>
                    <tr>
                      <td height="21"></td>
                      <td colspan="2" valign="top" class="button"><div align="right">Categoria: </div></td>
                      <td colspan="3" valign="top"><label>
                      <select name="cbxcat" onChange="traerDatos(document.forms['form1']['cbxcat'].value);">
                        <option>[Categoria]</option>
                        <?php 
                        
while($datos=mysql_fetch_array($query)){
                            if(
$datos[2]==$_GET['ID']){
                                echo(
'<option selected=selected value='.$datos[2].'>'.$datos[1].'</option>');
                            }else{
                                echo(
'<option  value='.$datos[2].'>'.$datos[1].'</option>');
                            }
                        }
                        
?>
                      </select>
                      </label></td>
                      <td>&nbsp;</td>
                    </tr>
                    <tr>
                      <td height="21"></td>
                      <td colspan="2" valign="middle" class="button"><div align="right">Nombre del Plato:</div></td>
                      <td colspan="3" valign="top"><select name="cbxnombre" onChange="traerDatos2(document.forms['form1']['cbxnombre'].value);">
                        <option>[Nombre]</option>
                        <?php 
                        $a 
$cnx->consulta("SELECT * FROM menu WHERE id_seccion='$_GET[ID]'");
                        while(
$datos=mysql_fetch_array($a)){
                            if(
$datos[0]==$_GET['IDcat']){
                                echo(
'<option selected=selected value='.$datos[0].'>'.$datos[2].'</option>');
                                
$des $datos[3];
                                
$precio $datos[4];
                                
$total $datos[5];
                            }else{
                                echo(
'<option value='.$datos[0].'>'.$datos[2].'</option>');
                            }
                        }
                        
?>
                      </select></td>
                      <td></td>
                    </tr>
                    <tr>
                      <td height="25"></td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                      <td></td>
                    </tr>
                    <tr>
                      <td height="41"></td>
                      <td colspan="5" valign="top"><div align="center"> <br>
                        <input type="submit" name="Submit" value="Eliminar">
                      </div></td>
                      <td></td>
                    </tr>
                    <tr>
                      <td height="19"></td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                      <td></td>
                    </tr>
                    
                    

                    
                    
                    
                  </table></td>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                </tr>
            </tbody>
            </table></td>
    </tr>
    <tr>
      <td height="17" ></td>
      <td ></td>
      </tr>
    <tr>
      <td height="6" colspan="2" valign="top" class="line02" ><img src="cPanel/line02.gif" alt="" height="6" width="2"></td>
     </tr>
    <tr>
      <td height="1" ></td>
      <td ></td>
      </tr>
</tbody></table></form>
<div style="color: rgb(255, 255, 255); font-family: Verdana,sans-serif; font-size: 10px; text-align: center;">
  <div id="bot">
</div>
© cPanel</div>
</body></html>
Hola pues mira yo lo hago así prueba con ese codigo, solo debes modificar algunas cosas, este codigo lo que hace es que elprimer combox se llena por medio de una consulta a una DB mysql, luego dependiendo del valor que selecciones, el segundo combox se llenará de datos igual extraidos de una DB, para un tercer combo es solo que sigas la logica de como hice esto, espero te pueda servir en algo...
  #7 (permalink)  
Antiguo 26/03/2008, 08:27
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 7 meses
Puntos: 28
Re: Seleccionar datos relacionados

gracias jaronu... lo estoy probando y hasta los momentos todo bien... solo tndre q hacer una reestructuracion de la base d datos!!!!
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #8 (permalink)  
Antiguo 26/03/2008, 08:29
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 7 meses
Puntos: 28
Re: Seleccionar datos relacionados

Cita:
Iniciado por RollerSky Ver Mensaje
Código PHP:
<?php
require("../clases/mysql.inc.php");
require(
"../clases/cnx.serv.php");

    
$user =     $GLOBALS['var_cnx']['db']['user'];
    
$pass =     $GLOBALS['var_cnx']['db']['pass'];
    
$tabla =     $GLOBALS['var_cnx']['db']['tm'];
    
$db =     $GLOBALS['var_cnx']['db']['base'];
    
$cnx = new DB_mysql ;
    
$cnx->conectar($db"localhost"$user$pass);
                
$query $cnx->consulta("SELECT * FROM categorias");
    
?>


<script language="javascript">

function traerDatos(dato){

    window.open('eliminar_menu_completo.php?ID='+dato,'_self');
}

function traerDatos2(){

    dato = document.forms['form1']['cbxcat'].value;
    dato2 = document.forms['form1']['cbxnombre'].value;
    window.open('eliminar_menu_completo.php?ID='+dato+'&IDcat='+dato2,'_self');
}
</script>

</head><body>
<form name="form1" action="eliminar_menu_completo.php?ID=<?php echo $_GET['ID'?>&IDcat=<?php echo $_GET['IDcat']?>" method="post">
<table width="100%" cellpadding="0" cellspacing="0" bgcolor="#DDDDDD">
  <!--DWLayoutTable-->              
    <tbody><tr>
        <td height="4" colspan="2" class="line01"><img src="cPanel/line01.gif" alt="" height="4" width="1"></td>
     </tr>

    <tr>
      <td width="58" height="230" >&nbsp;</td>
      <td width="914" align="center" valign="top" bgcolor="#DDDDDD" >
            <table align="center" cellpadding="0" cellspacing="0">
              <!--DWLayoutTable-->

              <tbody><tr>
                <td width="197" height="18"></td>
                <td width="374">&nbsp;</td>
                <td colspan="2" rowspan="2" valign="top" class="text"><div align="center"><a href="logout.php" target="_self" class="Estilo6">Cerrar Sesi&oacute;n </a>| </div></td>
              <td width="55" rowspan="2" valign="middle" class="button"><div align="center"><a href="cp_menu_completo.php" target="_self">Men&uacute;</a> | </div></td>
                <td width="52" rowspan="2" valign="middle" class="Estilo7"><div align="center"><a href="Ing/cPanel/cpanel.php">English</a></div></td>
              <td width="33">&nbsp;</td>
                <td width="47" valign="middle"><span class="Estilo5"><?php echo date('d-m-y');?></span></td>
              </tr>
                <tr>
                  <td height="10"></td>
                  <td></td>
                  <td></td>
                  <td></td>
                </tr>
                
                <tr>
                  <td height="17">&nbsp;</td>
                  <td>&nbsp;</td>
                  <td width="47">&nbsp;</td>
                  <td width="52">&nbsp;</td>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                </tr>
                <tr>
                  <td height="183">&nbsp;</td>
                  <td colspan="2" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
                    <!--DWLayoutTable-->
                    <tr>
                      <td width="65" height="22">&nbsp;</td>
                      <td width="18">&nbsp;</td>
                      <td width="133">&nbsp;</td>
                      <td width="102">&nbsp;</td>
                      <td width="17">&nbsp;</td>
                      <td width="52">&nbsp;</td>
                      <td width="56">&nbsp;</td>
                    </tr>
                    <tr>
                      <td height="20">&nbsp;</td>
                      <td valign="top"><img src="cPanel/logo.gif" width="18" height="20"></td>
                      <td colspan="2" valign="middle" class="button">Secci&oacute;n: Men&uacute; </td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                    </tr>
                    <tr>
                      <td height="26">&nbsp;</td>
                      <td>&nbsp;</td>
                      <td colspan="3" valign="top" class="button"><ul>
                        <li>Men&uacute; Completo.<br>
                          <span class="Estilo8">.</span> 1. Eliminar Plato <br>
                        </li>
                      </ul></td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                    </tr>
                    <tr>
                      <td height="16"></td>
                      <td></td>
                      <td></td>
                      <td></td>
                      <td></td>
                      <td></td>
                      <td></td>
                    </tr>
                    <tr>
                      <td height="21"></td>
                      <td colspan="2" valign="top" class="button"><div align="right">Categoria: </div></td>
                      <td colspan="3" valign="top"><label>
                      <select name="cbxcat" onChange="traerDatos(document.forms['form1']['cbxcat'].value);">
                        <option>[Categoria]</option>
                        <?php 
                        
while($datos=mysql_fetch_array($query)){
                            if(
$datos[2]==$_GET['ID']){
                                echo(
'<option selected=selected value='.$datos[2].'>'.$datos[1].'</option>');
                            }else{
                                echo(
'<option  value='.$datos[2].'>'.$datos[1].'</option>');
                            }
                        }
                        
?>
                      </select>
                      </label></td>
                      <td>&nbsp;</td>
                    </tr>
                    <tr>
                      <td height="21"></td>
                      <td colspan="2" valign="middle" class="button"><div align="right">Nombre del Plato:</div></td>
                      <td colspan="3" valign="top"><select name="cbxnombre" onChange="traerDatos2(document.forms['form1']['cbxnombre'].value);">
                        <option>[Nombre]</option>
                        <?php 
                        $a 
$cnx->consulta("SELECT * FROM menu WHERE id_seccion='$_GET[ID]'");
                        while(
$datos=mysql_fetch_array($a)){
                            if(
$datos[0]==$_GET['IDcat']){
                                echo(
'<option selected=selected value='.$datos[0].'>'.$datos[2].'</option>');
                                
$des $datos[3];
                                
$precio $datos[4];
                                
$total $datos[5];
                            }else{
                                echo(
'<option value='.$datos[0].'>'.$datos[2].'</option>');
                            }
                        }
                        
?>
                      </select></td>
                      <td></td>
                    </tr>
                    <tr>
                      <td height="25"></td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                      <td></td>
                    </tr>
                    <tr>
                      <td height="41"></td>
                      <td colspan="5" valign="top"><div align="center"> <br>
                        <input type="submit" name="Submit" value="Eliminar">
                      </div></td>
                      <td></td>
                    </tr>
                    <tr>
                      <td height="19"></td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                      <td>&nbsp;</td>
                      <td></td>
                    </tr>
                    
                    

                    
                    
                    
                  </table></td>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                </tr>
            </tbody>
            </table></td>
    </tr>
    <tr>
      <td height="17" ></td>
      <td ></td>
      </tr>
    <tr>
      <td height="6" colspan="2" valign="top" class="line02" ><img src="cPanel/line02.gif" alt="" height="6" width="2"></td>
     </tr>
    <tr>
      <td height="1" ></td>
      <td ></td>
      </tr>
</tbody></table></form>
<div style="color: rgb(255, 255, 255); font-family: Verdana,sans-serif; font-size: 10px; text-align: center;">
  <div id="bot">
</div>
© cPanel</div>
</body></html>
Hola pues mira yo lo hago así prueba con ese codigo, solo debes modificar algunas cosas, este codigo lo que hace es que elprimer combox se llena por medio de una consulta a una DB mysql, luego dependiendo del valor que selecciones, el segundo combox se llenará de datos igual extraidos de una DB, para un tercer combo es solo que sigas la logica de como hice esto, espero te pueda servir en algo...

y esta parte ???

Código PHP:
require("../clases/mysql.inc.php"); 
require(
"../clases/cnx.serv.php"); 
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:00.