Foros del Web » Programando para Internet » PHP »

Query que no me reconoce los valores

Estas en el tema de Query que no me reconoce los valores en el foro de PHP en Foros del Web. Código PHP: $sql  =  "SELECT E.Id_empleado, E.Nombre, E.Apellido_Paterno, E.Apellido_Materno, E.Id_general, E.Id_escolaridad, E.Id_direccion,  E.CURP, E.RFC, E.IMSS, E.INFONAVIT, E.Id_puesto, E.Fecha_inicio, E.Renew1, E.Renew2, E.Renew3, E.Sueldo FROM contra_empleados E " ;  $count = 0 ;  $i = 0 ;  IF(ISSET( $_REQUEST [ 'vENVIAR' ]))  {  $string = $vNombre . "_" . ...
  #1 (permalink)  
Antiguo 16/11/2010, 17:02
 
Fecha de Ingreso: agosto-2010
Ubicación: Mexico
Mensajes: 180
Antigüedad: 13 años, 8 meses
Puntos: 0
Query que no me reconoce los valores

Código PHP:
$sql "SELECT E.Id_empleado, E.Nombre, E.Apellido_Paterno, E.Apellido_Materno, E.Id_general, E.Id_escolaridad, E.Id_direccion,  E.CURP, E.RFC, E.IMSS, E.INFONAVIT, E.Id_puesto, E.Fecha_inicio, E.Renew1, E.Renew2, E.Renew3, E.Sueldo FROM contra_empleados E "$count=0$i=0;  IF(ISSET($_REQUEST['vENVIAR'])) 
$string=$vNombre."_".$vAPPA."_".$vAPMA."_".$vSEXO."_".$vEDAD."_".$vEDOCIV."_".$vCURP."_".$vRFC."_".$vTITULO."_".$vINSTITUCION."_".$vDESCESC."_".$vIMSS."_".$vINFONAVIT."_".$vCALLE."_".$vCOLONIA."_".$vDELMUN."_".$vEDO."_".$vSUELDO."_".$vJOB."_".$vINICIO."_".$vMES."_".$vTRIO."_".$vANIO;  $cadena explode("_",$string); $Nvals array_filter($cadena); $countNvals count($Nvals);$dir "SELECT Id_direccion FROM contra_direccion WHERE "$esc "SELECT Id_escolaridad FROM contra_escolaridad WHERE "$grals "SELECT Id_general FROM contra_desc_general WHERE "; IF($countNvals>=1)  
{
 
$sql.= " WHERE "
IF(
$Nvals[0] AND preg_match("/([0-9])/",$Nvals[0])==0)
{
$sql   .= " E.nombre LIKE '%$Nvals[0]%' ";  IF($countNvals>AND $Nvals[0]!=$Nvals[max(array_keys($Nvals))]) $sql  .= " AND "; }
elseif(
preg_match("/([0-9])/",$Nvals[0])==1) { echo "TIENES UN NUMERO EN NOMBRE <BR/>";$i++;}  IF($Nvals[1] AND preg_match("/([0-9])/",$Nvals[1])==0)
{
$sql.= "E.Apellido_Paterno LIKE '%$Nvals[1]%' "; IF($countNvals>AND $Nvals[1]!=$Nvals[max(array_keys($Nvals))]) $sql .= " AND "; }
elseif(
preg_match("/([0-9])/",$Nvals[1])==1) { echo "TIENES UN NUMERO EN APELLIDO PATERNO<BR/>"$i++;} 
IF(
$Nvals[2] AND preg_match("/([0-9])/",$Nvals[2])==0){ $sql.= "E.Apellido_Materno LIKE '%$Nvals[2]%' "; IF($countNvals>AND $Nvals[2]!=$Nvals[max(array_keys($Nvals))])  $sql .= " AND "
}elseif(
preg_match("/([0-9])/",$Nvals[2])==1){ echo "TIENES UN NUMERO EN APELLIDO MATERNO <BR/>"$i++; } IF(($Nvals[3]) OR ($Nvals[4]) OR ($Nvals[5])){IF($Nvals[3] AND preg_match("/([0-9])/",$Nvals[3])==0) { $count++; IF($count>AND $count<=3)

$countNvals--; $grals .= " AND "; } 
$grals  .= " sexo LIKE '%$Nvals[3]%' "; }elseif(preg_match("/([0-9])/",$Nvals[3])==1) { echo "TIENES UN NUMERO EN SEXO <BR/>";  $i++; $Nvals[3] = ""; } 
IF(
$Nvals[4] AND preg_match("/([a-zA-Z])/",$Nvals[4])==0){
$count++; IF($count>AND $count<=3)  { $countNvals--; $grals .= " AND ";} $grals  .= " edad LIKE '%$Nvals[4]%' "; }elseif(preg_match("/([a-zA-Z])/",$Nvals[4])==1) { echo "TIENES LETRAS EN LA EDAD <BR/>"$i++; $Nvals[4] = NULL; } IF($Nvals[5] AND preg_match("/([0-9])/",$Nvals[5])==0) { $count++; IF($count>AND $count<=3) { $countNvals--; $grals .= " AND "; } $grals  .= " estado_civil LIKE '%$Nvals[5]' "; }elseif(preg_match("/([0-9])/",$Nvals[5])==1) { echo "TIENES UN NUMERO EN ESTADO CIVIL <BR/>"$i++; $Nvals[5] = ""; } 
$gral = @mysql_query($grals);
$j=0;while($gra = @mysql_fetch_row($gral))  { $j++; $sql  .= " E.id_general = ".$gra[0]; if($j>and $j<mysql_num_rows($gral)) $sql .= " OR "; } IF($countNvals>AND ($Nvals[5]!=$Nvals[max(array_keys($Nvals))] AND $Nvals[4]!=$Nvals[max(array_keys($Nvals))] AND $Nvals[3]!=$Nvals[max(array_keys($Nvals))]))  $sql .= " AND "; } IF($Nvals[6] AND preg_match("/^[A-Z]{4}[0-9]{6}[A-Z0-9]{0,8}?/",$Nvals[6])==1)  
{
$sql .= " E.CURP LIKE '%$Nvals[6]%' "; IF($countNvals>AND $Nvals[6]!=$Nvals[max(array_keys($Nvals))]) $sql.= " AND "; }
ELSEIF(
preg_match("/^[A-Z]{4}[0-9]{6}[A-Z0-9]{0,8}?/",$Nvals[6])==AND !empty($Nvals[6])) { echo "EL FORMATO EN EL CURP NO COINCIDE<br/>"$i++; } IF($Nvals[7] AND preg_match("/^[A-Z]{4}[0-9]{6}[A-Z0-9]{0,3}?/",$Nvals[7])==1) { $sql .= " E.RFC LIKE '%$Nvals[7]%'"; IF($countNvals>AND $Nvals[7]!=$Nvals[max(array_keys($Nvals))])$sql.= " AND "; }ELSEIF(preg_match("/^[A-Z]{4}[0-9]{6}[A-Z0-9]{0,3}?/",$Nvals[7])==AND !empty($Nvals[7])){ echo "EL FORMATO EN EL RFC NO COINCIDE<BR/>"$i++; } IF(($Nvals[8]) OR ($Nvals[9]) OR ($Nvals[10])) { IF($Nvals[8] AND preg_match("/([0-9])/",$Nvals[8])==0) { $count++; IF($count>AND $count<=3
$countNvals--; $esc .= " AND "; } 
$esc  .= " Titulo_carrera LIKE '%$Nvals[8]%' ";  } 
elseif(
preg_match("/([0-9])/",$Nvals[8])==1
{ echo 
"TIENES UN NUMERO EN EL TITULO DE LA CARRERA<BR/>"$i++; $Nvals[8] = ""; } 
IF(
$Nvals[9] AND preg_match("/([0-9])/",$Nvals[9])==0)  { $count++; IF($count>AND $count<=3) { $countNvals--; $esc .= " AND "; } $esc  .= " Institucion LIKE '%$Nvals[9]%' "; } elseif(preg_match("/([0-9])/",$Nvals[9])==1
{ echo 
"TIENES LETRAS EN LA EDAD <BR/>"$i++; } IF($Nvals[10] AND preg_match("/([0-9])/",$Nvals[10])==0) { $count++; IF($count>AND $count<=3) { $countNvals--; $esc .= " AND ";} 
$esc  .= " Descripcion LIKE '%$Nvals[10]' "; } elseif(preg_match("/([0-9])/",$Nvals[10])==1) { echo "TIENES UN NUMERO EN LA DESCRIPCION <BR/>"$i++; $Nvals[10] = ""; } $ESCUELA = @mysql_query($esc); $j 0
while(
$rowEscolaridad = @mysql_fetch_row($ESCUELA)) { $j++; $sql  .= " E.id_escolaridad = ".$rowEscolaridad[0]; if($j>and $j<mysql_num_rows($ESCUELA)) 
$sql .= " OR ";}
IF(
$countNvals>AND ($Nvals[8]!=$Nvals[max(array_keys($Nvals))] AND $Nvals[9]!=$Nvals[max(array_keys($Nvals))] AND $Nvals[10]!=$Nvals[max(array_keys($Nvals))])) $sql .= " AND ";} 
IF(
$Nvals[11] AND preg_match("/([a-zA-Z])/",$Nvals[11])==0) { $sql .= "E.IMSS LIKE '%$Nvals[11]%' "; IF($countNvals>AND $Nvals[11]!=$Nvals[max(array_keys($Nvals))]) $sql.= " AND "; }
ELSEIF(
preg_match("/([a-zA-Z])/",$Nvals[11])==1) { echo "EL REGISTRO DEL IMSS NO ACEPTA LETRAS, REVISE<br/>";  $i++;}
IF(
$Nvals[12] AND preg_match("/([a-cA-Ce-mE-Mo-zO-Z])/",$Nvals[12])==0) { $sql .= "E.INFONAVIT LIKE '%$Nvals[12]%' "; IF($countNvals>AND $Nvals[12]!=$Nvals[max(array_keys($Nvals))]) 
$sql.= " AND "; }ELSEIF(preg_match("/([a-cA-Ce-mE-Mo-zO-Z])/",$Nvals[12])==1) { echo "EL REGISTRO DEL INFONAVIT NO ACEPTA LETRAS A N/D, REVISE<br/>"$i++; } IF(($Nvals[13]) OR ($Nvals[14]) OR ($Nvals[15]) OR ($Nvals[16])) { IF($Nvals[13]) { $count++; IF($count>AND $count<=3){$countNvals--; $dir .= " AND "; } $dir  .= " calle LIKE '%$Nvals[13]%' "; } IF($Nvals[14] AND preg_match("/([0-9])/",$Nvals[14])==0){$count++;
IF(
$count>AND $count<=3) { $countNvals--; $dir .= " AND "; } $dir  .= " colonia LIKE '%$Nvals[14]%' ";}
IF(
$Nvals[15] AND preg_match("/([0-9])/",$Nvals[15])==0) { $count++; IF($count>AND $count<=3) { $countNvals--; $dir .= " AND "; } $dir .= " del_mun LIKE '%$Nvals[15]' "; } ELSEIF(preg_match("/([0-9])/",$Nvals[15])==1) { ECHO "EL CAMPO DE LA DELEGACION/MUNICIPIO SOLO ACEPTA LETRAS, REVISE<br/>";  $i++; } IF($Nvals[16] AND preg_match("/([0-9])/",$Nvals[16])==0) { $count++; IF($count>AND $count<=3) { $countNvals--; $dir .= " AND "; } $dir .= " estado LIKE '%$Nvals[16]' "; } ELSEIF(preg_match("/([0-9])/",$Nvals[16])==1){ECHO "EL CAMPO DEL ESTADO SOLO ACEPTA LETRAS, REVISE<br/>"$i++; } $direccion = @mysql_query($dir); $j 0; while($rowDireccion = @mysql_fetch_row($direccion)) { $j++; $sql  .= " E.id_direccion = ".$rowDireccion[0]; if($j>and $j<mysql_num_rows($direccion)) $sql .= " OR ";}IF($countNvals>AND ($Nvals[13]!=$Nvals[max(array_keys($Nvals))] AND $Nvals[14]!=$Nvals[max(array_keys($Nvals))] AND $Nvals[15]!=$Nvals[max(array_keys($Nvals))] AND $Nvals[16]!=$Nvals[max(array_keys($Nvals))])) $sql.= " AND "; } IF($Nvals[17] AND preg_match("/([a-zA-Z])/",$Nvals[17])==0){$sql .= " E.Sueldo = $Nvals[17] "; IF($countNvals>AND $Nvals[17]!=$Nvals[max(array_keys($Nvals))]) $sql.= " AND "; } ELSEIF(preg_match("/([a-zA-Z])/",$Nvals[17])==1) { ECHO "EL CAMPO DEL SUELDO SOLO ACEPTA NUMEROS, REVISE<br/>"$i++; } IF($Nvals[18] AND preg_match("/([0-9])/",$Nvals[18])==0){$job="SELECT Id_puesto FROM contra_perfil WHERE Nombre LIKE '%$Nvals[18]%'"$hob=@mysql_query($job); $hobs = @mysql_fetch_row($hob); $sql .=" Id_puesto = $hobs[0] "; IF($countNvals>AND $Nvals[18]!=$Nvals[max(array_keys($Nvals))]) $sql.= " AND "; }ELSEIF(preg_match("/([0-9])/",$Nvals[18])==1) { ECHO "EL CAMPO DEL PUESTO SOLO ACEPTA LETRAS, REVISE<br/>"$i++;}$Fini  FormatoAAMMDDFecha($cadena[19]); $Fmes  FormatoAAMMDDFecha($cadena[20]); $Ftrio FormatoAAMMDDFecha($cadena[21]); $Fanio FormatoAAMMDDFecha($cadena[22]); IF($Nvals[19] AND preg_match("/(\d{2}\-\d{2}\-\d{2})/",$Nvals[19])==1){$sql .= "E.Fecha_inicio LIKE '%$Fini%' "; IF($countNvals>AND $Nvals[19]!=$Nvals[max(array_keys($Nvals))])  $sql.= " AND "; }ELSEIF(preg_match("/(\d{2}\-\d{2}\-\d{2})/",$Nvals[19])==AND !empty($Nvals[19])) { ECHO "LA FECHA DE INICIO NO TIENE EL FORMATO DD-MM-AA EN NUMEROS, REVISE<br/>"$i++; } IF($Nvals[20] AND preg_match("/(\d{2}\-\d{2}\-\d{2})/",$Nvals[20])==1) { $sql .= "E.renew1 LIKE '%$Fmes%' "; IF($countNvals>AND $Nvals[20]!=$Nvals[max(array_keys($Nvals))]) $sql.= " AND "; }ELSEIF(preg_match("/(\d{2}\-\d{2}\-\d{2})/",$Nvals[20])==0  AND !empty($Nvals[20])) { ECHO "LA FECHA DE LA PRIMERA RENOVACION NO TIENE EL FORMATO DD-MM-AA, REVISE<br/>";  $i++; } IF($Nvals[21] AND preg_match("/(\d{2}\-\d{2}\-\d{2})/",$Nvals[21])==1) { $sql .= "E.renew2 LIKE '%$Ftrio%' "; IF($countNvals>AND $Nvals[21]!=$Nvals[max(array_keys($Nvals))]) $sql.= " AND "; }ELSEIF(preg_match("/(\d{2}\-\d{2}\-\d{2})/",$Nvals[21])==0  AND !empty($Nvals[21])) { ECHO "LA FECHA DE LA SEGUNDA RENOVACION NO TIENE EL FORMATO DD-MM-AA EN NUMEROS, REVISE<br/>"$i++; } IF($Nvals[22] AND preg_match("/(\d{2}\-\d{2}\-\d{2})/",$Nvals[22])==1) { $sql .= "E.renew3 LIKE '%$Fanio%' "; }ELSEIF(preg_match("/(\d{2}\-\d{2}\-\d{2})/",$Nvals[22])==AND !empty($Nvals[22])) { ECHO "LA FECHA DE LA TERCERA RENOVACION NO TIENE EL FORMATO DD-MM-AA EN NUMEROS, REVISE<br/>"$i++;}} 
  #2 (permalink)  
Antiguo 16/11/2010, 17:04
 
Fecha de Ingreso: agosto-2010
Ubicación: Mexico
Mensajes: 180
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Query que no me reconoce los valores

Sale este resultado, hay 2 "subquerys" que no dan resultado y no estoy viendo el error del script que puse en el post de arriba. Espero que alguien vea algo.
Código:
Variable $cadena array(23) { [0]=> string(7) "Artemio" [1]=> string(7) "Alvarez" [2]=> string(7) "Alvarez" [3]=> string(9) "Masculino" [4]=> string(2) "38" [5]=> string(3) "N/D" [6]=> string(18) "AAAA720606HOCLLR00" [7]=> string(10) "AAAA720606" [8]=> string(8) "Primaria" [9]=> string(15) "Escuela Publica" [10]=> string(3) "N/D" [11]=> string(11) "94047200681" [12]=> string(3) "N/D" [13]=> string(27) "Emiliano Zapata Mz 7 lote 6" [14]=> string(20) "Progreso de la Union" [15]=> string(19) "Ecatepec de Morelos" [16]=> string(16) "Estado de Mexico" [17]=> string(6) "2683.4" [18]=> string(16) "Ayudante General" [19]=> string(8) "22-01-07" [20]=> string(8) "22-02-07" [21]=> string(8) "22-05-07" [22]=> string(8) "22-05-08" }
Variable $Nvals array(23) { [0]=> string(7) "Artemio" [1]=> string(7) "Alvarez" [2]=> string(7) "Alvarez" [3]=> string(9) "Masculino" [4]=> string(2) "38" [5]=> string(3) "N/D" [6]=> string(18) "AAAA720606HOCLLR00" [7]=> string(10) "AAAA720606" [8]=> string(8) "Primaria" [9]=> string(15) "Escuela Publica" [10]=> string(3) "N/D" [11]=> string(11) "94047200681" [12]=> string(3) "N/D" [13]=> string(27) "Emiliano Zapata Mz 7 lote 6" [14]=> string(20) "Progreso de la Union" [15]=> string(19) "Ecatepec de Morelos" [16]=> string(16) "Estado de Mexico" [17]=> string(6) "2683.4" [18]=> string(16) "Ayudante General" [19]=> string(8) "22-01-07" [20]=> string(8) "22-02-07" [21]=> string(8) "22-05-07" [22]=> string(8) "22-05-08" }
SELECT Id_general FROM contra_desc_general WHERE sexo LIKE '%Masculino%' AND edad LIKE '%38%' AND estado_civil LIKE '%N/D' resource(4) of type (mysql result) Variable $esc: string(148) "SELECT Id_escolaridad FROM contra_escolaridad WHERE Titulo_carrera LIKE '%Primaria%' institucion LIKE '%Escuela Publica%' descripcion LIKE '%N/D' " SELECT Id_puesto FROM contra_perfil WHERE Nombre LIKE '%Ayudante General%'
resource(5) of type (mysql result)
Variable $sql: SELECT E.Id_empleado, E.Nombre, E.Apellido_Paterno, E.Apellido_Materno, E.Id_general, E.Id_escolaridad, E.Id_direccion, E.CURP, E.RFC, E.IMSS, E.INFONAVIT, E.Id_puesto, E.Fecha_inicio, E.Renew1, E.Renew2, E.Renew3, E.Sueldo FROM contra_empleados E WHERE E.nombre LIKE '%Artemio%' AND E.Apellido_Paterno LIKE '%Alvarez%' AND E.Apellido_Materno LIKE '%Alvarez%' AND E.id_general = 21 AND E.CURP LIKE '%AAAA720606HOCLLR00%' AND E.RFC LIKE '%AAAA720606%' AND AND E.IMSS LIKE '%94047200681%' AND E.INFONAVIT LIKE '%N/D%' AND AND E.Sueldo = 2683.4 AND Id_puesto = 21 AND E.Fecha_inicio LIKE '%2007-01-22%' AND E.renew1 LIKE '%2007-02-22%' AND E.renew2 LIKE '%2007-05-22%' AND E.renew3 LIKE '%2008-05-22%'
Variable $resultLimite:
Variable $total_paginas: 0Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND E.IMSS LIKE '%94047200681%' AND E.INFONAVIT LIKE '%N/D%' AND AND E.Sueldo' at line 1
  #3 (permalink)  
Antiguo 19/11/2010, 12:13
 
Fecha de Ingreso: agosto-2010
Ubicación: Mexico
Mensajes: 180
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Query que no me reconoce los valores

ya resolvi el error, gracias

Etiquetas: query, reconoce
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:16.