PHP - problemas al comparar una variable con registro de DB

   
Vista:
Imágen de perfil de Gonzalo

problemas al comparar una variable con registro de DB

Publicado por Gonzalo (2 intervenciones) el 04/01/2014 04:45:41
Hola amigos que tal,

El inconveniente es que al enviar datos con post a la misma pagina para verificar que funcione bien en una etiqueta select selecciono un registro extraido antes desde la DB , es decir lo recorro con un while y luego un condicional IF donde comparo el codigo del registro con una variable en la que se guarda ese codigo, esto es para que quede seleccionado el select y no volver a tener que seleccionarlo.

el codigo es el sig, en la etiqueta select llamada "salagrados" es donde realizo el IF.

el problema es que no me toma la variable ($sg) y si coloco un numero entero si entra al IF. Que puede llegar a ser? muchas gracias de antemano. Les comento que utilizo aptana y db mysql con servidor apache


**********************************************+

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
<!DOCTYPE html>
<html>
	<head>
		<title>Realizar Encargue:</title>
	</head>
	<body>
		<?php include 'encabezado.php';?>
 
		<?php
			$turno = $_POST['turnos'];
			$sg = $_POST['salagrado'];
 
			echo "turno", $turno, "<br>";
 
			echo "salagrado:", $sg;
		?>
		<form method="post" action="">
 
		Codigo de Foto:
		<input type="text" name="codfoto" required/>
		<br>
		<br>
		Cantidad:
		<input type="number" name="cantidad" required/>
		<br>
		<br>
		Sala o Grado:
		<select name="salagrado">
			<?php include 'conexion.php'; ?>
 
			<?php $regsg = mysqli_query($con, "select * from SalaGrados") or die(mysqli_error($con)); ?>
			<?php while ($reg1=mysqli_fetch_array($regsg)) { ?>
			<?php
			if($reg1['Cod_SGrado'] == $sg) { ?>
 
				 <option selected="selected" value=" <?php echo $reg1['Cod_SGrado']; ?> "> <?php echo $reg1['Descripcion']; ?> </option>
 
		<?php } else { ?>
				<option value=" <?php echo $reg1['Cod_SGrado']; ?> "> <?php echo $reg1['Descripcion']; ?> </option>
 
			<?php } ?>
			<?php } ?>
			<?php mysqli_close($con) ?>
		</select>
		<br>
		<br>
		Turno:
		<select name="turnos">
			<option value="Mañana" <?php if ($turno=="Mañana") {echo "selected";}?>>Mañana</option>
			<option value="Tarde" <?php if ($turno=="Tarde") {echo "selected";}?>>Tarde</option>
			<option value="Noche" <?php if ($turno=="Noche") {echo "selected";}?>>Noche</option>
		</select>
		<br>
		<br>
		Medida:
		<?php
			include 'conexion.php';
			$regmed = mysqli_query($con, "select * from Medidas") or die(mysqli_error($con));
 
			echo "<select name='medida'>";
			while ($reg2=mysqli_fetch_array($regmed)) {
				 echo "<option value='".$reg2['Cod_Medida']."'>".$reg2['Descripcion']."</option>";
			}
			echo "</select>";
			mysqli_close($con);
			?>
		<br>
		<br>
		Establecimientos:
		<?php
			include 'conexion.php';
			$regestabl = mysqli_query($con, "select * from Establecimientos") or die(mysqli_error($con));
 
			echo "<select name='establecimientos'>";
			while ($reg3=mysqli_fetch_array($regestabl)) {
				 echo "<option value='".$reg3['Cod_Establec']."' selected>".$reg3['Descripcion']."</option>";
			}
			echo "</select>";
			mysqli_close($con);
		?>
		<br>
		<br>
		<input type="submit" value="confirmar" />
		<input type="button" name="Cancelar" value="Cancelar" onclick="listaencargues.php" />
	</form>
	</body>
</html>

***********************************************************************
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

problemas al comparar una variable con registro de DB

Publicado por Fernando (80 intervenciones) el 04/01/2014 19:41:39
Hola gonzalo, la verdad es que no entiendo bien el funcionamiento de tu formulario. Es muy raro.

Los echo que haces en la primera parte, sin el resto del codigo, imprimen algo al cargar por primera vez la pagina? de donde pretendes sacar esos valores sin haber hecho un envio por post? esto deberia tirar un warning aunque sea.

1
2
3
4
5
6
<?php
$turno = $_POST['turnos'];
$sg = $_POST['salagrado'];
echo "turno", $turno, "<br>";
echo "salagrado:", $sg;
?>

Y por supuesto, si no hay ningun post para levantar, el if va a comparar con nada.... osea, tendrias que tener otro warning ahi tambien.

1
2
3
4
5
6
7
<? if(isset($_POST['salagrado'])) {
$sg = $_POST['salagrado']);
}
else{
$sg = "no da true, _POST['salagrado']) no existe";
}
echo $sg;

Si estoy equivocado, por favor decinos de donde levantas los POST y vemos
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
Imágen de perfil de Gonzalo

problemas al comparar una variable con registro de DB

Publicado por Gonzalo (2 intervenciones) el 05/01/2014 01:56:12
Gracias amigos,

ya lo he resuelto simplemente con agregar int en el if((int)$reg1['Cod_SGrado'] == $sg)

ya que realiza la conversion. Muchas gracias por responder, 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
Imágen de perfil de xve

problemas al comparar una variable con registro de DB

Publicado por xve (5516 intervenciones) el 05/01/2014 18:54:28
Gracias por comentarlo Gonzalo!!!
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