Foros del Web » Programando para Internet » PHP »

No puedo guardar texto y numeros

Estas en el tema de No puedo guardar texto y numeros en el foro de PHP en Foros del Web. Hola amigos, fijense que sigo trabajando con el sistema de captura de calificaciones. El sistema trabaja muy bien con numeros, osea puedes ingresar la calificacion ...
  #1 (permalink)  
Antiguo 06/09/2006, 10:07
 
Fecha de Ingreso: mayo-2005
Ubicación: Cancun
Mensajes: 35
Antigüedad: 19 años
Puntos: 0
Exclamación No puedo guardar texto y numeros

Hola amigos, fijense que sigo trabajando con el sistema de captura de calificaciones. El sistema trabaja muy bien con numeros, osea puedes ingresar la calificacion de 0 a 10 sin problema pero ahora resulta que se necesita ingresar un NP para los que no han presentado. Lo he intentado pero no me quiere guardar el valor NP, acontinuacion les pongo el codigo del php que se encarga de recibir los valores de las calificaciones y actualiza la base de datos.

::::::::::::::::::::::::::: PHP ::::::::::::::::::::::::::::
<?
//recojo el id del maestro y la clave de la materia
$idmaes=$_GET['ma'];
$cvemat=$_GET['cm'];

include("db_access/included.php");
$link=Conectarse();

for ($x=0; $x < count($HTTP_POST_VARS['ids']) ; $x++)
{
$id = $HTTP_POST_VARS['ids'][$x];
$cali = $HTTP_POST_VARS['calificaciones'][$x];
$faltas =$HTTP_POST_VARS['faltas'][$x];
$faltas_justi =$HTTP_POST_VARS['faltas_justificadas'][$x];
$faltas_to = $faltas - $faltas_justi;
//sentencia que actualiza la DB
$sql="UPDATE alumnos SET calificacion=$cali,faltas=$faltas,faltas_justi=$fa ltas_justi,faltas_to=$faltas_to Where ID=$id";
mysql_query($sql,$link);
}
mysql_query($sql);
mysql_close();
?>
<?
echo ("<script LANGUAGE=\"JavaScript\">
var pagina=\"evaluado.php?mt=$idmaes&cm=$cvemat\"
function redireccionar()
{
location.href=pagina
}
setTimeout (\"redireccionar()\", 1);
</script>
")
?>
  #2 (permalink)  
Antiguo 06/09/2006, 10:22
 
Fecha de Ingreso: febrero-2004
Ubicación: Resistencia - Argentina
Mensajes: 299
Antigüedad: 20 años, 2 meses
Puntos: 0
si el campo es texto o varchar proba de encerrar el campo en comilas simples, algo asi:
calificacion='$cali'
  #3 (permalink)  
Antiguo 06/09/2006, 10:34
 
Fecha de Ingreso: mayo-2005
Ubicación: Cancun
Mensajes: 35
Antigüedad: 19 años
Puntos: 0
De acuerdo Wuau

Mil gracias Roly, no puedo creer que haya sido algo tan simple. En verdad mil gracias por tu ayuda..

Para los que lleguen a vere este topico el codigo quedo de la siguente manera:

::::::::PHP::::::::::::

<?
$idmaes=$_GET['ma'];
$cvemat=$_GET['cm'];

include("db_access/included.php");
$link=Conectarse();

for ($x=0; $x < count($HTTP_POST_VARS['ids']) ; $x++)
{
$id = $HTTP_POST_VARS['ids'][$x];
$cali = $HTTP_POST_VARS['calificaciones'][$x];
$faltas =$HTTP_POST_VARS['faltas'][$x];
$faltas_justi =$HTTP_POST_VARS['faltas_justificadas'][$x];
$faltas_to = $faltas - $faltas_justi;
$sql="UPDATE alumnos SET calificacion='$cali',faltas=$faltas,faltas_justi=$faltas_justi,faltas_t o=$faltas_to Where ID=$id";
mysql_query($sql,$link);
}
mysql_query($sql);
mysql_close();
?>
<?
echo ("<script LANGUAGE=\"JavaScript\">
var pagina=\"evaluado.php?mt=$idmaes&cm=$cvemat\"
function redireccionar()
{
location.href=pagina
}
setTimeout (\"redireccionar()\", 1);
</script>
")
?>
  #4 (permalink)  
Antiguo 06/09/2006, 10:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Deberías usar siempre "comillas" para ese caso, dá igual si es un texto (dato alfanumérico) o numérico sólo .. (igual funciona y te olvidas del problema para siempre).

Código PHP:
$sql="UPDATE alumnos SET calificacion='".$cali."',faltas='".$faltas."',faltas_justi='".$faltas_justi."',faltas_to='".$faltas_to."' Where ID='".$id."'"
Tampoco está de más usar "mysql_real_escape_string()" para evitar problemas de SQL (inyección) y similares:

Código PHP:
$sql="UPDATE alumnos SET calificacion='".mysql_real_escape_string($cali)."',faltas='".$faltas."',faltas_justi='".$faltas_justi."',faltas_to='".$faltas_to."' Where ID='".$id."'"
(así con todos los campos y variabels que toquen una consulta SQL).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 04:02.