Foros del Web » Programando para Internet » PHP »

problemas con codigo

Estas en el tema de problemas con codigo en el foro de PHP en Foros del Web. Hola que tal Buen Dia !! aqui de nuevo pidiendo ayuda !! con este codigo tengo dos dudas la primera es el pase de la ...
  #1 (permalink)  
Antiguo 15/04/2009, 10:54
 
Fecha de Ingreso: marzo-2005
Ubicación: Guadalajara, Jal
Mensajes: 164
Antigüedad: 19 años, 1 mes
Puntos: 1
De acuerdo problemas con codigo

Hola que tal Buen Dia !!

aqui de nuevo pidiendo ayuda !! con este codigo tengo dos dudas

la primera es el pase de la variable despues de haberla recuperado de una tabla si es la forma correcta de hacerlo
Código PHP:

$cons
="select id,articulo from $mes where articulo = '$articulo'";
$resul=mysql_query($cons,$conex);
$p=mysql_result($resul,0,0);


if(
$mes == enero)
       
$ins="insert into $mes values ('$p')";
       
$re=mysql_query($ins,$conex);
elseif(
$mes == febrero)
        
$ins1="insert into $mes values ('$p')";
        
$re=mysql_query($ins1,$conex);
elseif(
$mes == marzo)                    
         
$ins2="insert into $mes values ('$p')";                         
     
$re=mysql_query($ins2,$conex);                            
elseif(
$mes == abril)                    
          
$ins3="insert into $mes values ('$p')";                        
     
$re=mysql_query($ins3,$conex); 
y la segunda es que me marca error en el primer elseif
Código HTML:
Parse error: syntax error, unexpected T_ELSEIF 
espero me puedan resolver mis dudas muchas gracias
  #2 (permalink)  
Antiguo 15/04/2009, 11:01
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: problemas con codigo

"enero" es una constantes o una variable o una cadena de donde sacas ese dato?

suponiendo que es una cadena, prueba esto

Código php:
Ver original
  1. if($mes == "enero")
  2.        $ins="insert into $mes values ('$p')";
  3.        $re=mysql_query($ins,$conex);
  4. elseif($mes == "febrero")
  5.         $ins1="insert into $mes values ('$p')";
  6.         $re=mysql_query($ins1,$conex);
  7. elseif($mes == "marzo")                    
  8.          $ins2="insert into $mes values ('$p')";                        
  9.      $re=mysql_query($ins2,$conex);                            
  10. elseif($mes == "abril")                    
  11.           $ins3="insert into $mes values ('$p')";                        
  12.      $re=mysql_query($ins3,$conex);
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #3 (permalink)  
Antiguo 15/04/2009, 11:08
 
Fecha de Ingreso: marzo-2005
Ubicación: Guadalajara, Jal
Mensajes: 164
Antigüedad: 19 años, 1 mes
Puntos: 1
De acuerdo Respuesta: problemas con codigo

ok deja y pruebo , enero es una constante que la quiero comparar con la variable $mes que la voy a sacar de una consulta esa es mi dudas ya que saco solo un valor y lo quiero volver a insertar en otra tabla con el misma estructura esaes mi duda si asi la puedo pasar
Código HTML:
$ins3="insert into $mes values ('$p')";
  #4 (permalink)  
Antiguo 15/04/2009, 11:27
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: problemas con codigo

Cambia esto

Código php:
Ver original
  1. $p=mysql_fetch_array($resul);

y cuando insertes
Código php:
Ver original
  1. $ins="insert into $mes values (".$p['id'].",".$p['articulo'].")";

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #5 (permalink)  
Antiguo 15/04/2009, 11:48
 
Fecha de Ingreso: marzo-2005
Ubicación: Guadalajara, Jal
Mensajes: 164
Antigüedad: 19 años, 1 mes
Puntos: 1
De acuerdo Respuesta: problemas con codigo

ok gracias pero sigo sin resolver el por que me sale ese error

Código HTML:
Parse error: syntax error, unexpected T_ELSEIF in C:\AppServ\www\system\seguimiento.php on line 14
que me da en el primer elseif

Código PHP:
if($mes == "enero")
         
$ins="insert into $mes values (".$id['id'].",".$id['articulo'].")";
      
$re=mysql_query($ins,$conex);                           
elseif(
$mes == "febrero")
          
$ins1="insert into $mes values (".$id['id'].",".$id['articulo'].")";
      
$re=mysql_query($ins1,$conex);                           
elseif(
$mes == "marzo")                    
         
$ins2="insert into $mes values (".$id['id'].",".$id['articulo'].")";
     
$re=mysql_query($ins2,$conex);                            
  elseif(
$mes == "abril")                  
        
$ins3="insert into $mes values (".$id['id'].",".$id['articulo'].")";
     
$re=mysql_query($ins3,$conex); 
  #6 (permalink)  
Antiguo 15/04/2009, 12:07
Avatar de Acron_0248  
Fecha de Ingreso: junio-2005
Ubicación: 127.0.0.1
Mensajes: 1.648
Antigüedad: 18 años, 9 meses
Puntos: 18
Respuesta: problemas con codigo

El problema es la falta de llaves en los diferentes IF

Algo como esto:
Código PHP:

if ( true 
   
// hacer algo; 
Solo es válido cuando hay 1 sentencia de código dentro de la estructura de control, sin embargo, en cada IF tú tienes 2 sentencias, por ende

Esto es un error:
Código PHP:
if($mes == "enero"
      
$ins="insert into $mes values (".$id['id'].",".$id['articulo'].")"
      
$re=mysql_query($ins,$conex); 
Esto es correcto:
Código PHP:
if($mes == "enero"
{
      
$ins="insert into $mes values (".$id['id'].",".$id['articulo'].")"
      
$re=mysql_query($ins,$conex); 

La posición de las llaves es cosa tuya, lo importante es que por ser 2 sentencias en la estructura de control, debes usarlas.
__________________
Usuario Reigistrado de linux #399288
  #7 (permalink)  
Antiguo 15/04/2009, 12:29
 
Fecha de Ingreso: marzo-2005
Ubicación: Guadalajara, Jal
Mensajes: 164
Antigüedad: 19 años, 1 mes
Puntos: 1
De acuerdo Respuesta: problemas con codigo

Ok Muchas gracias entonsces quedaria algo asi

Código PHP:
if($mes == "enero")
      {                          
$ins="insert into $mes values (".$id['id'].",".$id['articulo'].")";
 
$re=mysql_query($ins,$conex);
      }                   
else
      { 
$mes == "febrero";
$ins1="insert into $mes values (".$id['id'].",".$id['articulo'].")";
$re=mysql_query($ins1,$conex);                                           
      }        
else    
     {    
$mes == "marzo";
$ins2="insert into $mes values (".$id['id'].",".$id['articulo'].")";
$re=mysql_query($ins2,$conex);                                                                                                           
     }                               
else
     {
$mes == "abril";
$ins3="insert into $mes values (".$id['id'].",".$id['articulo'].")";                
$re=mysql_query($ins3,$conex);                                                                     
    } 
lo pruebo y te aviso y disculpa por tantas preguntas espero me puedas segir ayudando gracias
  #8 (permalink)  
Antiguo 15/04/2009, 12:31
Avatar de Acron_0248  
Fecha de Ingreso: junio-2005
Ubicación: 127.0.0.1
Mensajes: 1.648
Antigüedad: 18 años, 9 meses
Puntos: 18
Respuesta: problemas con codigo

Aunque agregaste las llaves, tienes un error, haz movido las condiciones (a excepción de la primera) fuera de lugar, las condiciones deben seguir al else if, es decir:

Código PHP:
if($mes == 'enero'
{                           
    
$ins="insert into $mes values (".$id['id'].",".$id['articulo'].")"
    
$re=mysql_query($ins,$conex); 
}                    
else if ( 
$mes == 'febrero' )
{  
    
$ins1="insert into $mes values (".$id['id'].",".$id['articulo'].")"
    
$re=mysql_query($ins1,$conex);                                            
}         
else if ( 
$mes == 'marzo' )
{     
    
$ins2="insert into $mes values (".$id['id'].",".$id['articulo'].")";  
    
$re=mysql_query($ins2,$conex);                                                                                                            
}
else if ( 
$mes == 'abril' )
{
    
$ins3="insert into $mes values (".$id['id'].",".$id['articulo'].")";                 
    
$re=mysql_query($ins3,$conex);                                                                      

__________________
Usuario Reigistrado de linux #399288
  #9 (permalink)  
Antiguo 15/04/2009, 12:36
 
Fecha de Ingreso: marzo-2005
Ubicación: Guadalajara, Jal
Mensajes: 164
Antigüedad: 19 años, 1 mes
Puntos: 1
Respuesta: problemas con codigo

mmm pues si me sigue dando el mismo error en el segundo else que puede estar pasando
  #10 (permalink)  
Antiguo 15/04/2009, 12:39
Avatar de Acron_0248  
Fecha de Ingreso: junio-2005
Ubicación: 127.0.0.1
Mensajes: 1.648
Antigüedad: 18 años, 9 meses
Puntos: 18
Respuesta: problemas con codigo

Cita:
mmm pues si me sigue dando el mismo error en el segundo else que puede estar pasando
Seguramente porque probaste antes de leer lo último que coloqué, revisa bien la ubicación de las condiciones en el ejemplo que habías colocado :)
__________________
Usuario Reigistrado de linux #399288
  #11 (permalink)  
Antiguo 15/04/2009, 12:44
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: problemas con codigo

checa lo de Acron_0248 esta bien debe de funcionar asi prueba

Cita:
Iniciado por Acron_0248 Ver Mensaje
Aunque agregaste las llaves, tienes un error, haz movido las condiciones (a excepción de la primera) fuera de lugar, las condiciones deben seguir al else if, es decir:

Código PHP:
if($mes == 'enero'
{                           
    
$ins="insert into $mes values (".$id['id'].",".$id['articulo'].")"
    
$re=mysql_query($ins,$conex); 
}                    
else if ( 
$mes == 'febrero' )
{  
    
$ins1="insert into $mes values (".$id['id'].",".$id['articulo'].")"
    
$re=mysql_query($ins1,$conex);                                            
}         
else if ( 
$mes == 'marzo' )
{     
    
$ins2="insert into $mes values (".$id['id'].",".$id['articulo'].")";  
    
$re=mysql_query($ins2,$conex);                                                                                                            
}
else if ( 
$mes == 'abril' )
{
    
$ins3="insert into $mes values (".$id['id'].",".$id['articulo'].")";                 
    
$re=mysql_query($ins3,$conex);                                                                      

  #12 (permalink)  
Antiguo 15/04/2009, 12:47
 
Fecha de Ingreso: marzo-2005
Ubicación: Guadalajara, Jal
Mensajes: 164
Antigüedad: 19 años, 1 mes
Puntos: 1
De acuerdo Respuesta: problemas con codigo

Ok si ya lo hize gracias ya no me marca error ahy ahora tengo error pero eso deja checarlo muchas gracias
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 22:14.