Current location: Hot Scripts Forums » Programming Languages » PHP » Calendar though database values.


Calendar though database values.

Reply
  #1 (permalink)  
Old 07-29-09, 12:07 PM
Gaug Gaug is offline
Newbie Coder
 
Join Date: Jun 2009
Posts: 17
Thanks: 0
Thanked 0 Times in 0 Posts
Calendar though database values.

Hello.

Actually what I'm trying to do it's kinda complicated, at least I see it that way, I have a code that receives 2 dates a startdate and an enddate, after that I create a calendar from the months of the startdate to the month of the enddate, but now I want to receive like 40 dates and let me create 20 calendars, one first, then jump in a row and create another one, but let's say that the months will just appear once in the upper and then each calendar only creates text boxes for each month, maybeI can not explain myself very well, I leave the code for you to try it and give you an idea:

PHP Code:

<?php


$fecha
"20-Sep-08";
$fecha2"31-Jul-09";

//se manipula el formato de la fecha

$fechaExplode explode("-"$fecha);
$fechaSearch = array('Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic');
$fechaReplaces = array('01','02','03','04','05','06','07','08','09','10','11','12');
$fechaCambiada str_ireplace($fechaSearch,$fechaReplaces,$fechaExplode[1]);
$fecha$fechaCambiada "-" $fechaExplode[0] . "-" $fechaExplode[2]; 

$fechaExplode2 explode("-"$fecha2);
$fechaSearch2 = array('Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic');
$fechaReplaces2 = array('01','02','03','04','05','06','07','08','09','10','11','12');
$fechaCambiada2 str_ireplace($fechaSearch2,$fechaReplaces2,$fechaExplode2[1]);
$fecha2$fechaCambiada2 "-" $fechaExplode2[0] . "-" $fechaExplode2[2]; 

/////////////////////////////////////////////////////////////////////////////

$palabras=split("-",$fecha);
$palabras2=split("-",$fecha2);


for(
$i=0;isset($palabras[$i]);$i++)
{

if(
$i==0){
$mes=(int) $palabras[$i];
$mes2=(int) $palabras2[$i];}
 else if(
$i==1){
$dia=$palabras[$i];
$dia2=$palabras2[$i];}
 else if(
$i==2){
 
$anio="20".$palabras[$i];
$anio2="20".$palabras2[$i];
}
}

function 
nombres($month){ //para asignar los nombres de los meses

switch($month){
    case 
1$nombre="ENE";
            break;
    case 
2$nombre="FEB";
            break;
    case 
3$nombre="MAR";
            break;
    case 
4$nombre="ABR";
            break;
    case 
5$nombre="MAY";    
            break;
    case 
6$nombre="JUN";
            break;
    case 
7$nombre="JUL";
            break;
    case 
8$nombre="AGO";
            break;
    case 
9$nombre="SEP";
            break;
    case 
10$nombre="OCT";
            break;
    case 
11$nombre="NOV";    
            break;
    case 
12$nombre="DIC";
            break;
    }
//case
return $nombre;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////
?>

<tr>
<td>&nbsp;</td>
<?php 
//para no modificar originales
$mes_mas=$mes;
$anio_mas=$anio
$inicio=1;


if(
$anio==$anio2){
$columna_anio=1;
$columna_mes=($mes2-$mes)+1;
$tot_mes+=$columna_mes
?>

<td colspan="<?php echo $columna_mes+1;//el +1 por el ledger?>"><?php echo $anio?><td/>
</tr>

<tr>
<td>&nbsp;</td> <?php
for($i=1;$i<=$columna_mes;$i++){ 
    
    if (
$i==$columna_mes){ ?> 
    
    <td><?php echo nombres($mes2); ?> </td>
    
    <?php }// if $i
            
else {    ?>
            
            <td> <?php echo nombres($mes_mas);?></td>
            <?php $mes_mas++;
         }
//else $i
//for  ?>
</tr>

<?php }//if ==

 
else {  
    for(
$k=1;$k<=2;$k++){ // 2 por que en la primera crea las columnas y en la segunda los meses.. 
    
$tot_mes=0// se reinicia para que dé el tot neto de los meses.. por que da 2 vueltas y saldria doble el resultado.
    
if($k==1){ //para crear las columnas
    
$columna_anio=($anio2-$anio)+1;
    
?>
    
    
    <?php 
    
for($j=1;$j<=$columna_anio;$j++){
        
        if(
$j==1){
        
$columna_mes=(12-$mes)+1;
        
$tot_mes+=$columna_mes;  ?>
        
        <td colspan="<?php echo $columna_mes+1;//por ledger?>"><?php echo $anio;?></td>
         <?php }//if
            
            
else if ($j==$columna_anio){
            
$columna_mes=$mes2;
            
$tot_mes+=$columna_mes
             
?>
            <td colspan="<?php echo $columna_mes;?>"><?php echo $anio2;?></td>
                <?php //else if
                
                
else {
                
$columna_mes=12;
                
$tot_mes+=$columna_mes
                
$anio_mas++; ?>
                <td colspan="<?php echo $columna_mes;?>"><?php echo $anio_mas;?></td>
                <?php }//else
    
}//for j ?>
</tr>
<?php }//if para crear columnas dentro del for k
        
        
else{ //para crear meses ////////////////////////////////////////////////////////////////////////////////////?>
        <tr> <?php 
        $columna_anio
=($anio2-$anio)+1?>
    
        <td>&nbsp;</td>
    
        <?php 
        
for($l=1;$l<=$columna_anio;$l++){ //para recorrer años
        
            
if($l==1){ //primer año
            
$columna_mes=(12-$mes)+1
            
$tot_mes+=$columna_mes;
                
                for(
$m=1;$m<=$columna_mes;$m++){ //para recorrer los meses ?>
        
                <td> <?php echo nombres($mes_mas); ?></td>
                <?php $mes_mas++; 

                } 
//for de m
        
             
}//if l==1
            
            
else if ($l==$columna_anio){ //si llega al ultimo año
            
$columna_mes=$mes2
            
$tot_mes+=$columna_mes;
            
                for(
$n=1;$n<=$columna_mes;$n++){ //para recorrer meses
            
                
if ($n==$columna_mes){ ?>
             
                <td><?php echo nombres($mes2); ?> </td>
            
                <?php }// if n

                
else { ?>
                
                <td> <?php echo nombres($inicio); ?></td> 
            <?php $inicio++;
 }
//else 
            
            
}//for n
            
$inicio=1;
            } 
//else if
                
                
else {
                
                
$columna_mes=12;  
                
$tot_mes+=$columna_mes;
                    
                for(
$o=1;$o<=$columna_mes;$o++){ //para construir los meses ?>
                
                <td> <?php echo nombres($inicio);?></td>
            <?php $inicio++;
    
                }
//for o 
                
$inicio=1;
                 }
//else
    
}//for l ?>
</tr>    <?php        
        
}//else para crear meses dentro del for k
//for k
//else



$tot_columnas=$tot_mes+2//para el ultimo renglon de la tabla y poner las variables hidden, el +2 por la columna de descrip y la de ledger
$celdas=$tot_mes//total de celdas (no se ocupa)

////////////////////////////////////////////para establecer el nombre de las cajas de texto//////////////////////////////


if($columna_anio>1){
$mes_ini=12-$mes
$mes_ini2=$mes+$mes_ini//para el for donde empiezan los meses del primer año
}
else {
$mes_ini=$mes2;
$mes_ini2=$mes_ini//para el for donde empiezan los meses del primer año
}

$z=0//para arreglo en cajas de texto.
?>


<form id="form1" name="form1" method="post" action="requerido222.php" onSubmit="return checar(this.form);">
<tr>

<td>DEV</td>
<?php 
$contador
1;
$i=0;
for(
$p=1;$p<=$columna_anio;$p++){ //recorrer los años 

    
if($p==1){
        
        for(
$q=$mes;$q<=$mes_ini2;$q++) {//recorrer el primer año ?>
        
        <td><input name="nombre[<?php echo $z;?>]" type="text" value="0.00" id="<?php echo 'valor'.$i?>"  onkeyup="restar()"   /></td>
        <?php
        $z
++;
        
$i++;
        }
//for q

    
    
//if p==1
    
else if($p==$columna_anio){
    
        for(
$r=1;$r<=$mes2;$r++){ //recorrer meses de utlimo año?>
        <td><input name="nombre[<?php echo $z;?>]" type="text" value="0.00" id="<?php echo 'valor'.$i?>" onkeyup="restar()"  /></td>
        <?php 
        $z
++;
        
$i++;
        }
//for r
    
    
}//else if
    
else{
    
        for(
$s=1;$s<=12;$s++){//para recorrer los meses intermedios ?>
        <td><input name="nombre[<?php echo $z;?>]" type="text"  value="0.00" id="<?php echo 'valor'.$i?>" onkeyup="restar()"/></td>
        <?php 
        $z
++;
        
$i++;
        }
//for s
    
    
}//else 
}//for p
?>

</tr>
<tr><td colspan="<?php echo $tot_columnas;?>" align="left">
  


<input name="FE" value="Siguiente" type="submit" class="navText"   />
</td></tr>
</form>
</table>

I know this is kinda hard, but I would be very grateful if you give me a hand with this code, I thank you a lot in advance.

Greetings.
Reply With Quote
  #2 (permalink)  
Old 07-29-09, 01:07 PM
Gaug Gaug is offline
Newbie Coder
 
Join Date: Jun 2009
Posts: 17
Thanks: 0
Thanked 0 Times in 0 Posts
I solved it, with a 'for' cycle and with 'mysql_num_rows', thanks anyway.
Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Problem with Auto Dealer Script nuzzle PHP 17 04-14-10 08:34 PM
Inserting values on database. Gaug Script Requests 11 08-03-09 07:23 AM
Problem when inserting values in database. Gaug PHP 3 07-02-09 07:18 PM


All times are GMT -5. The time now is 07:55 AM.
vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.