Foros del Web » Programando para Internet » PHP »

Filtrar consultas con Select en php

Estas en el tema de Filtrar consultas con Select en php en el foro de PHP en Foros del Web. Hola necesito hacer que al seleccionar el elemento de una lista se ejecute una consulta php que se encuentra dentro de una funcion php a ...
  #1 (permalink)  
Antiguo 27/04/2007, 08:38
Avatar de MariaElenaSolís22  
Fecha de Ingreso: agosto-2006
Ubicación: Mty., Nuevo León, Méx.
Mensajes: 88
Antigüedad: 18 años, 2 meses
Puntos: 0
Filtrar consultas con Select en php

Hola necesito hacer que al seleccionar el elemento de una lista se ejecute una consulta php que se encuentra dentro de una funcion php a mi base de datos por medio del evento onchange ya se que tengo que usar javascript y ahi ejecuto otra funcion de js para obtener el valor del elemento seleccionado de esa lista...mi problema es como le paso el valor actual de la a mi funcion para que haga la consulta y los pase a otra lista dinamica con php . los valores de mi primer select tambien son resultados de una consulta.esperando que me puedan ayudar.el codigo es el siguiente:


function mostrar_TClientes(){

$cadena_consulta_tipoC="select IdTipoCliente, Descripcion from tipo_clientes"; /*cadena de consulta para los tipos de clientes*/
$consulta_tipoC=mysql_query($cadena_consulta_tipoC ) or die(mysql_error); /*ejecucion de la consulta de los tipos de clientes*/

echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb sp;&nbsp;&nbsp;","Seleccione El Tipo De Cliente:","<br />";
/*en el evento onChange y onFocus se manda llamar a la funcion cargar cliente para obtener el valor seleccionado y guardarlo en un campo oculto*/
echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb sp;&nbsp;&nbsp;","<select name='tipo_de_cliente' onChange='cargar_cliente(); document.FrmRegCliente.submit();' onFocus='cargar_cliente(); '>";
while($row=mysql_fetch_array($consulta_tipoC))
{
$idTc=$row['0'];
$tipo=$row['1'];
echo "<option>$tipo","</option>"; /*inserta en una opcion todos los tipos de clientes */
}
echo "</select>","<br />","<br />";
consultar_tipoClientePaquete($tipo_de_cliente);
}


function consultar_tipoClientePaquete($tipo_de_cliente){

$cadena_consulta_id_TipoC="select IdTipoCliente, IdPaquete from tipoc_paquetes where IdTipoCliente='".$tipo_de_cliente."'";
$consulta_id_TipoC=mysql_query($cadena_consulta_id _TipoC) or die(mysql_error);

echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb sp;&nbsp;&nbsp;","Seleccione El Paquete: ";
echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp","<select name='Cte' onChange='cargar_paq(); document.FrmRegCliente.submit();' onFocus='cargar_paq(); document.FrmRegCliente.submit();'>";

while($row2=mysql_fetch_array($consulta_id_TipoC,M YSQL_NUM))
{
$idtcp=$row2['0'];
$paquetetc=$row2['1'];
echo "<option>$paquetetc","</option>";

}
echo "</select>";
}

?>

<form>
... objetos del form
</form>

<script language='javascript' type='text/javascript'>

function cargar_paq(){
var nopciones1;
nopciones1=document.FrmRegCliente.tipo_de_cliente. options;
var miDesc1 =document.FrmRegCliente.tipo_de_cliente[document.FrmRegCliente.tipo_de_cliente.selectedInd ex].value;
var Descripcion1=document.prueba.Cte[document.FrmRegCliente.tipo_de_cliente.selectedInd ex].text;
//document.write('Descripcion');
document.getElementById('paq').value = miDesc1;
document.getElementById('paq').value = Descripcion1;
}

function cargar_cliente(){
var nopciones;
nopciones=document.FrmRegCliente.tipo_de_cliente.o ptions;
var miDesc =document.FrmRegCliente.tipo_de_cliente[document.FrmRegCliente.tipo_de_cliente.selectedInd ex].value;
var Descripcion=document.FrmRegCliente.tipo_de_cliente[document.FrmRegCliente.tipo_de_cliente.selectedInd ex].text;
//document.write('Descripcion');
document.getElementById('cliente').value = miDesc;
document.getElementById('cliente').value = Descripcion;
}


</script>
  #2 (permalink)  
Antiguo 27/04/2007, 08:47
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 21 años, 6 meses
Puntos: 3
Re: Filtrar consultas con Select en php

lo que tu quieres es como llenar los datos de un 2do select con la opcion seleccionada del primer combo?

si es asi como te estoy diciendo vista estos ejemplos para que veas
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #3 (permalink)  
Antiguo 27/04/2007, 08:56
Avatar de MariaElenaSolís22  
Fecha de Ingreso: agosto-2006
Ubicación: Mty., Nuevo León, Méx.
Mensajes: 88
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Filtrar consultas con Select en php

gracias por los ejemplos pero no quiero usar Ajax..que puedo hacer como alternativa.
  #4 (permalink)  
Antiguo 27/04/2007, 09:07
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 21 años, 6 meses
Puntos: 3
Re: Filtrar consultas con Select en php

Te voy a arreglar un poquito tu codigo a ver si entendenmos mejor...
Código PHP:
<script language='javascript' type='text/javascript'>

function cargar_paq(){
var nopciones1;
nopciones1=document.FrmRegCliente.tipo_de_cliente. options;
var miDesc1 =document.FrmRegCliente.tipo_de_cliente[document.FrmRegCliente.tipo_de_cliente.selectedInd ex].value;
var Descripcion1=document.prueba.Cte[document.FrmRegCliente.tipo_de_cliente.selectedInd ex].text;
//document.write('Descripcion');
document.getElementById('paq').value = miDesc1;
document.getElementById('paq').value = Descripcion1;
}

function cargar_cliente(){
var nopciones;
nopciones=document.FrmRegCliente.tipo_de_cliente.o ptions;
var miDesc =document.FrmRegCliente.tipo_de_cliente[document.FrmRegCliente.tipo_de_cliente.selectedInd ex].value;
var Descripcion=document.FrmRegCliente.tipo_de_cliente[document.FrmRegCliente.tipo_de_cliente.selectedInd ex].text;
//document.write('Descripcion');
document.getElementById('cliente').value = miDesc;
document.getElementById('cliente').value = Descripcion;
}


</script>

<?
function mostrar_TClientes()
    {
        
$cadena_consulta_tipoC="select IdTipoCliente, Descripcion from tipo_clientes";
/*cadena de consulta para los tipos de clientes*/
        
$consulta_tipoC=mysql_query($cadena_consulta_tipoC);
/*ejecucion de la consulta de los tipos de clientes*/

        
echo "<form name=FrmRegCliente>Seleccione El Tipo De Cliente: <br />";
/*en el evento onChange y onFocus se manda llamar a la funcion cargar cliente para obtener el valor seleccionado y guardarlo en un campo oculto*/
        
echo "<select name='tipo_de_cliente' onChange='cargar_cliente(); document.FrmRegCliente.submit();' onFocus='cargar_cliente(); '>";
            while(
$row=mysql_fetch_array($consulta_tipoC))
                {
                    
$idTc=$row[0];
                    echo 
"<option>".$row[1]."</option>"/*inserta en una opcion todos los tipos de clientes */
                
}
        echo 
"</select><br /><br />";

        
consultar_tipoClientePaquete($tipo_de_cliente);
    }


function 
consultar_tipoClientePaquete($tipo_de_cliente)
    {
        
$cadena_consulta_id_TipoC="select IdTipoCliente, IdPaquete from tipoc_paquetes where IdTipoCliente='".$tipo_de_cliente."'";
$consulta_id_TipoC=mysql_query($cadena_consulta_id _TipoC);

echo 
"Seleccione El Paquete: ";
echo 
"<select name='Cte' onChange='cargar_paq(); document.FrmRegCliente.submit();' onFocus='cargar_paq(); document.FrmRegCliente.submit();'>";

while(
$row2=mysql_fetch_array($consulta_id_TipoC))
    {
        echo 
"<option>".$row2['1']."</option>";
    }
echo 
"</select>";
}

?>


... objetos del form
</form>
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #5 (permalink)  
Antiguo 27/04/2007, 09:13
Avatar de MariaElenaSolís22  
Fecha de Ingreso: agosto-2006
Ubicación: Mty., Nuevo León, Méx.
Mensajes: 88
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Filtrar consultas con Select en php

mmm no entiendo
  #6 (permalink)  
Antiguo 27/04/2007, 09:17
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 21 años, 6 meses
Puntos: 3
Re: Filtrar consultas con Select en php

Maria que es lo que realmente (simplificado) necesitas que haga este codigo?
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #7 (permalink)  
Antiguo 27/04/2007, 10:55
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Re: Filtrar consultas con Select en php

Lo que quieres hacer solo lo puedes hacer o con Ajax o con Javascript, ya que es una accion que va a pasar cuando el cliente haga click en un select.

Para hacer esto debes leer un poquito de javascript y aprender a incorporarlo en el php.

Luego usar la logica comun para este tipo de cosas (arreglos, identificador y demases en caso de ser necesario)
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #8 (permalink)  
Antiguo 27/04/2007, 11:21
Avatar de MariaElenaSolís22  
Fecha de Ingreso: agosto-2006
Ubicación: Mty., Nuevo León, Méx.
Mensajes: 88
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Filtrar consultas con Select en php

ok Marvin pero ya lo estoy implementando el valor seleccionado de la lista lo paso a una caja de texto por medio de javascript, ahora lo que quiero hacer es mandar el nombre de la caja de texto como parametro de la funcion de php desde el evento onchange mando llamar a esta funcion pero no hace nada.
<input type='text' name='cliente' size='30' onChange="<?php $_POST['cliente']; consultar_ClientePaquete();" onFocus="<?php $_POST['cliente']; consultar_ClientePaquete();" ?>"
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 14:43.