Foros del Web » Programando para Internet » PHP »

Detener un if si hay algun error

Estas en el tema de Detener un if si hay algun error en el foro de PHP en Foros del Web. Buenas gente, aca de nuevo recurriendo a uds. El tema es el siguiente.....tengo este codigo que valido campos al insertar un csv en mysql Código ...
  #1 (permalink)  
Antiguo 16/05/2013, 10:59
Avatar de Nico0601  
Fecha de Ingreso: diciembre-2012
Ubicación: Buenos Aires, Zona Sur
Mensajes: 134
Antigüedad: 11 años, 4 meses
Puntos: 0
Detener un if si hay algun error

Buenas gente, aca de nuevo recurriendo a uds.
El tema es el siguiente.....tengo este codigo que valido campos al insertar un csv en mysql
Código PHP:
$error 0;
$file fopen($destino"r");
while (
$datos fgetcsv ($file1000",")) 
{
    
$num count($datos);
    
$apellido $datos[0];
    
$nombre $datos[1];
    
$cuil $datos[2];
    
$basico $datos[3];
    
$bruto $datos[4];
    
$afili $datos[5];
    
        if(!(
preg_match("/^([a-z ñáéíóú ÑÁÉÍÓÚ]{2,50})$/i",$apellido))){
            
$error 1;
        }
            elseif(!(
preg_match("/^([a-z ñáéíóú ÑÁÉÍÓÚ]{2,50})$/i",$nombre))){
                
$error 2;
            }
                elseif(! 
cuitValido($cuil)){
                    
$error 3;
                }
                    elseif(!
is_numeric($basico)){
                        
$error 4;
                    }
                        elseif(!
is_numeric($bruto)){
                            
$error 5;
                        }
                            elseif(
trim((string)$afili) !== "0" && trim((string)$afili) !== "1"){  
                                
$error 6;
                            }
    if((
$error == 0) || ($error 6))
    {
            if(!
mysql_num_rows(mysql_query("SELECT cuil FROM ddjj WHERE cuil='$cuil'")))
            { 
                
mysql_query("INSERT INTO ddjj  
                            VALUES ('null','$apellido','$nombre','$cuil','$basico','$bruto','$afili')"
); 
            }else
            {
            
mysql_query("UPDATE ddjj 
                        SET apellido='$apellido', nombre='$nombre', cuil='$cuil', basico='$basico', bruto='$bruto', afiliado='$afili' WHERE cuil='$cuil'"
); 
            }
    }

Si algun dato no esta en el csv lo inserta y si esta lo actualiza, pero el problema lo tengo cuando hay algun error, suponiendo que una linea esta bien y la otra mal me tira el mensaje de error notificandome del error pero la otra linea la actualiza.
Yo quiero lograr que si hay algun error no haga nada, unicamente que si el csv esta bien actualice o inserte.
Esta linea tengo que modificar creo pero nose como decirle que si hay algun error no haga nada.
Código PHP:
if(($error == 0) || ($error 6)) 
Espero me haya explicado bien.
Gracias
__________________
Nico...
  #2 (permalink)  
Antiguo 16/05/2013, 11:07
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años
Puntos: 28
Respuesta: Detener un if si hay algun error

en las comprobaciones si existe error pones $error = true;

luego:

Código PHP:
Ver original
  1. if($error != true){
  2.  
  3.   //Haces las consulta
  4.  
  5. }else{
  6.  
  7.   echo "Han ocurrido errores";
  8.  
  9. }
  #3 (permalink)  
Antiguo 16/05/2013, 11:28
Avatar de Nico0601  
Fecha de Ingreso: diciembre-2012
Ubicación: Buenos Aires, Zona Sur
Mensajes: 134
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Detener un if si hay algun error

mmmm....no me funciona....asi quedaria el codigo?
Código PHP:
Ver original
  1. $error = 0;
  2. $file = fopen($destino, "r");
  3. while ($datos = fgetcsv ($file, 1000, ","))
  4. {
  5.     $num = count($datos);
  6.     $apellido = $datos[0];
  7.     $nombre = $datos[1];
  8.     $cuil = $datos[2];
  9.     $basico = $datos[3];
  10.     $bruto = $datos[4];
  11.     $afili = $datos[5];
  12.    
  13.         if(!(preg_match("/^([a-z ñáéíóú ÑÁÉÍÓÚ]{2,50})$/i",$apellido))){
  14.             $error = true;
  15.         }
  16.             elseif(!(preg_match("/^([a-z ñáéíóú ÑÁÉÍÓÚ]{2,50})$/i",$nombre))){
  17.                 $error = true;
  18.             }
  19.                 elseif(!cuitValido($cuil)){
  20.                     $error = true;
  21.                 }
  22.                     elseif(!is_numeric($basico)){
  23.                         $error = true;
  24.                     }
  25.                         elseif(!is_numeric($bruto)){
  26.                             $error = true;
  27.                         }
  28.                             elseif(trim((string)$afili) !== "0" && trim((string)$afili) !== "1"){  
  29.                                 $error = true;
  30.                             }
  31.     if($error != true)
  32.     {
  33.             if(!mysql_num_rows(mysql_query("SELECT cuil FROM ddjj WHERE cuil='$cuil'")))
  34.             {
  35.                 mysql_query("INSERT INTO ddjj  
  36.                            VALUES ('null','$apellido','$nombre','$cuil','$basico','$bruto','$afili')");
  37.             }else
  38.             {
  39.             mysql_query("UPDATE ddjj
  40.                        SET apellido='$apellido', nombre='$nombre', cuil='$cuil', basico='$basico', bruto='$bruto', afiliado='$afili' WHERE cuil='$cuil'");
  41.             }
  42.     }
  43. }          
  44.                             if($error == true){
  45.                                 echo "<script>
  46.                                        alert('Campo apellido debe ser alfabetico');
  47.                                        window.location.href='form.htm';
  48.                                     </script>";
  49.                                      unlink($destino);
  50.                             }
  51.                                 elseif($error == true){
  52.                                     echo "<script>
  53.                                            alert('Campo nombre debe ser alfabetico');
  54.                                            window.location.href='form.htm';
  55.                                        </script>";
  56.                                         unlink($destino);
  57.                                 }
  58.                                     elseif($error == true){
  59.                                        echo "<script>
  60.                                                alert('Verifique la CUIL ingresada');
  61.                                                window.location.href='form.htm';
  62.                                             </script>";
  63.                                              unlink($destino);
  64.                                     }
  65.                                         elseif($error == true){
  66.                                            echo "<script>
  67.                                                    alert('Campo basico debe ser numerico');
  68.                                                    window.location.href='form.htm';
  69.                                                </script>";
  70.                                                 unlink($destino);
  71.                                         }
  72.                                             elseif($error == true){
  73.                                                echo "<script>
  74.                                                        alert('Campo bruto debe ser numerico');
  75.                                                        window.location.href='form.htm';
  76.                                                    </script>";
  77.                                                     unlink($destino);
  78.                                             }
  79.                                                 elseif($error == true){
  80.                                                    echo "<script>
  81.                                                            alert('Ingresar 1 para afiliados y 0 para No afiliados');
  82.                                                            window.location.href='form.htm';
  83.                                                        </script>";
  84.                                                         unlink($destino);
  85.                                                 }
  86.                                                     elseif($error == 0){
  87.                                                         echo "<script>
  88.                                                                alert('Importacion exitosa');
  89.                                                                window.location.href='form.htm';
  90.                                                             </script>";
  91.                                                              unlink($destino);
  92.                                                     }
__________________
Nico...

Etiquetas: detener, mysql, select, sql
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 16:53.