Consulta base de datos

Hola, que tal,
para hacer una consulta tomando como parámetros el valor de un input que debo hacer
$resump=pg_query($db, "select * from datos where fecha='2009-08-14' and turno='2'")or die("Error en la consulta SQL");
$registros= pg_num_rows($resump);
<td><input type="text" size="20"  name="fecha" id="fecha" value=""/></td>
<td><input type="text" size="20" name="turno" id="turno"/></td>
intenté
if ($_POST)
{
$var=$_POST['fecha'];
}
y
$var=
<script>document.form.turno.value </script>
la idea es que la consulta sea:$resump=pg_query($db, "select * from datos where fecha='$fecha' and turno='$turno'")or die("Error en la consulta SQL");
Saludos,
gracias

1 Respuesta

Respuesta
1
Verifica que el form tenga la propieda method="post"
<form action"tuPagina.php" method="post">
</form>
También recuerda que los inputs que estén deshabilitados no son enviadoas en el formulario
Fíjate en el código, claro está consulta la hace pues le estoy dando el valor, pero cuando tomo el valor del input con una variable no ejecuta la consulta
if ($_POST)
{
$fecha=$_POST['fecha'];
$turno=$_POST['turno'];}
o
$fecha=
<script>document.form.fecha.value </script>
$turno=
<script>document.form.turno.value </script>
este el codigo que tengo y lo anterior son las variables conl as quen o funciona
<?php
$db = pg_connect("host=127.0.0.1 dbname=SIIO user=postgres
password=abc123") or
die ("Fallo en el establecimiento de la conexión");
$resump=pg_query($db, "select * from tab_pri_act_pers_vaciado where fecha_act_pers='2009-08-14' and codigo_turno='1'")or die("Error en la consulta SQL");
$registros= pg_num_rows($resump);
for ($i=0;$i<$registros;$i++)
{
$row_cli = pg_fetch_array ($resump,$i );
{
  $dia[0] = ''.$row_cli["codigo_proyecto"].'';
  $dia[1] = ''.$row_cli["codigo_contrato"].'';
  $dia[2] = ''.$row_cli["codigo_estructura"].'';
  $dia[3] = ''.$row_cli["codigo_act_pers"].'';
  $dia[4] = ''.$row_cli["codigo_turno"].'';
}
}
?>
<html>
<head>
<script type="text/javascript">
function buscar(){
document.form.proyecto.value = "<?=$dia[0]?>";
document.form.estructura.value = "<?=$dia[1]?>";
document.form.contrato.value = "<?=$dia[2]?>";
document.form.num_informe.value = "<?=$dia[3]?>";
document.form.turno.value = "<?=$dia[4]?>";
}
</script>
</head>
<body>
<form id="form" name="form" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" >
<table id="izq" align="center" cellspacing="1" cellpadding="0">
<tr>
<td><b>Informe:</b></td>
</tr>
<tr>
<td width="39"><img src="../diseno/icons/32/Search.png" width="32" height="32" onclick="buscar()"/></td>
<td><input type="text" size="20"  name="fecha" id="fecha"/></td>
<td><input type="text" size="20" name="proyecto" id="proyecto"/></td>
<td><input type="text" size="20" name="estructura" id="estructura"/></td>
<td><input type="text" size="20" name="contrato" id="contrato"/> </td>
<td><input type="text" size="20"  name="num_informe" id="num_informe"/></td>
<td><input type="text" size="20" name="turno" id="turno"/></td>
</tr>
</table>
</form>
</body>
</html>
$fecha=
<script>document.form.fecha.value </script>
Esto nunca te funcionara ya que PHP
$fecha =    <- Se ejecuta en el servidor
Y Javascript
<script>document.form.fecha.value </script>
<- Se ejecuta en el cliente
Y no puedes asignarle un valor a una variable PHP con codigo javascript.
Debes obtener el valor asi como lo estas haciendo:
$fecha=$_POST['fecha'];
$turno=$_POST['turno'];}
Si entiendo, solo pensé esa manera, pero cuando declaro las variables $fecha, $turno
me sale este error
Warning: pg_query() [function.pg-query]: Query failed: ERROR: la sintaxis de entrada no es válida para tipo date: «» in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\paginas\otra.php on line 11
Error en la consulta SQL.
¿Entonces en la función javascript incluyo código php para que se ejecute la consulta solo cuando presione buscar?
Pero por lo que puedo ver es la sintaxis la que no estas colocando como es
Osea si en tu BD para guardar una fecha el formato es YYYY-MM-DD entonces tienes que pasarle una variable con ese formato.
Verifica que la variable que estas pasando tenga el formato requerido por tu BD.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas