Foros del Web » Programando para Internet » PHP »

js y php

Estas en el tema de js y php en el foro de PHP en Foros del Web. hola, estoy empezando y necesito ayuda con un evento onchange. A ver..., tengo un combo que se llena con los datos de una db, bien, ...
  #1 (permalink)  
Antiguo 27/04/2006, 05:52
 
Fecha de Ingreso: abril-2006
Mensajes: 61
Antigüedad: 11 años, 7 meses
Puntos: 0
js y php

hola,
estoy empezando y necesito ayuda con un evento onchange.
A ver..., tengo un combo que se llena con los datos de una db, bien, lo que necesito es que cuando se seleccione un elemento del combo, aparezcan debajo datos filtrados de la db.
espero haberme explicado correctamente

muchisimas gracias
  #2 (permalink)  
Antiguo 27/04/2006, 06:17
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 15 años, 10 meses
Puntos: 771
Hola sol1970. Bienvenido al foro.

Dinos que lenguaje estás usando para acceder a la base de datos (PHP, ASP, Perl...) y un moderador moverá tu mensaje al foro correspondiente. También puedes pasarte por esos foros y echar un vistazo a las FAQs (están en los primeros mensajes)

Saludos,
  #3 (permalink)  
Antiguo 27/04/2006, 07:54
 
Fecha de Ingreso: abril-2006
Mensajes: 61
Antigüedad: 11 años, 7 meses
Puntos: 0
perdon

Ya sabia yo, que no me explicaba bien.
Vamos a ver, estoy com php y Mysql, tipico.
Tengo ya creado un combo en javascript, ahora bien, como php es del lado servidor y js del cliente, pues no sé como hacer para que el valor del combo hecho en js lo entienda el php como el filtro que tiene que usar en el consulta.
Por ejemplo;
$result3=mysql_query("select * from personas, empresas where gerente.personas="Combo_con_el_nombre de la persona" );
Suponiendo, claro que tengo otro combo con los gerentes de las empresas en la tabla personas, y en el evento onchange esta consulta en php.
espero de esta haberme explicado mejor.
muchas gracias
  #4 (permalink)  
Antiguo 27/04/2006, 09:33
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 16 años, 3 meses
Puntos: 380
Vamos al foro de PHP

movido desde javascript
  #5 (permalink)  
Antiguo 27/04/2006, 10:14
 
Fecha de Ingreso: septiembre-2004
Mensajes: 40
Antigüedad: 13 años, 3 meses
Puntos: 0
Saludos
Tu lo has dicho: "php es del lado servidor y js del cliente" y esa es la clave. Debes ir al servidor nuevamente para poder obtener los datos de la BD.

Creo que esto te puede ayudar:

<form name="miformulario" method="post" action="">
<select name="combo_personas" id="combo_personas" onChange="document.miformulario.submit();">
<option value="persona1">persona1</option>
<option value="persona2">persona2</option>
</select>
<?php
//ES IMPORTANTE QUE EL "action" DEL FORMULARIO SEA LA MISMA PAGINA EN LA QUE ESTA EL COMBO DE LAS PERSONAS
if(isset($_POST["combo_personas"])) //se selecciono una persona
{ //aca te conetas a la BD y haces la consulta
$result3=mysql_query("select * from personas, empresas where gerente.personas='".$_POST["combo_personas"]."'");
if($result3)
{ //aca muestras toda la informacion de la personas que necesitas
//por ejemplo: nombre, direccion, telefeno
}
}
?>
</form>

Bueno espero te sirva de ayuda.

Saludos
  #6 (permalink)  
Antiguo 27/04/2006, 10:57
 
Fecha de Ingreso: abril-2006
Mensajes: 61
Antigüedad: 11 años, 7 meses
Puntos: 0
muchas gracias, pero......

Creo que no sé suficiente, porque se aunque intente cambiar el valor el valor del combo, siempre vuelve al primer elemento.
  #7 (permalink)  
Antiguo 27/04/2006, 11:03
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
hay que indicarle al combo que mantenga el valor antes seleccionado, asi:

Código PHP:

<form name="miformulario" method="post" action="">
<select name="combo_personas" id="combo_personas" onChange="document.miformulario.submit();">
<option value="persona1" <?php if($_POST["combo_personas"]=="persona1") echo "selected";?>>persona1</option>
<option value="persona2"  <?php if($_POST["combo_personas"]=="persona2") echo "selected";?>>persona2</option>
</select>
<?php

  
if(isset($_POST["combo_personas"])) //se selecciono una persona
  

    
//aca te conectas a la BD y haces la consulta
    
$result3=mysql_query("select * from personas, empresas where gerente.personas='".$_POST["combo_personas"]."'");
    if(
$result3)
    { 
//aca muestras toda la informacion de la personas que necesitas
      //por ejemplo: nombre, direccion, telefeno
    
}
  }
?>
</form>
  #8 (permalink)  
Antiguo 28/04/2006, 01:46
 
Fecha de Ingreso: abril-2006
Mensajes: 61
Antigüedad: 11 años, 7 meses
Puntos: 0
error

Muchas gracias. Os muestro el código porqeu no se porque me da error, espero lo que solucionemos.
Código PHP:
<form name="personas" method="post" action="" >
<select name="Combo_personas" id="Combo_personas" onchange="document.personas.submit();">
<option value="">Seleccione</option>
<?php while($fila mysql_fetch_array($result)){
echo  
"<option value="If $_POST["combo_personas"]==".$fila["personas"]." echo "selected";>".$fila["ComunidadAutonoma"]."</option>"";
}
mysql_free_result($result);
?>
  </select>
  <?php
$result1
=mysql_query("select * from img_redes where img_personas='".$_POST["combo_personas"]."'");
 
?>
El error que me da es:
Parse error: parse error, unexpected T_IF, expecting ',' or ';' in c:\inetpub\wwwroot\MMA_WEB\red.php on line 63
la linea 63 es
echo "<option value="If $_POST["combo_personas"]==".$fila["personas"]." echo "selected";>".$fila["ComunidadAutonoma"]."</option>"";


muchas gracias, no se que haria sin vosotros
  #9 (permalink)  
Antiguo 28/04/2006, 01:48
 
Fecha de Ingreso: abril-2006
Mensajes: 61
Antigüedad: 11 años, 7 meses
Puntos: 0
error, este es el bueno, anterior esta mal

Muchas gracias. Os muestro el código porqeu no se porque me da error, espero lo que solucionemos.
Código PHP:
<form name="personas" method="post" action="" >
<select name="Combo_personas" id="Combo_personas" onchange="document.personas.submit();">
<option value="">Seleccione</option>
<?php while($fila mysql_fetch_array($result)){
echo  
"<option value="If $_POST["combo_personas"]==".$fila["personas"]." echo "selected";>".$fila["personas"]."</option>"";
}
mysql_free_result($result);
?>
  </select>
  <?php
$result1
=mysql_query("select * from img_redes where img_personas='".$_POST["combo_personas"]."'");
 
?>
El error que me da es:
Parse error: parse error, unexpected T_IF, expecting ',' or ';' in c:\inetpub\wwwroot\MMA_WEB\red.php on line 63
la linea 63 es
echo "<option value="If $_POST["combo_personas"]==".$fila["personas"]." echo "selected";>".$fila["personas"]."</option>"";


muchas gracias, no se que haria sin vosotros
  #10 (permalink)  
Antiguo 28/04/2006, 07:53
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Código PHP:
<form name="personas" method="post" action="" >
<select name="Combo_personas" id="Combo_personas" onchange="document.personas.submit();">
<option value="">Seleccione</option>
<?php 
   
while($fila mysql_fetch_array($result)){
?>
<option value="" <?php if ($_POST["combo_personas"]== $fila["personas"]) echo "selected" ?>><?php echo $fila["personas"]?></option>
<?php
   
}
   
mysql_free_result($result);
?>
  </select>
<?php
   $result1
=mysql_query("select * from img_redes where img_personas='".$_POST["combo_personas"]."'");
?>
  #11 (permalink)  
Antiguo 02/05/2006, 04:41
 
Fecha de Ingreso: abril-2006
Mensajes: 61
Antigüedad: 11 años, 7 meses
Puntos: 0
gracias!!

Ya está.
saludos
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:24.