PHP - recoger datos de un select dinamico y pasarlo a otra pagina por medio de post

 
Vista:
sin imagen de perfil

recoger datos de un select dinamico y pasarlo a otra pagina por medio de post

Publicado por miguel angel (6 intervenciones) el 06/03/2017 19:59:04
ayuda en como recoger datos de un select dinamico y pasarlo a otra pagina por medio de post

Este es el archivo index.php donde se encuentra el formulario principal. Lo cual los lleno con datos de una base de datos de mysql, y quiero pasar el datos seleccionado al archivo que se llama archivo-receptor.php pero que pase el dato seleccionado no el id de la tabla ,cada select con su respectiva tabla y son select dependientes, acontinuacion dejo el orden de mis archivos y codigos.

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
<html>
<head>
  <meta charset='utf-8'/>
  <title>2017</title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
  <link href="css/style.css" rel="stylesheet">
  <script src="functions.js"></script>
</head>
 
 
<body>
 
<form action="archivo-receptor.php" method="post" target="blanck">
 
<h1>2017</h1>
 
 
<div>
<h2>MODALIDAD</h2>
<select name="modalidades" id="modalidades">
  <option value="0">Seleccione</option>
</select>
</div>
 
<div>
<h2>NIVEL</h2>
<select name="niveles" id="niveles">
  <option value="0">Seleccione</option>
</select>
</div>
 
<div>
<h2>CARRERAS</h2>
<select name="carreras" id="carreras">
  <option value="0">Seleccione</option>
</select>
</div>
 
<div>
<h2>CAMPUS</h2>
<select name="campus" id="campus">
  <option value="0">Seleccione</option>
</select>
</div>
 
 
<div>
<input type="submit" value="ENVIAR DATOS" id="boton"></input>
</div>
 
</form>
 
</body>
 
</html>

..........................................................................................................................................
Acontinuacion mi conexion a las base de datos y tabla correspondiente.
el archivo se llama modalidades.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
 
$conexion = mysqli_connect("localhost","root","","ceuss_carreras");
 
$conexion->query("SET NAMES 'utf8'");
 
$query = $conexion->query("SELECT * FROM modalidades");
 
echo '<option value="0">Seleccione</option>';
 
while ( $row = $query->fetch_assoc() )
{
	echo '<option value="' . $row['id']. '">' . $row['nombre'] . '</option>' . "\n";
}
 
?>
......................................................................................................................
Acontinuacion mi conexion a las base de datos y tabla correspondiente.
el archivo se llama niveles.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
 
$conexion = mysqli_connect("localhost","root","","ceuss_carreras");
 
$conexion->query("SET NAMES 'utf8'");
 
$el_continente = $_POST['continente'];
 
$query = $conexion->query("SELECT * FROM niveles WHERE id_modalidades = $el_continente");
 
echo '<option value="0">Seleccione</option>';
 
while ( $row = $query->fetch_assoc() )
{
	echo '<option value="' . $row['id_nivel']. '">' . $row['nombre'] . '</option>' . "\n";
}
 
?>
....................................................................................................................................................................
Acontinuacion mi conexion a las base de datos y tabla correspondiente.
el archivo se llama carreras.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
 
$conexion = mysqli_connect("localhost","root","","ceuss_carreras");
 
$conexion->query("SET NAMES 'utf8'");
 
$el_continente = $_POST['continente'];
 
$query = $conexion->query("SELECT * FROM carreras WHERE id_nivel = $el_continente");
 
echo '<option value="0">Seleccione</option>';
 
while ( $row = $query->fetch_assoc() )
{
	echo '<option value="' . $row['id_carrera']. '">' . $row['nombre'] . '</option>' . "\n";
}
 
?>
.............................................................................................................................................
Acontinuacion mi conexion a las base de datos y tabla correspondiente.
el archivo se llama campus.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
 
$conexion = mysqli_connect("localhost","root","","ceuss_carreras");
 
$conexion->query("SET NAMES 'utf8'");
 
$el_continente = $_POST['continente'];
 
$query = $conexion->query("SELECT * FROM campus WHERE id_carrera = $el_continente");
 
echo '<option value="0">Seleccione</option>';
 
while ( $row = $query->fetch_assoc() )
{
	echo '<option value="' . $row['id_campus']. '">' . $row['nombre'] . '</option>' . "\n";
}
 
?>
.............................................................................................................................................
Acontinuacion la funcion donde hago llegar los datos de las tablas a los id="modalidades", id="niveles", id="carreras", id="campus" del archivo index.php .
este archivo se llama functions.js

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
$(function(){
 
	// Lista de modalidades
	$.post( 'modalidades.php' ).done( function(respuesta)
	{
		$( '#modalidades' ).html( respuesta );
	});
 
 
 
	// clve para niveles	
	$('#modalidades').change(function()
	{
		var el_continente = $(this).val();
 
		// Lista de niveles
		$.post( 'niveles.php', { continente: el_continente} ).done( function( respuesta )
		{
			$( '#niveles' ).html( respuesta );
		});
	});
 
 
 
	// clave para campus
	$( '#niveles' ).change( function()
 
	{
	var el_continente = $(this).val();
 
	// Lista de campus
		$.post( 'carreras.php', { continente: el_continente} ).done( function( respuesta )
		{
			$( '#carreras' ).html( respuesta );
		});
	});
 
 
	// clave para campus
	$( '#carreras' ).change( function()
 
	{
	var el_continente = $(this).val();
 
	// Lista de campus
		$.post( 'campus.php', { continente: el_continente} ).done( function( respuesta )
		{
			$( '#campus' ).html( respuesta );
		});
	});
 
})
....................................................................................................................................................................................
Acontinuacion el archivo que se llama archivo-receptor.php donde quiero hacer llegar los datos seleccionados del archivo index.php por medio del metodo post, o si hay otra manera mejor y mas facil se los agradeceria mucho.

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
<html lang="en">
<head>
   <meta charset='utf-8'/>
   <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1,maximun scale=1, minimun-scale=1">
   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
   <link href="https://fonts.googleapis.com/css?family=Questrial|Roboto" rel="stylesheet">
   <link rel="stylesheet" href="css/estilos archivo-receptor.css">
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
 
 
 
</head>
 
<body>
 
 
   Modalidades: <?php echo $_POST["modalidades"]; ?>
 
   </div>
 
   <div>
 
   Niveles: <?php echo $_POST["niveles"]; ?>
 
   </div>
 
   <div>
 
   Carreras: <?php echo $_POST["carreras"]; ?>
 
   </div>
 
   <div>
 
   Campus: <?php echo $_POST["campus"]; ?>
 
   </div>
 
 
</body>
</html>
.........................................................................................................................
Acontinuacion la base de datos donde esta las tablas 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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
-- phpMyAdmin SQL Dump
-- version 4.1.12
-- http://www.phpmyadmin.net
--
-- Servidor: 127.0.0.1
-- Tiempo de generación: 23-08-2016 a las 18:50:12
-- Versión del servidor: 5.6.16
-- Versión de PHP: 5.5.11
 
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
 
 
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
 
--
-- Base de datos: `CEUSS_web`
--
 
-- --------------------------------------------------------
 
--
-- Estructura de tabla para la tabla `MODALIDAD`
--
 
CREATE TABLE IF NOT EXISTS `modalidades` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nombre` varchar(30) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='tabla modalidades' AUTO_INCREMENT=6 ;
 
--
-- Volcado de datos para la tabla `MODALIDAD`
--
 
INSERT INTO `modalidades` (`id`, `nombre`) VALUES
(1, 'PRESENCIAL, SÁBADOS O DOMINGOS'),
(2, 'EN LINEA, DESDE CASA U OFICINA');
 
 
-- --------------------------------------------------------
 
--
-- Estructura de tabla para la tabla `NIVELES`
--
 
CREATE TABLE IF NOT EXISTS `niveles` (
  `id_nivel` int(11) NOT NULL AUTO_INCREMENT,
  `id_modalidades` int(11) NOT NULL,
  `nombre` varchar(30) NOT NULL,
  PRIMARY KEY (`id_nivel`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='Tabla de niveles' AUTO_INCREMENT=16 ;
 
--
-- Volcado de datos para la tabla `NIVELES`
--
 
INSERT INTO `niveles` (`id_nivel`, `id_modalidades`, `nombre`) VALUES
(1, 1, 'LICENCIATURAS'),
(2, 2, 'LICENCIATURAS'),
(3, 2, 'MAESTRÍAS EN EDUCACIÓN'),
(4, 2, 'MAESTRÍAS EN DERECHO'),
(5, 2, 'DOCTORADOS');
 
 
-- --------------------------------------------------------
 
--
-- Estructura de tabla para la tabla `CARRERAS`
--
 
CREATE TABLE IF NOT EXISTS `carreras` (
  `id_carrera` int(11) NOT NULL AUTO_INCREMENT,
  `id_nivel` int(11) NOT NULL,
  `nombre` varchar(100) NOT NULL,
  PRIMARY KEY (`id_carrera`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='Tabla de carreras' AUTO_INCREMENT=16 ;
 
--
-- Volcado de datos para la tabla `CARRERAS`
--
 
INSERT INTO `carreras` (`id_carrera`, `id_nivel`, `nombre`) VALUES
(1, 1, 'ADMINISTRACIÓN DE EMPRESAS'),
(2, 1, 'CONTADURÍA PÚBLICA'),
(3, 1, 'DERECHO'),
(4, 1, 'INGENIERÍA EN SISTEMAS COMPUTACIONALES'),
 
(5, 2, 'ADMINISTRACIÓN DE NEGOCIOS'),
(6, 2, 'ADMINISTRACIÓN PÚBLICA'),
(7, 2, 'CONTABILIDAD Y FINANZAS'),
(8, 2, 'DERECHO'),
(9, 2, 'PUBLICIDAD Y COMERCIALIZACIÓN'),
(10, 2, 'TRABAJO SOCIAL'),
(11, 2, 'INGENIERÍA PETROLERA'),
 
(12, 3, 'ESTRATEGIAS DIDÁCTICAS APLICADAS EN PREESCOLAR'),
(13, 3, 'ESTRATEGIAS DIDÁCTICAS APLICADAS EN PRIMARIA'),
(14, 3, 'ESTRATEGIAS DIDÁCTICAS APLICADAS EN SECUNDARIA'),
(15, 3, 'EDUCACIÓN MEDIA SUPERIOR'),
(16, 3, 'PEDAGOGÍA'),
 
(17, 4, 'PSICOLOGÍA CRIMINAL'),
(18, 4, 'DERECHO CIVIL CON FORMACIÓN EN JUICIOS ORALES'),
(19, 4, 'DERECHO PENAL CON FORMACIÓN EN SISTEMA ACUSATORIO ADVERSARIAL'),
(20, 4, 'DERECHO LABORAL CON FORMACIÓN EN MEDIOS ALTERNATIVOS'),
(21, 4, 'DERECHO CONSTITUCIONAL Y AMPARO CON FORMACIÓN EN DERECHOS HUMANOS'),
(22, 4, 'MEDIOS ALTERNATIVOS DE SOLUCIÓN DE CONFLICTOS'),
(23, 4, 'CRIMINALÍSTICA'),
(24, 4, 'DERECHO FISCAL'),
(25, 4, 'CIENCIAS FORENSES'),
(26, 4, 'DERECHO PROCESAL CIVIL'),
(27, 4, ' GESTIÓN GUBERNAMENTAL Y POLÍTICAS PÚBLICAS'),
 
(28, 5, 'PEDAGOGÍA'),
(29, 5, 'GESTIÓN Y POLÍTICA EDUCATIVA');
 
-- --------------------------------------------------------
CREATE TABLE IF NOT EXISTS `campus` (
  `id_campus` int(11) NOT NULL AUTO_INCREMENT,
  `id_carrera` int(11) NOT NULL,
  `nombre` varchar(30) NOT NULL,
  PRIMARY KEY (`id_campus`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='Tabla de campus' AUTO_INCREMENT=16 ;
 
--
-- Volcado de datos para la tabla `NIVELES`
--
 
INSERT INTO `campus` (`id_campus`, `id_carrera`, `nombre`) VALUES
(1, 1, 'TUTXLA GUTIÉRREZ, CHIAPAS'),
(2, 2, 'TUTXLA GUTIÉRREZ, CHIAPAS'),
(3, 3, 'TUTXLA GUTIÉRREZ, CHIAPAS'),
(4, 4, 'TUTXLA GUTIÉRREZ, CHIAPAS'),
 
(5, 5, 'UNIVERSIDAD VIRTUAL'),
(6, 6, 'UNIVERSIDAD VIRTUAL'),
(7, 7, 'UNIVERSIDAD VIRTUAL'),
(8, 8, 'UNIVERSIDAD VIRTUAL'),
(9, 9, 'UNIVERSIDAD VIRTUAL'),
(10, 10, 'UNIVERSIDAD VIRTUAL'),
(11, 11, 'UNIVERSIDAD VIRTUAL'),
 
(12, 12, 'UNIVERSIDAD VIRTUAL'),
(13, 13, 'UNIVERSIDAD VIRTUAL'),
(14, 14, 'UNIVERSIDAD VIRTUAL'),
(15, 15, 'UNIVERSIDAD VIRTUAL'),
(16, 16, 'UNIVERSIDAD VIRTUAL'),
 
(17, 17, 'UNIVERSIDAD VIRTUAL'),
(18, 18, 'UNIVERSIDAD VIRTUAL'),
(19, 19, 'UNIVERSIDAD VIRTUAL'),
(20, 20, 'UNIVERSIDAD VIRTUAL'),
(21, 21, 'UNIVERSIDAD VIRTUAL'),
(22, 22, 'UNIVERSIDAD VIRTUAL'),
(23, 23, 'UNIVERSIDAD VIRTUAL'),
(24, 24, 'UNIVERSIDAD VIRTUAL'),
(25, 25, 'UNIVERSIDAD VIRTUAL'),
(26, 26, 'UNIVERSIDAD VIRTUAL'),
(27, 27, 'UNIVERSIDAD VIRTUAL'),
 
(28, 28, 'UNIVERSIDAD VIRTUAL'),
(29, 29, 'UNIVERSIDAD VIRTUAL');
 
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;



ESPERO TENER Y CONTAR CON SUS AYUDA, DE ANTEMANO GRACIAS. ESPERO RESPUESTA.
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
sin imagen de perfil

recoger datos de un select dinamico y pasarlo a otra pagina por medio de post

Publicado por Lrz (26 intervenciones) el 08/03/2017 01:02:18
Hola ,
Antes que nada creo que subiste mas de lo esencial , pero aun asi creo que entiendo tu problema ya que me paso de la misma manera con este metodo , mira yo hago lo siguiente

este seria tu codigo de cada select

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// yo utilizo esta conexion en tu caso solo haces el llamado de tu archivo de conexion 
<?php
	$mysqli = new mysqli('localhost', 'usuario', 'password', 'namebasededatos');
	if($mysqli->connect_error){
		die('Error en la conexion' . $mysqli->connect_error);
	}
?>
 
 
<select id="campo-select" name="campo-select"> // id y name , de tu select (recomendable tener el mismo nombre)
					<option value="">Ingresar campo</option>   //  es mejor dejar el valor vacio "" ya que es el valor por defecto 
					<?php
                             $query = $mysqli -> query ("SELECT campo_bd FROM tabla"); // Query que llama los valores de tu tabla
 //  inicias php para llamar los datos de tu base o predefinirlos 
							 while ($valores = mysqli_fetch_array($query)) {
							echo ('<option value="'.$valores[valor_bd].'">'.$valores[valor_bd].'</option>');
							}                                     // valor_bd , es el campo de tu pase de datos 
					?>
                        </select>


de esta manera Generaras cada uno de los select


ahora dentro del archivo donde los quieres llamar , es de la siguiente manera

1
$campo = $_POST["campo-select"];  //como puedes ver dentro del post esta el nombre del select

en dado caso que lo utilices dentro de un query

1
2
3
4
$sql4 = "SELECT campo FROM tabla  WHERE servicio = '".$campo."'"; // sql4 es el nombre de la variable que se crea para el query
$result4 = $mysqli->query($sql4);                                 // creas una variable que recibe los datos conforme a tu conexion 
$extraido4= mysqli_fetch_array($result4);              //array asociativo que recibe los datos
$servicio= $extraido4['campo'];
// esta variable es por si acaso necesitas utilizar ese dato en alguna impresion o algo parecido si lo que necesitas es extraer mas campos con respecto al query se los agregas


Espero te sirva 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

recoger datos de un select dinamico y pasarlo a otra pagina por medio de post

Publicado por miguel angel (6 intervenciones) el 30/03/2017 00:08:51
gracias, x la ayuda fue de mucho valor tu informacion, 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