Foros del Web » Programando para Internet » PHP »

Errores: Script Mostrar Registros de Mi BD de acuerdo a un Campo

Estas en el tema de Errores: Script Mostrar Registros de Mi BD de acuerdo a un Campo en el foro de PHP en Foros del Web. Hola ke tal, tengo algunos problemillas con un script para ke me muestre los datos de mi tabla de acuerdo a un solo campo de ...
  #1 (permalink)  
Antiguo 08/12/2004, 14:30
 
Fecha de Ingreso: septiembre-2004
Ubicación: Hermosillo, Sonora, Mexico
Mensajes: 28
Antigüedad: 20 años, 2 meses
Puntos: 0
Errores: Script Mostrar Registros de Mi BD de acuerdo a un Campo

Hola ke tal, tengo algunos problemillas con un script para ke me muestre los datos de mi tabla de acuerdo a un solo campo de la tabla, soy nuevo en esto y todavia no comprendo completamente los scripts asi ke por eso puse los scripts desde el primero, (formulario con el ke guardo los datos en mi BD)

Para empezar este es mi script de formulario


<?include ("seguridad.php");?>
<html>
<head>
<title>Sistema De Control de Servicios Computacionales COBACH Sonora</title>
</head>
<body>
<form action="new_order.php"method="POST">
<table align="center" width="220" cellspacing="2" cellpadding="6" border="5">
<tr>
<td align="center">No. de Inventario : </td>
<td><input type="Text" name="num_inventario" size="20" maxlength="20"></td>
</tr>
<tr>
<td align="center">Descripcion : </td>
<td><input type="Text" name="descripcion" size="20" maxlength="50"></td>
</tr>
<tr>
<td align="center">No. de Serie : </td>
<td><input type="Text" name="num_serie" size="20" maxlength="20"></td>
</tr>
<tr>
<td align="center">Dependencia : </td>
<td><input type="Text" name="dependencia" size="20" maxlength="50"></td>
</tr>
<tr>
<td align="center">Fecha de ingreso : </td>
<td><input type="date" name="fecha_in" size="2" maxlength="3"></td>
</tr>
<tr>
<td colspan="2" align="center"><INPUT TYPE=CHECKBOX NAME= chek ON> Nueva Orden
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="enviar" value="Agregar Usuario">
</td>
</tr>
</table>
</form>
<br>
<h3><CENTER><a href="salir.php">Salir</a> <a href="aplicacion.php">Volver</a></CENTER></h3>
</body>
</html>

Este es mi script con el ke se almacenan en mi BD los datos ingresados en el anterior formulario

<?
$servidor ="localhost";
$dbusuario ="root";
$clave ="proyecto0";
$basedatos ="systemdb";

$num_inventario=$_POST['num_inventario'];
$descripcion=$_POST['descripcion'];
$num_serie=$_POST['num_serie'];
$dependencia=$_POST['dependencia'];
$fecha_in=$_POST['fecha_in'];
$chek=$_POST['chek'];

$conexion = mysql_connect($servidor, $dbusuario, $clave) or die(mysql_error());
mysql_db_query("$basedatos";"INSERT INTO maestra(id, no_inventario, descripcion, no_serie, dependencia, fecha_ingreso, chek)
values('','$num_inventario','$descripcion','$num_s erie','$dependencia','$fecha_in','$chek') or die(mysql_error());
header ("Location: usuario_reg.php");
?>


En el anterior script la variable "chek" es de tipo char y esta representado por un chekbox en el formulario ke cuando esta markado con una palomita me almacena "on" en mi base de datos

En otra pagina de mi web hay un boton kon el nombre de "nuevas Ordenes"
Al darle click en ese boton, kiero ke me desplegue en una nueva página todas los registros ke tengan "on" en el campo chek de mi tabla

Esto lo hago con este script, pero me muestra varios errores


<?
$servidor ="localhost";
$dbusuario ="root";
$clave ="proyecto0";
$basedatos ="systemdb";

$id=$_POST['id'];
$no_inventario=$_POST['no_inventario'];
$descripcion=$_POST['descripcion'];
$no_serie=$_POST['no_serie'];
$dependencia=$_POST['dependencia'];
$fecha_ingreso=$_POST['fecha_ingreso'];

$conexion = mysql_connect($servidor, $dbusuario, $clave) or die(mysql_error());
$result=mysql_db_query("$basedatos";"SELECT * FROM maestra WHERE (chek == 'on')");

?>
<table align="rigth">
<tr>
<th>ID</th>
<th>No. Inventario</th>
<th>Descripcion</th>
<th>No. de Serie</th>
<th>Dependencia</th>
<th>Fecha Ingreso</th>

while ($row=mysql_fetch_array($result))
{
echo '<tr><td>'.$row["id"].'</td>';
echo '<td>'.$row["no_inventario"].'</td>';
echo '<td>'.$row["descripcion"].'</td>';
echo '<td>'.$row["no_serie"].'</td>';
echo '<td>'.$row["dependencia"].'</td>';
echo '<td>'.$row["fecha_ingreso"].'</td></tr>';
}

mysql_free_result($result)
?>
</table>
</body>
</html>
Podrias ayudarme y decirme donde estan mis errores, imagino ke son varios, y necesito urgentemente de tu ayuda!! de verdad muchas gracias!!!
__________________
:aplauso: :aplauso: :aplauso: :aplauso: :aplauso: :aplauso: :aplauso:

Chino4Loves: agradezco de verdad tu ayuda

:arriba: :arriba: :arriba: :arriba: :arriba: :arriba: :arriba: :arriba:
  #2 (permalink)  
Antiguo 09/12/2004, 06:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
En general . .de HTML .. debes respetar la sintax de este .. SI hay comillas .. respetalas:

Esto no sería correcto:
<INPUT TYPE=CHECKBOX NAME= chek ON>

En tal caso:
<INPUT TYPE="CHECKBOX" NAME="chek" value="ON">

los Checkbox tienen su "value" al cual definir un valor .. El valor del un checkbox seleccionado (marcado) sólo pasa a tu script PHP de proceso cuando lo seleccionas .. si no lo seleccionas para PHP la variable (en tu caso de nombre "chek") no quedará definida en tu script PHP .. así que por ejemplo para tu caso si necesitas validar esa variable o dar un valor "ON/OFF" segú si se seleccionó esta te puedes basar en la existencia de esta:

Código PHP:
if (isset($_POST['chek'])){
  
$tu_chek="ON";
} else {
  
$tu_chek="OFF";

Si obtienes errores .. y haces una pregunta .. deberías poner dichos errores textuales .. no hagas que adivinemos que puede estar mal . .pues, el error (su "frase") es crucial para identificar el problema rápidamente y que .. tu mismo cuando tengas algo más de experiencia programando PHP ya los irás identificando y solventando tu mismo.

En principio .. se observa:
$result=mysql_db_query("$basedatos";"SELECT * FROM maestra WHERE (chek == 'on')");

eso no es correcto en sintax SQL de Mysql .. en Mysql el "igualador" es un sólo = .. y no es necesario paréntesis.
Código PHP:
$result=mysql_db_query("$basedatos","SELECT * FROM maestra WHERE chek='ON'"); 
La sintax de la función mysql_db_query() tampoco es correcta .. además que no deberías usar esa función sino: mysql_select_db() + mysql_query() .. Repasalo en: www.php.net/mysql

También es necesario que te aclares con el valor que registras para ese campo y cual lees .. pues en un lado lo haces en mayusculas y en tu BD "parece" que registras minúsculas?. Si no son exactamente iguales tampoco te funcionará tu consulta SQL.

Recuerda que si bien estás programando en "PHP" .. también estás usando SQL (Lenguaje estructurado de consultas) de tu BD .. ese lenguaje tiene sus própias reglas/sintax y demás teoría .. También debes estudiar al respecto y sobre todo conocer que PHP tan sólo te pone a tu disposición funciones para "comunicarte" con tu BD .. ejecutar consultas y ver lo que resulte. Pero, en el fondo "qué" datos le "pides" a tu BD lo haces con el lenguaje SQL própio de tu BD (en tu caso Mysql) .. En sitios como www.mysql-hispano.com tienes abundantes tutoriales al respecto para que veas.

Un saludo,

Última edición por Cluster; 09/12/2004 a las 06:37
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:06.