JavaScript - problema con select multiple de HTML a una base de datos

 
Vista:
sin imagen de perfil
Val: 4
Ha disminuido su posición en 47 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

problema con select multiple de HTML a una base de datos

Publicado por Alonso Forero (2 intervenciones) el 18/04/2019 05:35:43
tengo un formulario en Html, el cual pemite al usuario hacer un select multiple y guardar en una base de datos, posteriormente el usuario puede ver la informacion que guardó anteriormente cuando deseé, claro esta haciendo clic en los botones correspondientes para ello, el problema es que realmente el usuario hace el select multiple pero lo que se guarda en la base de datos es la palabra array, y logico cuando quiero recuperar la información que el usuario seleccionó lo que me regresa es la palabra array, en conclusión no estoy logrando el objetivo que es recuperar la información.
este es la parte del formulario que corresponde al select multiple.
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
<td>
       <select multiple="multiple" name="aP[]" id="aP" title="Seleccione los antecedentes patológicos, para seleccionar varios mantenga oprimida la tecla control">
            <option value="">Seleccione</option>
            <option value="hipertension_Arterial," >HTA</option>
            <option value="accidente_cerebro_vascular,">ACV</option>
            <option value="secuelas_de_ACV,">Secuelas de ACV</option>
            <option value="DM_Tipo_I,">DM Tipo I</option>
            <option value="DM_Tipo_II,">DM Tipo II</option>
            <option value="cancer,"> Cancer</option>
            <option value="enfermedad_acido_peptia,">Enfermedad Acido Peptica</option>
            <option value="epoc,">EPOC</option>
            <option value="enfermeded_pulmonar_restrictiva,">Enfermedad Pulmonar Restrictiva</option>
            <option value="enfermedad_genetica,">Enfermedad o Condición Genética</option>
            <option value="enfermedad_congenita,">Enfermedad o condición Congénita</option>
            <option value="Infecciones,">Infecciones</option>
            <option value="oAP">Otras</option>
          </select>
        </td>
 
este es el archivo controlador/insertarAP.php
 
<?php
	require_once '../modelo/conexion.php';
	require_once '../modelo/consultaInsertarAP.php';
 
	$mensaje = null;
// capturamos las variables del formulario.
$aP= $_POST['aP'];
 
		// creamos la variable consulta que va a corresponder al objeto consulta (lo estamos creando)
		$consultas = new consultas();
 
		// llamamos al metodo insertarAP, y como nos devuelve una cadena de caracteres lo guardamos en $mensaje
 
		$mensaje = $consultas->insertarAP( $aP);
	}
 
y este es el modelo/consultaInsertarAP.php
 
 
<?php
 
	class Consultas{  // metodo para ingresar datos a la BD mediante PDO
 
		public function insertarAP( $arg_aP){
			$modelo = new Conexion();  // creamos esta variable llamada modelo
			$conexion = $modelo->get_conexion(); // creamos la variable conexion y le pasamos la conexion
// ahora creamos la consulta
			$sql = "insert into aPP ( aP) values(:aP)";
			$statement = $conexion->prepare($sql); // preparamos la consulta con el metodo prepare, y el parametro que es la consulta misma sql
 
			$statement->bindParam(':aP', $arg_aP);
 
// ahora vamos a ejecutar la consulta
			if($statement->execute(array( ":aP"=>$arg_aP))){
 
				return 'Antecedentes Personales Guardados satisfactoriamente.<br> <br> Por Favor haga click en la flecha <-- del navegador para continuar';
 
			}else{
 
				return " error al crear registro en la base de datos.<br> <br> Por Favor haga click en la flecha <-- del navegador para devolver ";
			}
		}
// hasta aqui ya  introduje los datos a la tabla aPP de la BD.
 
para recuperar la informacion de la base de datos uso el siguiente codigo: numeroHC viene de otro formulario, es información que el usuario tiene que obligatoriamente introducir si quiere llegar aqui.
 
<?php
require'../class/database.php'; // llamamos al archivo que nos conecta a la base de datos 
$objData = new Database();  // ya estamos conectados a la BD
$sth = $objData->prepare('SELECT * FROM aPP WHERE numeroHC = :numeroHC' );
$numeroHC = $_GET['numeroHC'];
$sth->bindParam(':numeroHC',$numeroHC);
$sth->execute();
$result = $sth->fetchAll();
// LE INDICO QUE ME MUESTRE EL RESULTADO del arreglo
//print_r($result);
?>
 
<table width="100%" border="4">
<?php
      if($result){
        for ($i=0; $i< count($result); $i++)
{
 
 echo $result[$i]['aP']
}
};
?>
y eso es todo lo que tengo hasta ahora, he intentado de muchas maneras pero siempre el resultado es igual (array) , les agradeceria si me dan alguna luz al respecto.
mil gracias de antemano,
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 Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

problema con select multiple de HTML a una base de datos

Publicado por Alejandro (532 intervenciones) el 27/04/2019 16:18:11
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
1
$statement->bindParam(':aP', implode($arg_aP,','));
Con eso te guardaría todo los elementos seleccionados separados por coma en un mismo campo, nada recomendado, lo ideal seria una tabla relacional.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 4
Ha disminuido su posición en 47 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

problema con select multiple de HTML a una base de datos

Publicado por Alonso (2 intervenciones) el 27/04/2019 17:49:07
Mil gracias a Alejandro por su respuesta, excelente 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