Foros del Web » Programando para Internet » PHP »

Validar Campos

Estas en el tema de Validar Campos en el foro de PHP en Foros del Web. Hola a todos, espero que esta vez me puedan ayudar, estoy haciendo un ingreso de datos, entre los cuales hay un campo de porcentaje y ...
  #1 (permalink)  
Antiguo 23/03/2009, 10:49
 
Fecha de Ingreso: marzo-2009
Mensajes: 24
Antigüedad: 15 años, 8 meses
Puntos: 0
Validar Campos

Hola a todos, espero que esta vez me puedan ayudar, estoy haciendo un ingreso de datos, entre los cuales hay un campo de porcentaje y quisiera poder validar que la suma de los porcentajes que se ingresen no supere el 100%, adjunto el codigo del ingreso que lo hago por medio de un recordset en dreamweaver, espero me puedan ayudar, pues he puesto este tema varias veces, gracias de antemano.

Código PHP:
<?php
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  if (
PHP_VERSION 6) {
    
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}

$editFormAction $_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset(
$_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  
$insertSQL sprintf("INSERT INTO indicador (cod_indicador, porcentaje, descripcion, cod_logro) VALUES (%s, %s, %s, %s)",
                       
GetSQLValueString($_POST['cod_indicador'], "int"),
                       
GetSQLValueString($_POST['porcentaje'], "text"),
                       
GetSQLValueString($_POST['descripcion'], "text"),
                       
GetSQLValueString($_POST['cod_logro'], "int"));

  
mysql_select_db($database_notas$notas);
  if (
$Result1 mysql_query($insertSQL$notas)){; 
  echo 
"Registro Insertado Satisfactoriamente <br>";
 }else{
        echo 
"El Indicador Ya Se Encuentra Ingresado En El Sistema <br>";
  }
}

$maxRows_registro9 10;
$pageNum_registro9 0;
if (isset(
$_GET['pageNum_registro9'])) {
  
$pageNum_registro9 $_GET['pageNum_registro9'];
}
$startRow_registro9 $pageNum_registro9 $maxRows_registro9;

mysql_select_db($database_notas$notas);
$query_registro9 "SELECT cod_logro, porcentaje, descripcion FROM logro";
$query_limit_registro9 sprintf("%s LIMIT %d, %d"$query_registro9$startRow_registro9$maxRows_registro9);
$registro9 mysql_query($query_limit_registro9$notas) or die(mysql_error());
$row_registro9 mysql_fetch_assoc($registro9);

if (isset(
$_GET['totalRows_registro9'])) {
  
$totalRows_registro9 $_GET['totalRows_registro9'];
} else {
  
$all_registro9 mysql_query($query_registro9);
  
$totalRows_registro9 mysql_num_rows($all_registro9);
}
$totalPages_registro9 ceil($totalRows_registro9/$maxRows_registro9)-1;

mysql_select_db($database_notas$notas);
$query_Recordset2 "SELECT * FROM indicador";
$Recordset2 mysql_query($query_Recordset2$notas) or die(mysql_error());
$row_Recordset2 mysql_fetch_assoc($Recordset2);
$totalRows_Recordset2 mysql_num_rows($Recordset2);

?>
  #2 (permalink)  
Antiguo 23/03/2009, 10:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Validar Campos

pues, necesitas usar la lógica... no mas!

Código PHP:
$a = isset($_POST['a'])? $_POST['a']: 0;
$b = isset($_POST['b'])? $_POST['b']: 0;
$c = isset($_POST['c'])? $_POST['c']: 0;

if ((
$a $b $c) > 100)
{
  
// ...

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/03/2009, 10:58
 
Fecha de Ingreso: marzo-2009
Mensajes: 24
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Validar Campos

Bueno, la logica no esta mal, pero como se hace si no sabes cuantos porcentajes se van ingresar?
  #4 (permalink)  
Antiguo 23/03/2009, 11:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Validar Campos

de preferencia se recomienda usar arrays, como name de los <input name="foo[]"/>

de este modo, $_POST['foo'] es un array ... y por ende, array_sum() es todo lo que necesitas....


suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 23/03/2009, 11:33
 
Fecha de Ingreso: marzo-2009
Mensajes: 24
Antigüedad: 15 años, 8 meses
Puntos: 0
Otra pregunta, esto lo puedo hacer en el mismo script o debo hacer otro? si lo puedo hacer en este, en que parte de todo el codigo lo debo colocar? Muchas gracias por tu ayuda.

Por favor si alguien me puede ayudar, se lo agradezco, hace varios dias puse esta duda, sigo sin algo concreto, es urgente, necesito validar esos porcentajes de acuerdo al recordset que defini para el ingreso de los datos, por favor alguien que me ayude.

Última edición por GatorV; 23/03/2009 a las 13:43
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 21:13.