PHP - No trae el valor de variable

   
Vista:

No trae el valor de variable

Publicado por aldo (824 intervenciones) el 12/10/2015 02:31:43
Que tal a todos tengo una etiqueta select en la cual coloqué este codigo:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<tr>
     <td align='right'>Especialidad:</td>
     <td><select name="especial"><option value="0">[Seleccione la Especialidad]</option>
 
<?php
//*** crear la tabla especialidad
$especial = @pg_query($connect,$especialidad);
while($selectespec = @pg_fetch_array($especial))
          {
			$codigo = $selectespec['codigo'];
            $descrip = $selectespec['descripcion'];
            echo "<OPTION VALUE='$codigo'>$descrip</OPTION>";
          }
?>
       </select></td></tr>

y la idea es pasar el name="especial" por post, pero no la esta pasando por este codigo:


1
2
3
4
5
6
$connect = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=por/w");
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
$especial = $_POST["especial"];
$contra   = $_POST["contrasena"];
$row= "SELECT * FROM especialidad WHERE descripcion = '$especial' AND acceso = '$contra'";
echo $row;
la variable $especial llega vacia.
Asi queda la busqueda del query:

1
SELECT * FROM especialidad WHERE descripcion = '' AND acceso = '1234'

ya he verificado todas las opciones y no veo una solucion, si alguien pudiera ayudarme.
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 xve

No trae el valor de variable

Publicado por xve (5520 intervenciones) el 12/10/2015 07:45:50
Hola Aldo, por lo que comentas, parece que el problema lo tienes cuando se rellena el <select>... has comprobado que rellene los valores correctamente en el formulario?
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

No trae el valor de variable

Publicado por aldo (824 intervenciones) el 13/10/2015 03:25:41
Hola Xve, si en realidad si lo rellena; este es el codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<tr>
     <td align='right'>Especialidad:</td>
     <td><select name="especial"><option value="0">[Seleccione la Especialidad]</option>
 
<?php
//*** crear la tabla especialidad
$especial = @pg_query($connect,$especialidad);
while($selectespec = @pg_fetch_array($especial))
          {
			$codigo = $selectespec['id_especialidad'];
            $descrip = $selectespec['descripcion'];
            echo "<OPTION VALUE='$codigo'>$descrip</OPTION>";
          }
?>
       </select></td></tr>

la impresion del query arroja este resultado:

Resource id #3
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 xve

No trae el valor de variable

Publicado por xve (5520 intervenciones) el 13/10/2015 08:44:07
Hola Aldo, si, si, el código php ya nos lo has mostrado, pero eso no quiere decir que ponga los valores, la manera correcta de revisarlo es viendo el código fuente de la pagina HTML.

De todos modos, ya veo que en tu siguiente mensaje que indicas que llega el valor 1.
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

No trae el valor de variable

Publicado por aldo (824 intervenciones) el 13/10/2015 03:52:39
Xve te comento he cambiado el nombre de la variable:
1
2
$especial = $_POST["especialid"];
echo $especial;
imprime el nro 1. Hay un problema que no logro ver.
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 xve

No trae el valor de variable

Publicado por xve (5520 intervenciones) el 13/10/2015 08:45:29
Si la variable $especial tiene el valor 1, el $row tendría que mostrártelo... prueba así:
1
2
3
4
$especial = $_POST["especialid"];
$contra   = $_POST["contrasena"];
$row= "SELECT * FROM especialidad WHERE descripcion = '".$especial."' AND acceso = '".$contra."'";
echo $row

Ahora te tendría que mostrar el contenido correctamente...

Coméntanos, ok?
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

No trae el valor de variable

Publicado por aldo (824 intervenciones) el 13/10/2015 14:24:23
Hola Xve, bueno probé tu codigo y esto es lo que trae:

1
SELECT * FROM especialidad WHERE descripcion = '1' AND acceso = '1234'
,

pero no entiendo ya que debiera traer la descripcion de la especialidad, pero parece que esta trayendo el campo id_especialidad de dicha tabla
esta es la tabla:
1
2
3
4
id_especialidad serial NOT NULL,
  descripcion character varying(20),
  acceso character varying(20),
  CONSTRAINT especialidad_pkey PRIMARY KEY (id_especialidad)
es una locura, ya que he hecho varios selects donde se interactua con tablas para descripciones y funcionan.
Por otra parte la idea es crear un acceso privado para que el especialista pueda entrar filtrando por una contraseña a su especialidad.
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

No trae el valor de variable

Publicado por Carlos Mario Ramirez Galvis (18 intervenciones) el 13/10/2015 14:47:43
Hola según observo tu código estas trasladando el valor de la variable código por POST. Si lo que quieres enviar es la descripción invierte el orden de las variables en el select.

Espero poder ayudar.
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

No trae el valor de variable

Publicado por aldo (824 intervenciones) el 13/10/2015 20:42:08
Por POST estoy enviando el name="especialid" de esta forma:
1
2
3
$especial = $_POST["especialid"];
y la contraseña:
$contra   = $_POST["contrasena"];

y en el Query (un ejemplo)
1
SELECT * FROM especialidad WHERE descripcion = 'cardiologia' AND acceso = '1234'
donde 'cardiologia' es la descripcion de la especialidad y '1234' es la contraseña.
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 xve

No trae el valor de variable

Publicado por xve (5520 intervenciones) el 13/10/2015 15:11:47
Hola Aldo, viendo la estructura de tu tabla, creo que el where esta mal...

Estas comparando la especialidad con la descripción, es eso correcto?? alguna descripción tiene como valor único el numero 1???

Puede ser que tengas que comparar la especialidad con el campo id_especialidad??
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

No trae el valor de variable

Publicado por aldo (824 intervenciones) el 13/10/2015 20:46:41
Es decir en sí la descripcion es el campo donde esta la especialidad; por ejemplo cardiologia y la estoy comparando con la que viene del name="especialid" del primer formulario, y con la contraseña igualmente el name="contrasena" con el campo acceso de la tabla.
Mientras tanto seguire buscando la solucion.
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

No trae el valor de variable

Publicado por aldo (824 intervenciones) el 13/10/2015 21:39:33
Esta solucionado.
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

No trae el valor de variable

Publicado por aldo (824 intervenciones) el 14/10/2015 00:53:40
ya resolví el problema.
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 xve

No trae el valor de variable

Publicado por xve (5520 intervenciones) el 14/10/2015 07:59:29
Hola Aldo, podrías mostrarme como lo has solucionado o donde estaba el problema?
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

No trae el valor de variable

Publicado por aldo (824 intervenciones) el 15/10/2015 02:27:24
Bueno el problema estaba aqui en la variable echo "<OPTION VALUE='$codigo'>$descrip</OPTION>";:
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
<tr>
alli va '$descrip' y no '$codigo'.
les agradezco tambien su ayuda, a veces hay cosas que no percibimos con el codigo.
 
     <td align='right'>Especialidad:</td>
 
     <td><select name="especial"><option value="0">[Seleccione la Especialidad]</option>
 
 
 
<?php
 
//*** crear la tabla especialidad
 
$especial = @pg_query($connect,$especialidad);
 
while($selectespec = @pg_fetch_array($especial))
 
          {
 
			$codigo = $selectespec['id_especialidad'];
 
            $descrip = $selectespec['descripcion'];
 
            echo "<OPTION VALUE='$codigo'>$descrip</OPTION>";
 
          }
 
?>
 
       </select></td></tr>
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