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: 17 años, 7 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: 18 años, 6 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: 17 años, 7 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: 18 años, 6 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: 17 años, 7 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 00:51.