PHP - Consulta con combobox

 
Vista:
sin imagen de perfil
Val: 28
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta con combobox

Publicado por Dix (15 intervenciones) el 05/09/2016 23:49:32
Hola buenas tardes,


Quisiera me ayudaran con mi código:

quiero hacer un combobox o menu desplegable apartir del "id" de la base de datos, actualmente el código despliega cuando se escribe en una caja de texto, ahora por medio del combobox quiero que despliegue las tablas.

dejo mi código esperando que me puedan ayudar.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<HTML LANG="es">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<html>
<head>
<img align="center" src="fg.jpg"  />
 
 
<BR>
<BR>
 
 
</head>
<body>
 
<head>
	<link rel="stylesheet" href="style10.css" type="text/css" media="screen"/>
 
		</head>
 
 
<center><form name="form1" method="post" action="Buscador11k.php" id="cdr" >
  <h3>REUBICACIONES</h3>
      <p>
        <input name="busca"  type="text" id="busqueda">
        <input type="submit" name="Submit" value="buscar" />
        </p>
 
</form>
  <form name="form2" method="post" action="">
  </form>
</center>
 
  <?php
$busca="";
$busca=$_POST['busca'];
mysql_connect("localhost","root","root");// conexion
mysql_select_db("Red");//nombre de la base de datos
if($busca!=""){
$busqueda=mysql_query("SELECT * FROM f11 WHERE ID='$busca'");
?>
 
 
<table class="table1" style="width:100%" border="2" >
 
 
   <tr>
    <th>
	 <font size=2>OFICIO</font>
	 </th>
       <th>
	 <font size=2>MOVIMIENTO</font>
	 </th>
	 <th>
	 <font size=2>ID</font>
	 </th>
     <th>
 
 
   </tr>
 
<?php
 
while($f=mysql_fetch_array($busqueda)){
echo '<tr>';
echo '<td><font size=2>'.$f['OFICIO'].'</td></font>';
echo '<td><font size=2>'.$f['T_MOV'].'</td></font>';
echo '<td><font size=2>'.$f['ID'].'</td></font>';
 
 
}
 
}
?>
</table>
<p>&nbsp;</p>
<br>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alpanpan
Val: 198
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Consulta con combobox

Publicado por Alpanpan (94 intervenciones) el 12/09/2016 12:52:40
A ver si entiendo.
Quieres un combobox, con el "nombre de las tablas", y cuando se seleccione una, se muestren sus datos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 28
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta con combobox

Publicado por Dix (15 intervenciones) el 14/09/2016 18:50:39
Buenas tardes,

En el combo quiero que aparezcan los id ejemplo:

S120
A408
W487

y ya dependiendo del id, se muestre una tabla los datos que tengan esa id.

ejemplo si elijes S120:

S120 ALTA OFICIO4789
S120 BAJA OFICIO4856
S120 BAJA OFICIO1123
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alpanpan
Val: 198
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Consulta con combobox

Publicado por Alpanpan (94 intervenciones) el 14/09/2016 19:32:20
si me pasa la estructura de la tabla, o los nombres de los campos afectados, y opcionalmente algunos datos con la id distinta, pero repetida, te lo hago más preciso.
Vas a usar solo html y php, o vas a usar tambien algún framework de js?
Otra cosa, las sentencias de myql que estás usando, están obsoletas desde php 5.5 ya no existen en php 7.0, así que dime que versión de php estás usando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alpanpan
Val: 198
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Consulta con combobox

Publicado por Alpanpan (94 intervenciones) el 14/09/2016 20:35:10
Bueno a falta de tus datos, aquí te envio lo que he hecho, asegurate de cambiar los datos correspondientes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<!doctype html>
<html LANG="es">
<head>
<meta charset="utf-8">
	<head>
		<link rel="stylesheet" href="style10.css" type="text/css" media="screen"/>
	</head>
	<body>
	<?php
		// Datos para la conexión con la base de datos
		$servidor="localhost";
		$puerto ="3306";
		$basedatos="???";
		$usuario="???";
		$contra="???";
 
		$conexion = new mysqli($servidor, $usuario, $contra, $basedatos); // Conectamos con la base de datos
	?>
	<script language="javascript">
		function enviaform( valor )
		{
			document.getElementById("busca").value=valor;
			form1.submit();
		}
	</script>
	<img align="center" src="fg.jpg"  />
	<center>
	<form name="form1" method="post" action="<?php $_PHP_SELF ?>" id="cdr" >
		<input style="display:none" type="text" name="busca" id="busca" value="" />
		<h3>REUBICACIONES</h3>
		<p>
 
			<?php
				// definimos la tabla en la que buscar y el campo por el que agrupar los datos
				$tabla="comercios"; $indice="idSector";
				// generamos la sentencia sql para realizar la búsqueda
				$sql="SELECT * FROM ".$tabla." GROUP BY `".$indice."`";
				// buscamos
				$busqueda=$conexion->query($sql);
				// Si hay resultados en la búsqueda
				if( $conexion->affected_rows >-1  )
				{
					// Generamos el combobox, e indicamos que cuando se seleccione un valor, llame a la función
					// enviaform, pasando como parámetro el valor seleccionado
					$combo = '<select value="" onChange="enviaform( this.value );">';
					while( $f=$busqueda->fetch_array() )
					{
						// Le añadimos los datos obtenidos
						$combo.='<option value="'.$f[$indice].'">'.$f['comercio'].'</option>';
					}
					// Cerramos el combobox
					$combo.='</select>';
				}
				else
				{
					// No hay datos a mostrar
					$combo='<h1>¡¡¡ NO SE HAN ENCONTRADO DATOS !!!</h1>';
				}
			?>
			</select>
        </p>
	</form>
	<?php echo $combo; ?>
	</center>
<?php
 
	$busca=( isset($_POST['busca']) ) ? $_POST['busca'] : false;
	if($busca)
	{
		$sqldatos="SELECT * FROM ".$tabla." WHERE ".$indice." = ".$busca;
		$datos=$conexion->query($sqldatos);
		if( $conexion->affected_rows >-1  )
		{
			$htmldatos ='
			<table class="table1" style="width:100%" border="2" >
				<tr><th><font size=2>OFICIO</font></th><th><font size=2>MOVIMIENTO</font></th><th><font size=2>ID</font></th></tr>';
 
			while($f=$datos->fetch_array())
			{
				$htmldatos.= '<tr>';
				$htmldatos.= '<td><font size=2>'.$f['comercio'].'</td></font>';
				$htmldatos.= '<td><font size=2>'.$f['direccion'].'</td></font>';
				$htmldatos.= '<td><font size=2>'.$f[$indice].'</td></font>';
				$htmldatos.= '</tr>';
			}
			$htmldatos.="</table>";
			echo $htmldatos;
		}
		else
		{
			// No hay datos a mostrar
			$combo='<h1>¡¡¡ NO SE HAN ENCONTRADO DATOS !!!</h1>';
		}
	}
?>
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alpanpan
Val: 198
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Consulta con combobox

Publicado por Alpanpan (94 intervenciones) el 14/09/2016 21:01:27
y elimina las lineas
60 </select>
5 <head>
que sobran
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 28
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta con combobox

Publicado por Dix (15 intervenciones) el 17/09/2016 17:03:31
Muchas gracias por la ayuda amigo disculpa por no contestar.

Sustituí los valores y sale todo bien solo que hay un detalle, lo aplique en otra tabla en donde la búsqueda del combobox es por año y me sale asi.


ac18ee4c1c74bdbc1f0282e2286c64dao


Entonces a la hora de consultar me sale fila por fila, me gustaría que salieran las opciones solo una ves ejemplo:


2013
2014
2015
2016

y si elijo 2013 entonces me aparezcan en la tabla todos los datos que sean del 2013.


Espero me puedas ayudar, muchas gracias amigo y disculpa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alpanpan
Val: 198
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Consulta con combobox

Publicado por Alpanpan (94 intervenciones) el 17/09/2016 17:33:27
si ese campo contiene dia, mes y año, habrá que agruparlo mediante una función dentro de la propia Sql.
Pon un ejemplo del campo y lo miramos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 28
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta con combobox

Publicado por Dix (15 intervenciones) el 17/09/2016 19:13:14
En el campo solo hay año, seria agruparlos por año ?

dejo la captura de la base de datos.

5089a75490a79a20eca254b9b2301276o


La busqueda que hago con el codigo es el de "year" y con ese me muestra los campos que dependen de ella.

87db81ccea4ad8bde1a5b7e2ec446b15o
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 28
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta con combobox

Publicado por Dix (15 intervenciones) el 19/09/2016 16:22:27
ya lo hice en el sql, pero al ejecutar el código me los sigue mostrando igual.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alpanpan
Val: 198
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Consulta con combobox

Publicado por Alpanpan (94 intervenciones) el 19/09/2016 16:53:19
Deduzco, que lo que quieres es poder elegir entre mostrar los datos por id de la persona o por año y que entonces tiene que generarse un combo u otro.
Si es así, hay que modificar el código. Ahora no estoy en casa, cuando vuelva lo hago.
Habrá usar unos <input type="radio"....., para especificar que mostrar, o crear unos botones para tal menester. Piensa como quieres hacerlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 28
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta con combobox

Publicado por Dix (15 intervenciones) el 19/09/2016 17:15:54
De echo ahora lo estoy aplicando solo en el de los años, me gustaría mas con el "<input type="radio"".


muchas garcías por la ayuda hermano.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alpanpan
Val: 198
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Consulta con combobox

Publicado por Alpanpan (94 intervenciones) el 19/09/2016 17:43:16
Bueno ya estoy aquí.
Mira si te va esto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$conexion = new mysqli($servidor, $usuario, $contra, $basedatos); // Conectamos con la base de datos
 
// Indicamos las posibles opciones a escoger
// [] Texto que se mostrará en el Botón Radio
//  = El campo por el que se agruparán los datos
$opciones["ID"]="id";
$opciones["Año"]="year";
 
// Esta variable guardará los botones creado, para mostrarlos más adelante
$botones="";
// Capturamos cual va a ser la opción a mostrar, o asignamos una por defecto
$grupo=isset($_POST['opcion']) ? $_POST['opcion'] : "id";
// Recorremos el array con las distintas opciones
// y asignamos cada componente del array a las variables $opcion e $indice
foreach($opciones as $opcion=>$indice)
{
	// Comprobamos si es la seleccionada y la marcamos
	$checked=($indice == $opcion) ? " checked=checked ":"";
	// Generamos el botón correspondiente, y lo añadimos a la variable botones
	$botones.='<input type="radio" name="opcion" value="'.$indice.'"'.$checked.'onChange="form1.submit();">'.$opcion.'</input>';
}
?>
 
<img align="center" src="fg.jpg"  />
<center>
	<form id="form" name="form1" method="post" action="<?php $_PHP_SELF ?>" id="cdr">
		<?=$botones?>
		<h3>REUBICACIONES</h3>
Sustituye en mi codigo anterior, desde la primera linea que coincide hasta la última, que coincida, claro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 28
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta con combobox

Publicado por Dix (15 intervenciones) el 23/09/2016 19:16:53
Ya funciona, use el primer código ahora tengo otra duda,

en una columna quiero que me aparezca un link de descarga que dependa de un campo de la base de datos.

antes del combo el codigo quedaba asi:

1
<td><a target="_blank" href="<?php echo '/ok/Descargas/'.$row['xls'];?>">DESCARGAR</a></td>

y se mostraba asi:

db5665a54ed4db58b7a767c15d558f4eo

ahora tengo la duda de como poner esa linea de código en el codigo que me proporcionarte:

1
2
3
4
5
$htmldatos.= '<tr>';
$htmldatos.= '<td><font size=2>'.$f['year'].'</td></font>';
$htmldatos.= '<td><font size=2>'.$f['mes'].'</td></font>';
$htmldatos.= '<td><font size=2>'.$f[$indice].'</td></font>';
$htmldatos.= '</tr>';

Espero me puedas apoyar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alpanpan
Val: 198
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Consulta con combobox

Publicado por Alpanpan (94 intervenciones) el 30/09/2016 00:51:11
Perdona, pero no me llegó la notificación.
Seguro que ya lo has solucionado, pero...
Esa línea la tendrás que colocar así
1
$htmldatos.= '<td><a target="_blank" href="/ok/Descargas/'.$row['xls'].'">DESCARGAR</a></td>';
dentro de los<tr></tr>, en la posición que desees
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar