Foros del Web » Programando para Internet » PHP »

ayuda a encontrar el error

Estas en el tema de ayuda a encontrar el error en el foro de PHP en Foros del Web. master, estoy intentando traspasar valores "SI y NO" a una tabla... tengo una tabla(trabajadores) que tiene varios trabajadores con un mismo codigo pero diferente fecha, ...
  #1 (permalink)  
Antiguo 22/09/2010, 07:21
 
Fecha de Ingreso: noviembre-2008
Mensajes: 112
Antigüedad: 15 años, 5 meses
Puntos: 1
ayuda a encontrar el error

master,
estoy intentando traspasar valores "SI y NO" a una tabla...
tengo una tabla(trabajadores) que tiene varios trabajadores con un mismo codigo pero diferente fecha, quiero que se llene otra tabla que tiene 11 campos cod, dia1,dia2,dia3 .......dia10
el tema es que cuando el la primera tabla encuentre un cod de un trabajador y encuentre una fecha como por ejemplo 2010-09-01, esta fecha pertenece al dia1 de la tabla nueva y necesito que en ese campo se guarde un Valor "SI" si el mismo cod NO tiene registrado el dia 2010-09-02(que corresponde al dia2 de la segunda tabla) guarde un valor "NO" y así susesivamente con los 10 dias...
como lo tengo hecho, es de a siguiente manera, pero no guarda los valores "SI" en los campos correspondientes...

Código PHP:
Ver original
  1. <?
  2. include ("pags/conectar.php");
  3. $consulta = mysql_query("select * from bo_funcionario where cod_cond > 5587  order by cod_cond");
  4.  
  5. $dia_in = "2010-08-01";
  6. $dia_te = "2010-08-30";
  7. $dia_i=1;
  8. $dia_f=30;
  9. while ($row = mysql_fetch_array($consulta))
  10. {
  11. $cod = $row[cod_cond];
  12. $diax=1;
  13.  
  14.     for($i =$dia_i; $i <= $dia_f; $i++)
  15.     {
  16.    
  17.                     $fecha="2010-09-".$diax;
  18.                     //echo $fecha.'<br>';
  19.                     $roc2= mysql_query("select count(*) as cuenta from bo_checklist where fec_chec='$fecha' and cod_cona='$cod'")or die (mysql_error());
  20.                     $ro2 = mysql_fetch_array($roc2);
  21.                     if($ro2[cuenta] >= 1)
  22.                       {
  23.                         $roc3= mysql_query("select count(*) as cuenta1 from ver where cod_con='$cod'")or die (mysql_error());
  24.                         $ro3= mysql_fetch_array($roc3);
  25.                         if($ro3[cuenta1] >= 1)
  26.                           {
  27.                             if ($diax==1) {mysql_query("update ver set dia1='si'");}
  28.                             if ($diax==2) {mysql_query("update ver set dia2='si'");}
  29.                             if ($diax==3) {mysql_query("update ver set dia3='si'");}
  30.                             if ($diax==4) {mysql_query("update ver set dia4='si'");}
  31.                             if ($diax==5) {mysql_query("update ver set dia5='si'");}
  32.                             if ($diax==6) {mysql_query("update ver set dia6='si'");}
  33.                             if ($diax==7) {mysql_query("update ver set dia7='si'");}
  34.                             if ($diax==8) {mysql_query("update ver set dia8='si'");}
  35.                             if ($diax==9) {mysql_query("update ver set dia9='si'");}
  36.                             if ($diax==10){mysql_query("update ver set dia10='si'");}
  37.                            
  38.                           }
  39.                           else
  40.                           {
  41.                             if ($diax==1) {mysql_query("insert into ver (cod_con, dia1 ) values ('$cod','si')");}
  42.                             if ($diax==2) {mysql_query("insert into ver (cod_con, dia2 ) values ('$cod','si')");}
  43.                             if ($diax==3) {mysql_query("insert into ver (cod_con, dia3 ) values ('$cod','si')");}
  44.                             if ($diax==4) {mysql_query("insert into ver (cod_con, dia4 ) values ('$cod','si')");}
  45.                             if ($diax==5) {mysql_query("insert into ver (cod_con, dia5 ) values ('$cod','si')");}
  46.                             if ($diax==6) {mysql_query("insert into ver (cod_con, dia6 ) values ('$cod','si')");}
  47.                             if ($diax==7) {mysql_query("insert into ver (cod_con, dia7 ) values ('$cod','si')");}
  48.                             if ($diax==8) {mysql_query("insert into ver (cod_con, dia8 ) values ('$cod','si')");}
  49.                             if ($diax==9) {mysql_query("insert into ver (cod_con, dia9 ) values ('$cod','si')");}
  50.                             if ($diax==10) {mysql_query("insert into ver (cod_con, dia10 ) values ('$cod','si')");}
  51.                        
  52.                         }
  53.                       }
  54.                     else
  55.                       {
  56.                         $roc2= mysql_query("select count(*) as cuenta from ver where cod_con='$cod'")or die (mysql_error());
  57.                         $ro2 = mysql_fetch_array($roc2);
  58.                         if($ro2[cuenta] >= 1)
  59.                           {
  60.                             if ($diax==1) {mysql_query("update ver set dia1='no'");}
  61.                             if ($diax==2) {mysql_query("update ver set dia2='no'");}
  62.                             if ($diax==3) {mysql_query("update ver set dia3='no'");}
  63.                             if ($diax==4) {mysql_query("update ver set dia4='no'");}
  64.                             if ($diax==5) {mysql_query("update ver set dia5='no'");}
  65.                             if ($diax==6) {mysql_query("update ver set dia6='no'");}
  66.                             if ($diax==7) {mysql_query("update ver set dia7='no'");}
  67.                             if ($diax==8) {mysql_query("update ver set dia8='no'");}
  68.                             if ($diax==9) {mysql_query("update ver set dia9='no'");}
  69.                             if ($diax==10) {mysql_query("update ver set dia10='no'");}
  70.                            
  71.                           }
  72.                           else
  73.                           {
  74.                             if ($diax==1) {mysql_query("insert into ver (cod_con, dia1 ) values ('$cod','no')");}
  75.                             if ($diax==2) {mysql_query("insert into ver (cod_con, dia2 ) values ('$cod','no')");}
  76.                             if ($diax==3) {mysql_query("insert into ver (cod_con, dia3 ) values ('$cod','no')");}
  77.                             if ($diax==4) {mysql_query("insert into ver (cod_con, dia4 ) values ('$cod','no')");}
  78.                             if ($diax==5) {mysql_query("insert into ver (cod_con, dia5 ) values ('$cod','no')");}
  79.                             if ($diax==6) {mysql_query("insert into ver (cod_con, dia6 ) values ('$cod','no')");}
  80.                             if ($diax==7) {mysql_query("insert into ver (cod_con, dia7 ) values ('$cod','no')");}
  81.                             if ($diax==8) {mysql_query("insert into ver (cod_con, dia8 ) values ('$cod','no')");}
  82.                             if ($diax==9) {mysql_query("insert into ver (cod_con, dia9 ) values ('$cod','no')");}
  83.                             if ($diax==10) {mysql_query("insert into ver (cod_con, dia10 ) values ('$cod','no')");}
  84.                            
  85.                         }
  86.                       }
  87.     $diax=$diax+1;
  88.      } // for
  89.                  
  90. } // while row
  91. ?>

espero me puedan ayudar
  #2 (permalink)  
Antiguo 22/09/2010, 07:40
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: ayuda a encontrar el error

en la asignacion de la fecha

Código PHP:
// tienes declarado $diax como 1 entonces el formato de la fecha queda erroneo
$fecha="2010-09-".$diax;

podrias if($diax 10){
   
$fecha="2010-09-0"$diax;
}else{
  
$fecha="2010-09-"$diax;

  #3 (permalink)  
Antiguo 22/09/2010, 07:56
 
Fecha de Ingreso: noviembre-2008
Mensajes: 112
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: ayuda a encontrar el error

amigo Death_Empire,
cambié lo que me indicas y el problema persiste...
  #4 (permalink)  
Antiguo 22/09/2010, 08:02
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: ayuda a encontrar el error

otro error que vi es que cuando haces el update no pones el where de la fila que quieres actualizar.

a y otra cosa para que tienes un for de a 1 a 30 si luego preguntas por los valores del 1 al 10 ??
  #5 (permalink)  
Antiguo 22/09/2010, 08:25
 
Fecha de Ingreso: noviembre-2008
Mensajes: 112
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: ayuda a encontrar el error

estimado,
eso de 1 a 30 del for es asi, y pregunto por los valores del 1 al 10 para no poner tanto codigo...
eso del los update puede ser, pero cuando yo vacio la tabla no deberia influir los update solo los insert...
acabo de ordenar un poco los cod de los trabajadores y me aparece UN valor "SI"(que está correcto) en solo un registro y es el 2010-09-01 o sea el primero, quizas por alguna razon solo esta recorriendo el primer valor...
no se la verdad...

saludos master

Etiquetas: encontrar
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:56.