Foros del Web » Programando para Internet » PHP »

comparar valor de un checkbos con un registro de mysql

Estas en el tema de comparar valor de un checkbos con un registro de mysql en el foro de PHP en Foros del Web. Tengo el siguiente codigo de un calendario hecho en php Código PHP: <?php include( 'conexion.php' ); function  calcula_numero_dia_semana ( $dia , $mes , $ano ){ ...
  #1 (permalink)  
Antiguo 11/07/2011, 13:30
 
Fecha de Ingreso: diciembre-2010
Mensajes: 87
Antigüedad: 13 años, 3 meses
Puntos: 2
comparar valor de un checkbos con un registro de mysql

Tengo el siguiente codigo de un calendario hecho en php

Código PHP:
<?php
include('conexion.php');
function 
calcula_numero_dia_semana($dia,$mes,$ano){
    
$numerodiasemana date('w'mktime(0,0,0,$mes,$dia,$ano));
    if (
$numerodiasemana == 0
        
$numerodiasemana 6;
    else
        
$numerodiasemana--;
    return 
$numerodiasemana;
}

//funcion que devuelve el último día de un mes y año dados
function ultimoDia($mes,$ano){
    
$ultimo_dia=28;
    while (
checkdate($mes,$ultimo_dia,$ano)){
            
$ultimo_dia++;
    }    
    
$ultimo_dia--;
    return 
$ultimo_dia;
}

function 
dame_nombre_mes($mes){
     switch (
$mes){
         case 
1:
            
$nombre_mes="Enero";
            break;
         case 
2:
            
$nombre_mes="Febrero";
            break;
         case 
3:
            
$nombre_mes="Marzo";
            break;
         case 
4:
            
$nombre_mes="Abril";
            break;
         case 
5:
            
$nombre_mes="Mayo";
            break;
         case 
6:
            
$nombre_mes="Junio";
            break;
         case 
7:
            
$nombre_mes="Julio";
            break;
         case 
8:
            
$nombre_mes="Agosto";
            break;
         case 
9:
            
$nombre_mes="Septiembre";
            break;
         case 
10:
            
$nombre_mes="Octubre";
            break;
         case 
11:
            
$nombre_mes="Noviembre";
            break;
         case 
12:
            
$nombre_mes="Diciembre";
            break;
    }
    return 
$nombre_mes;
}

function 
mostrar_calendario($mes,$ano){
    
//tomo el nombre del mes que hay que imprimir
    
$nombre_mes dame_nombre_mes($mes);
    
    
//construyo la tabla general
    
echo'<form name="form_fechas">';
    echo 
'<table class="tablacalendario" cellspacing="3" cellpadding="2" border="0">';
    echo 
'<tr><td colspan="7" class="tit">';
    
//tabla para mostrar el mes el año y los controles para pasar al mes anterior y siguiente
    
echo '<table width="100%" cellspacing="2" cellpadding="2" border="0"><tr><td class="messiguiente">';
    
//calculo el mes y ano del mes anterior
    
$mes_anterior $mes 1;
    
$ano_anterior $ano;
    if (
$mes_anterior==0){
        
$ano_anterior--;
        
$mes_anterior=12;
    }
    echo 
'<a href="index.php?nuevo_mes=' $mes_anterior '&nuevo_ano=' $ano_anterior .'"><span>&lt;&lt;</span></a></td>';
       echo 
'<td class="titmesano">' $nombre_mes " " $ano '</td>';
       echo 
'<td class="mesanterior">';
    
//calculo el mes y ano del mes siguiente
    
$mes_siguiente $mes 1;
    
$ano_siguiente $ano;
    if (
$mes_siguiente==13){
        
$ano_siguiente++;
        
$mes_siguiente=1;
    }
    echo 
'<a href="index.php?nuevo_mes=' $mes_siguiente '&nuevo_ano=' $ano_siguiente '"><span>&gt;&gt;</span></a></td>';
    
//finalizo la tabla de cabecera
    
echo '</tr></table>';
    echo 
'</td></tr>';
    
//fila con todos los días de la semana
    
echo '    <tr>
                <td width="14%" class="diasemana"><span>L</span></td>
                <td width="14%" class="diasemana"><span>M</span></td>
                <td width="14%" class="diasemana"><span>M</span></td>
                <td width="14%" class="diasemana"><span>J</span></td>
                <td width="14%" class="diasemana"><span>V</span></td>
                <td width="14%" class="diasemana"><span>S</span></td>
                <td width="14%" class="diasemana"><span>D</span></td>
            </tr>'
;
    
    
//Variable para llevar la cuenta del dia actual
    
$dia_actual 1;
    
    
//calculo el numero del dia de la semana del primer dia
    
$numero_dia calcula_numero_dia_semana(1,$mes,$ano);
    
//echo "Numero del dia de demana del primer: $numero_dia <br>";
    
    //calculo el último dia del mes
    
$ultimo_dia ultimoDia($mes,$ano);
    
    
//escribo la primera fila de la semana
    
echo "<tr>";
    for (
$i=0;$i<7;$i++){
        if (
$i $numero_dia){
            
//si el dia de la semana i es menor que el numero del primer dia de la semana no pongo nada en la celda
            
echo '<td class="diainvalido"><span></span></td>';
        } else {
            echo 
'<td class="diavalido"><span>' $dia_actual '<input name="fecha" type="checkbox" value='.$ano.'/'.$mes.'/'.$dia_actual.' /></span></td>';
            
$dia_actual++;
        }
    }
    echo 
"</tr>";
    
    
//recorro todos los demás días hasta el final del mes
    
$numero_dia 0;
    while (
$dia_actual <= $ultimo_dia){
        
//si estamos a principio de la semana escribo el <TR>
        
if ($numero_dia == 0)
            echo 
"<tr>";
        echo 
'<td class="diavalido"><span>' $dia_actual '<input name="fecha" type="checkbox" value='.$ano.'/'.$mes.'/'.$dia_actual.'  /></span></td>';
        
$dia_actual++;
        
$numero_dia++;
        
//si es el uñtimo de la semana, me pongo al principio de la semana y escribo el </tr>
        
if ($numero_dia == 7){
            
$numero_dia 0;
            echo 
"</tr>";
        }
    }
    
    
//compruebo que celdas me faltan por escribir vacias de la última semana del mes
    
for ($i=$numero_dia;$i<7;$i++){
        echo 
'<td class="diainvalido"><span></span></td>';
    }
    
    echo 
"</tr>";
    echo 
"</table>";
    echo
'</form>';
}

function 
formularioCalendario($mes,$ano){
echo 
'
    <table align="center" cellspacing="2" cellpadding="2" border="0">
    <tr><form action="index.php" method="POST">'
;
echo 
'
    <td align="center" valign="top">
        Mes: <br>
        <select name=nuevo_mes>
        <option value="1"'
;
if (
$mes==1)
 echo 
"selected";
echo
'>Enero</option>
        <option value="2" '
;
if (
$mes==2
    echo 
"selected";
echo
'>Febrero</option>
        <option value="3" '
;
if (
$mes==3
    echo 
"selected";
echo
'>Marzo</option>
        <option value="4" '
;
if (
$mes==4
    echo 
"selected";
echo 
'>Abril</option>
        <option value="5" '
;
if (
$mes==5
        echo 
"selected";
echo 
'>Mayo</option>
        <option value="6" '
;
if (
$mes==6
    echo 
"selected";
echo 
'>Junio</option>
        <option value="7" '
;
if (
$mes==7
    echo 
"selected";
echo 
'>Julio</option>
        <option value="8" '
;
if (
$mes==8
    echo 
"selected";
echo 
'>Agosto</option>
        <option value="9" '
;
if (
$mes==9
    echo 
"selected";
echo 
'>Septiembre</option>
        <option value="10" '
;
if (
$mes==10
    echo 
"selected";
echo 
'>Octubre</option>
        <option value="11" '
;
if (
$mes==11
    echo 
"selected";
echo 
'>Noviembre</option>
        <option value="12" '
;
if (
$mes==12
    echo 
"selected";
echo 
'>Diciembre</option>
        </select>
        </td>'
;
echo 
'        
        <td align="center" valign="top">
        A&ntilde;o: <br>
        <select name=nuevo_ano>
    '
;
//este bucle se podría hacer dependiendo del número de año que se quiera mostrar
//yo voy a mostar 10 años atrás y 10 adelante de la fecha mostrada en el calendario
for ($anoactual=$ano-2$anoactual<=$ano+100$anoactual++){
    echo 
'<option value="' $anoactual '" ';
    if (
$ano==$anoactual) {
        echo 
"selected";
    }
    echo 
'>' $anoactual '</option>';
}
echo 
'</select>
        </td>'
;
echo 
'
    </tr>
    <tr>
        <td colspan="2" align="center"><input type="Submit" value="[ IR A ESE MES ]"></td>
    </tr>
    </table><br>
    
    <br>
    
    </form>'
;
}
mysql_close($conexion);
?>
<center><a href="javascript:checar()">Probar</a></center>
a lado de cada fecha hay un checkbox que toma como valor el año/mes/dia y con la funcion javascript al final guarda el valor de los checkbox seleccionados en una base de datos, eso es sencillo y ya lo hice,
ahora lo que quiero hacer que al ver nuevamente el calendario los checkbox que guarde anteriormente se vean marcados, ¿como puedo lograr eso?
  #2 (permalink)  
Antiguo 11/07/2011, 14:38
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: comparar valor de un checkbos con un registro de mysql

hace otra consulta para donde esta el valor del la fecha
__________________
cada vez que aprendes algo te crees que no sabes nada

Etiquetas: mysql, registro, tabla, formulario, variables
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 09:07.