PHP - Exportar datos de Mysql a traves de un Select Option

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

Exportar datos de Mysql a traves de un Select Option

Publicado por HELENA (6 intervenciones) el 01/04/2021 12:39:45
Hola, estoy intentando devolver los registros de una tabla a un div, a partir de lo seleccionado en un select option, pero no consigo que me devuelva el resultado. Lo estoy haciendo con Ajax y PHP.
Os paso el código que estoy utilizando a ver si alguien me puede echar una mano.


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
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>informes</title>
	<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.js"></script>
	<script>
		$(document).ready(function(){
			//Obtenemos los registros de la tabla
			$('#informe').change(function(){
				var id=$(this).find(":selected").val();
				var dataString='partid='+ id;
				$.ajax({
					url:'creainfoaseguradora.php',
					dataType:"json",
					data:dataString,
					cache:false,
					sucess:function(partesData){
 
					if(partesData){
						$("#heading").show();
						$("#no_records").hide();
						$("#part_id").text(partesData.id);
						$("#part_nombre").text(partesData.aseguradora);
						$("#part_dni").text(partesData.dni);
						$("#part_asegurado").text(partesData.nombre);
						$("#part_direccion").text(partesData.direccion);
						$("#part_telefono").text(partesData.telefono);
						$("#part_tipo").text(partesData.seguro);
						$("#part_descripcion").text(partesData.descripcion);
						$("#part_fecha").text(partesData.fecha);
						$("#records").show();
					} else {
						$("#heading").hide();
						$("#records").hide();
						$("#no_records").show();
					  }
				}
		});
	})
});
	</script>
</head>
 
<body>
	<div class="imagen">
	<img src="logo.jpg" width="200" height="100" alt=""/>
	</div>
	<div class="titulo">
		<h1 name="soluciones">SOLUCIONES INTEGRALES</h1>
		<h2 name="aseguradoras">INFORMES</h2>
	</div>
	<div>
		<legend>INFORMES POR ASEGURADORA</legend>
		<label for="asegur">Selecciona Aseguradora:</label>
			<select id="informe">
				<option value="" selected="selected">Seleccionar Aseguradora</option>
				<?php
					$conn=mysqli_connect("localhost", "root", "", "soluciones_integrales");
					$sql="SELECT aseguradora FROM partes";
					$resultset=mysqli_query($conn, $sql);
					while($rows=mysqli_fetch_assoc($resultset)){
				?>
				<option value="<?php echo $rows["aseguradora"];?>"><?php echo $rows["aseguradora"];?></option>
				<?php
				}
				?>
			</select>
				<td><div class="col-sm-4" id="part_id"></div></td>
				<td><div class="col-sm-4" id="part_nombre"></div></td>
				<td><div class="col-sm-4" id="part_dni"></div></td>
				<td><div class="col-sm-4" id="part_asegurado"></div></td>
				<td><div class="col-sm-4" id="part_direccion"></div></td>
				<td><div class="col-sm-4" id="part_telefono"></div></td>
				<td><div class="col-sm-4" id="part_tipo"></div></td>
				<td><div class="col-sm-4" id="part_descripcion"></div></td>
				<td><div class="col-sm-4" id="part_fecha"></div></td>
		</div>
	</body>
</html>

Y este es el código PHP que utilizo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$conn=mysqli_connect("localhost", "root", "", "soluciones_integrales");
if($_REQUEST['partid']){
	$sql="SELECT id, dni, nombre, direccion, telefono, aseguradora, fecha, seguro, descripcion FROM partes WHERE aseguradora='".$_REQUEST['partid']."'";
	$resultset=mysqli_query($conn, $sql) or die("database error:".mysqli_error($conn));
 
	$data=array();
	while($rows=mysqli_fetch_assoc($resultset)){
		$data=$rows;
	}
	echo json_encode($data);
} else {
	echo 0;
}
?>
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 Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Exportar datos de Mysql a traves de un Select Option

Publicado por Mauro (1037 intervenciones) el 01/04/2021 16:21:13
Hola Helena:

Para empezar, veo que no pusiste ningún callback para failure en tu llamada Ajax, eso es importante para que, si algo falla puedas detectarlo.

Por otro lado, si notas bien, tu función de éxito no se llama success como debería sin o "sucess", con lo cual jamás será invocada.

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

Exportar datos de Mysql a traves de un Select Option

Publicado por HELENA (6 intervenciones) el 01/04/2021 17:06:47
Ohhh Mauro muchas gracias, no me lo puedo creer, llevaba días y no lo veía, a veces no hay nada como verlo desde fuera.
Por fin, funciona.
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: 17
Ha aumentado su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Exportar datos de Mysql a traves de un Select Option

Publicado por HELENA (6 intervenciones) el 01/04/2021 18:27:15
Hola de nuevo, ahora tengo otro problema, la variable $("#part_nombre").text(partesData.aseguradora); tiene registros repetidos, pero solo me devuelve uno de ellos ( el último que se ha guardado ).
Necesito que me devuelva el resultado de todas las filas que contengan la aseguradora que he seleccionado en el select option.
Se le ocurre a alguien algo??
He incluido un GROUP BY en $sql="SELECT aseguradora FROM partes"; para que me de solo un registro en el select pero necesito que me devuelva todas las filas.
Muchas gracias.
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 Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Exportar datos de Mysql a traves de un Select Option

Publicado por Mauro (1037 intervenciones) el 02/04/2021 14:46:26
¿Podrías mostrar el contenido de creainfoaseguradora.php?
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: 17
Ha aumentado su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Exportar datos de Mysql a traves de un Select Option

Publicado por Helena (6 intervenciones) el 02/04/2021 18:56:06
Es este:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$conn=mysqli_connect("localhost", "root", "", "soluciones_integrales");
if($_REQUEST['partid']){
	$sql="SELECT id, dni, nombre, direccion, telefono, aseguradora, fecha, seguro, descripcion FROM partes WHERE aseguradora='".$_REQUEST['partid']."'";
	$resultset=mysqli_query($conn, $sql) or die("database error:".mysqli_error($conn));
 
	$data=array();
	while($rows=mysqli_fetch_assoc($resultset)){
		$data=$rows;
	}
	echo json_encode($data);
} else {
	echo 0;
}
?>
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 Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Exportar datos de Mysql a traves de un Select Option

Publicado por Mauro (1037 intervenciones) el 02/04/2021 23:45:42
Hola Helena:

Nota que en la línea:

1
$data=$rows;

Estás asignando el arreglo $rows al arreglo $data.

Si lo que buscas es crear una matriz que contenga todos los resultados de la consulta (e imagino que así es) deberías escribir:

1
$data[]=$rows;

De esta forma estarás agregando una nueva fila a la matriz $data, la cual contendrá el valor de $rows.

Saludos!
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: 17
Ha aumentado su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Exportar datos de Mysql a traves de un Select Option

Publicado por HELENA (6 intervenciones) el 03/04/2021 19:33:51
Muchas gracias por la ayuda Mauro, pero sigue sin funcionar, cuando cambio lo que me indicas deja de funcionar todo.
Ya no se que más hacer.
Muchas gracias.
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 Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Exportar datos de Mysql a traves de un Select Option

Publicado por Mauro (1037 intervenciones) el 03/04/2021 20:33:56
El problema es que al cambiar lo que retorna el php debes adaptar el ja también.

En tu versión partesData es un objeto único, en la mía es un arreglo.

Puedes ver esto usando la consola de debugging de tu navegador.

Consultame si te quedan dudas
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: 17
Ha aumentado su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Exportar datos de Mysql a traves de un Select Option

Publicado por HELENA (6 intervenciones) el 05/04/2021 16:53:49
Hola de nuevo Mauro, como verás soy bastante nueva en esto y no consigo salir de donde estoy.
No se como usar la consola de debugging de mi navegador, asi que sigo bastante atascada.
Muchas gracias de nuevo por la ayuda, por lo menos me has orientado.
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