Foros del Web » Programando para Internet » PHP »

no encuentro el problema

Estas en el tema de no encuentro el problema en el foro de PHP en Foros del Web. Hola, verán, mi problema es el siguiente: Tengo un calendario el cual, si el día tiene evento o no, te muestra una información determinada, pues ...
  #1 (permalink)  
Antiguo 17/09/2010, 08:37
 
Fecha de Ingreso: octubre-2007
Mensajes: 87
Antigüedad: 17 años, 1 mes
Puntos: 1
no encuentro el problema

Hola,
verán, mi problema es el siguiente:
Tengo un calendario el cual, si el día tiene evento o no, te muestra una información determinada, pues el problema es que sea el día que sea, solo me coge la información del primer evento que tengo en el calendario, es decir, si por ejemplo tuviera un evento el día 2/3 con descripción "aaaaaaaaaa" y un evento el día 5/6 con el evento "bbbbbb", da igual cual quisiera consultar que solo me saldria la descripción "aaaaaaaaaa"....

llevo un par de horas revisando el código pero no encuentro nada...
Alguien ve algo?

desde ya gracias

Código de calendario.php
Código PHP:
<?php
$arr_dia
[0]="";
if(isset(
$_GET['anyo']) && $_GET['anyo']!=""){ $anyo=$_GET['anyo']; } else { $anyo=date("Y"); };

if(isset(
$_GET['usuario']) && $_GET['usuario']!=""){
    
mysql_select_db($database_con1$con1);
    
$sql=sprintf("select * from calendario where usuario='%s' AND anyo='%s'"$_GET['usuario'], $anyo);
    
$dias mysql_query($sql$con1) or die(mysql_error());
    
$row_dias mysql_fetch_assoc($dias);
    
$totalRows_dias mysql_num_rows($dias);
    
    if(
$totalRows_dias>0){
        
$n=0;
        do{
            
$arr_dia[$n]=$row_dias['dia']."/".$row_dias['mes'];
            
$n++;
        }while(
$row_dias mysql_fetch_assoc($dias));
    }
}
for(
$i=1$i<=12$i++)
{
    switch(
$i)
    {
        case 
1:
        
$mes_nombre="Enero";
        break;
        case 
2:
        
$mes_nombre="Febrero";
        break;
        case 
3:
        
$mes_nombre="Marzo";
        break;
        case 
4:
        
$mes_nombre="Abril";
        break;
        case 
5:
        
$mes_nombre="Mayo";
        break;
        case 
6:
        
$mes_nombre="Junio";
        break;
        case 
7:
        
$mes_nombre="Julio";
        break;
        case 
8:
        
$mes_nombre="Agosto";
        break;
        case 
9:
        
$mes_nombre="Septiembre";
        break;
        case 
10:
        
$mes_nombre="Octubre";
        break;
        case 
11:
        
$mes_nombre="Nobiembre";
        break;
        case 
12:
        
$mes_nombre="Diciembre";
        break;
    }
    
    echo 
'<table border="0" align="left" cellpadding="0" cellspacing="0" id="meses"><tr>';
    echo 
'<td colspan="7" bgcolor="0000FF" ><font color="FFFFFF">&nbsp;'.$mes_nombre.' - '.$anyo.'</font></td>';
    
$ultimo_dia date("t",mktime(000$i1$anyo));
    
    echo 
'<tr><td align="center">L</td><td align="center">M</td><td align="center">M</td><td align="center">J</td><td align="center">V</td><td align="center">S</td><td align="center">D</td></tr>';
    echo 
'<tr>';
    
    for(
$d=1$d<=$ultimo_dia$d++)
    {

        if(
$d==1)
        {
        
$dia_name date("D",mktime(000$i1$anyo));
        if(
$dia_name=="Mon"){}
        if(
$dia_name=="Tue"){echo "<td>&nbsp;</td>";}
        if(
$dia_name=="Wed"){echo "<td colspan='2'>&nbsp;</td>";}
        if(
$dia_name=="Thu"){echo "<td colspan='3'>&nbsp;</td>";}
        if(
$dia_name=="Fri"){echo "<td colspan='4'>&nbsp;</td>";}
        if(
$dia_name=="Sat"){echo "<td colspan='5'>&nbsp;</td>";}
        if(
$dia_name=="Sun"){echo "<td colspan='6'>&nbsp;</td>";}    
        }
        
        
$dia_nombre date("D",mktime(000$i$d$anyo));
        
        
$comprobar=$d.'/'.$i;
        if(
in_array($comprobar,$arr_dia))
        {
            include(
"evento.php");
        }
        elseif(
$dia_nombre=="Sat")
        {
            echo 
'<td bgcolor="#FF0000" align="center"><font color="#FFFFFF"><b>&nbsp;'.$d.'&nbsp;</b></font></td>';
        
        }
        elseif(
$dia_nombre=="Sun")
        {
            echo 
'<td bgcolor="#FF0000" align="center"><font color="#FFFFFF"><b>&nbsp;'.$d.'&nbsp;</b></font></td>'
            echo 
'</tr><tr>';
        }
        
        else
        {
            echo 
'<td align="center">&nbsp;'.$d.'&nbsp;</td>';
        }
    
    }
    echo 
'</tr></table>';
}

?>
Código de evento.php
Código PHP:
<?php
mysql_select_db
($database_con1$con1);
    
$sql_evento=sprintf("select * from calendario where usuario='%s' AND dia='%s' AND mes='%s' AND anyo='%s'"$_GET['usuario'], $d$i$anyo);
    
$evento mysql_query($sql$con1) or die(mysql_error());
    
$row_evento mysql_fetch_assoc($evento);

switch(
$row_evento['tipo'])
{
case 
"#00FF00":
    
$letra="#FFFFFF";
    break;
case 
"#FF0000":
    
$letra="#FFFFFF";
    break;
case 
"#0000FF":
    
$letra="#FFFFFF";
    break;
case 
"#FFFF00":
    
$letra="#000000";
    break;
case 
"#FF9900":
    
$letra="#FFFFFF";
    break;
default:
    
$letra="#000000";
    break;
}
$text_div='<table border=\'0\'><tr><td>&nbsp;'.$row_evento['dia'].'/'.$row_evento['mes'].'</td></tr><tr><td>'.$row_evento['comentario'].'</td></tr></table>';
?>
<td align="center" bgcolor="<?php echo $row_evento['tipo']; ?>" id="td_event" onmouseover="show_div(),write_div('<?php echo $row_evento['comentario']; ?>')" onmouseout="hide_div()">
<span style="color:<?php echo $letra?>"><b>&nbsp;<?php echo $d?>&nbsp;</b></font></td>
  #2 (permalink)  
Antiguo 17/09/2010, 09:51
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: no encuentro el problema

Hola
pues entiendo que estas usando $arr_dia para guardar la info que viene de la bd, pero en donde lo usas para imprimir?? y donde esta la parte que imagino es un href y envia hacia evento.php?? o como lo quieres hacer???
bueno, nos comentas
saludos
p.s: hace relativamente poco se tocó un tema de un calendario, bastante parecido al tuyo, esta por aquí, buscalo (puedes usar la búsqueda avanzada, y busca los que yo haya escrito que contengan la palabra calendario y que sean del foro php para que te filtre por esos parámetros sea más certera la búsqueda)
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 17/09/2010, 13:55
 
Fecha de Ingreso: octubre-2007
Mensajes: 87
Antigüedad: 17 años, 1 mes
Puntos: 1
Respuesta: no encuentro el problema

Cita:
Iniciado por mortiprogramador Ver Mensaje
Hola
pues entiendo que estas usando $arr_dia para guardar la info que viene de la bd, pero en donde lo usas para imprimir?? y donde esta la parte que imagino es un href y envia hacia evento.php?? o como lo quieres hacer???
bueno, nos comentas
saludos
si te fijas, uso $arr_dia en con la función in_array para saber si "he de entrar" en el if, no lo uso para imprimir. dentro de ese if incluyo "evento.php" (lo separo en archivos para poder modificarlo fácilmente), dentro de evento.php hago una consulta a la base de datos y segun resultado, imprimo el dia del calendario con un color u otro etc.

el problema, es que teóricamente, este include debería hacerlo cada vez que se cumpla la condición que pongo en in_array de $arr_dia, y ejecutar una selección en la db cada vez, pero en vez de eso, no lo hace, solo hace la primera consulta y el resto las copia como si fuera la misma,
ahí esta el error, y es lo que no entiendo... no se porque hace eso

espero haberte aclarado la duda, necesito ayudita ^^
Cita:
Iniciado por mortiprogramador Ver Mensaje
p.s: hace relativamente poco se tocó un tema de un calendario, bastante parecido al tuyo, esta por aquí, buscalo (puedes usar la búsqueda avanzada, y busca los que yo haya escrito que contengan la palabra calendario y que sean del foro php para que te filtre por esos parámetros sea más certera la búsqueda)
el calendario que rondaba por aquí seguramente sea el mio pero en version "simple" ya que se lo pase a uno de por aquí que le hacia falta
  #4 (permalink)  
Antiguo 17/09/2010, 15:54
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: no encuentro el problema

bueno, no se si sea el tuyo en modo simple... pero si es ese entonces donde te comento ya esta solventado lo que buscas...
en cuanto a lo que tienes, pregunto algo, como viene el dato

$arr_dia[$n]=$row_dias['dia']."/".$row_dias['mes'];

es decir, como viene de la bd?? sobre todo los días? 1 o 01 por ej?
nos comentas
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #5 (permalink)  
Antiguo 17/09/2010, 16:27
 
Fecha de Ingreso: octubre-2007
Mensajes: 87
Antigüedad: 17 años, 1 mes
Puntos: 1
Respuesta: no encuentro el problema

viene exactamente como dices, de la db y $arr_dia[$n]=$row_dias['dia']."/".$row_dias['mes']; .
se guardan sin 0, es decir, 1..2... etc
  #6 (permalink)  
Antiguo 17/09/2010, 16:45
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: no encuentro el problema

uhm, y espacios? haces trim al guardar?
revisa eso, también imprime el array antes del for
para saber que vengan todos los datos que deberían,
y si hasta allí esta bien, entonces hay algo internamente
que no esta cuadrando para la comparación
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: encuentro
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 21:47.