Foros del Web » Programando para Internet » PHP »

(Consulta) valida el indice 1 pero no los siguientes

Estas en el tema de (Consulta) valida el indice 1 pero no los siguientes en el foro de PHP en Foros del Web. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original foreach ( $novedad as $keys => $values ) {         $indice = $keys ;     ...
  #1 (permalink)  
Antiguo 15/04/2011, 15:12
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
(Consulta) valida el indice 1 pero no los siguientes

Código PHP:
Ver original
  1. foreach ($novedad as $keys => $values) {
  2.         $indice = $keys;
  3.     }
  4.    
  5.     if (!empty($_POST['novedades'][$indice])) {
  6.         // Continua el código
  7. }
  #2 (permalink)  
Antiguo 15/04/2011, 15:13
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: (Consulta) valida el indice 1 pero no los siguientes

Que se supone que tenemos que hacer? No somos adivinos aun =/
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #3 (permalink)  
Antiguo 15/04/2011, 15:22
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: (Consulta) valida el indice 1 pero no los siguientes

Disculpas, pensé que el título era descriptivo.

Envío desde un formulario un array novedades[]

y quiero comprobar que ese array no este vacío, me valida el índice 1 pero no los siguientes.
  #4 (permalink)  
Antiguo 15/04/2011, 15:58
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: (Consulta) valida el indice 1 pero no los siguientes

De esta manera lo soluciono:

Código PHP:
Ver original
  1. if (!empty($_POST['novedades'][1]) && !empty($_POST['novedades'][2])) {

PERO

Me gustaría que se compruebe automáticamente el índice!

Saludos!
  #5 (permalink)  
Antiguo 15/04/2011, 16:10
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: (Consulta) valida el indice 1 pero no los siguientes

Código Completo:

Código PHP:
Ver original
  1. // Compruebo Variables
  2. if (isset($_POST['novedades']) && is_array($_POST['novedades'])) {
  3.     //  Asigno Variables, contienen arrays
  4.     $novedad = $_POST['novedades'];
  5.     #   Columnas
  6.     // Obtener nombre de columas SHOW COLUM mysql_fetch_field
  7.     $columna = array(1 => "novedadesTitulo", "novedadesDescripcion");
  8.    
  9.     foreach ($novedad as $keys => $values) {
  10.         $indice = $keys;
  11.     }
  12.    
  13.     if ( !empty( $_POST['novedades'][$indice]) ) {
  14.        
  15.         //  Llamo a la función
  16.         $cargar = insertar("novedades", $columna, $novedad );
  17.             if (isset($cargar)) {
  18.                             $correcto = '<span class="fadeOut" style="color: red;">' . "Novedad Cargada Exitosamente." . '</span>';
  19.                         }   else {
  20.                             $incorrecto = '<span class="fadeOut" style="color: red;">' . "Error al cargar la novedad, intentelo de Nuevo." . '</span>';
  21.                         }
  22.         } else {
  23.             $completar =  '<span style="color: red;">' . "Complete los campos." . '</span>';
  24.         }  
  25. }
  #6 (permalink)  
Antiguo 15/04/2011, 16:24
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: (Consulta) valida el indice 1 pero no los siguientes

Osea que, para que el codigo proceda.. Ningun indice debe estar vacio? Ok, se me ocurre esto:

Código PHP:
$error false;
foreach (
$novedad as $keys => $values) {
        if (empty(
$_POST['novedades'][$keys]) {
                
$error true;
        }
}
    
if (
$error == false) {
        
// Continua el código

__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #7 (permalink)  
Antiguo 15/04/2011, 16:31
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: (Consulta) valida el indice 1 pero no los siguientes

Cita:
Iniciado por opzina Ver Mensaje
Envío desde un formulario un array novedades[]

y quiero comprobar que ese array no este vacío, me valida el índice 1 pero no los siguientes.
Código PHP:
Ver original
  1. if(count($_POST['novedades'] >0))
  2. echo 'tiene al menos un valor';
  3. else
  4. echo 'el array esta vacio'
espero y te sirva, saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #8 (permalink)  
Antiguo 15/04/2011, 16:32
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: (Consulta) valida el indice 1 pero no los siguientes

Cita:
Osea que, para que el codigo proceda.. Ningun indice debe estar vacio? Ok, se me ocurre esto:

Código PHP:
$error = false;
foreach ($novedad as $keys => $values) {
if (empty($_POST['novedades'][$keys]) {
$error = true;
}
}

if ($error == false) {
// Continua el código
}
Eres Grande man!!

Me lo puedes explicar? y cual es la diferencia con lo que proponía yo?

Muchas gracias.
  #9 (permalink)  
Antiguo 15/04/2011, 16:58
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: (Consulta) valida el indice 1 pero no los siguientes

Primero te explico tu codigo:
Con el foreach guardabas en la variable $indice cada indice, pero, cada que vuelve a recorrer el foreach, esa variable se sustituye, quedando nada mas el ultimo indice en la variable, entonces, al llamar a $_POST['novedades'][$indice], nada mas esta llamando al ultimo indice...

Ahora te eplico mi codigo;
Se declara $error que es false, entonces, cada que recorra el foreach va a checar si el contenido del indice actua del foreach en $_POST['novedades'] esta vacio. Si efectivamente esta vacio, el error se declara por true, y si no, se deja la variable como se establecio en ultimo momento... Por ejemplo, si se detecta $_POST['novedades'][2] como vacio, $error se establece true y sigue corriendo el foreach, y si $_POST['novedades'][3] esta llena, no se le hace ningun cambio a la variable de $error

Al final, si $error es false es significado de que en ningun momento la variable se establecio true, entonces, el codigo procede..

Espero me hayas entendido :)
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #10 (permalink)  
Antiguo 15/04/2011, 17:26
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: (Consulta) valida el indice 1 pero no los siguientes

Más Claro Imposible!

Muchas gracias!!
  #11 (permalink)  
Antiguo 15/04/2011, 17:40
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: (Consulta) valida el indice 1 pero no los siguientes

Me alegro que te haya ayudado :D
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies

Etiquetas: indice
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 11:17.