Foros del Web » Programando para Internet » PHP »

pasar dos variables por url

Estas en el tema de pasar dos variables por url en el foro de PHP en Foros del Web. amigos saludos mi problema es el siguiente tengo que hacer una busqueda de eventos entre el rango de dos fechas, tengo dos calendario uno va ...
  #1 (permalink)  
Antiguo 06/10/2006, 11:59
Avatar de devildriver  
Fecha de Ingreso: julio-2006
Mensajes: 118
Antigüedad: 17 años, 9 meses
Puntos: 0
pasar dos variables por url

amigos saludos mi problema es el siguiente tengo que hacer una busqueda de eventos entre el rango de dos fechas, tengo dos calendario uno va a ser fecha inicial y el otro fecha final yo quiero que me almacene esas dos variables al darle click, ejemplo si le doy a un dia del calendario fecha inicial me guarde esa variable y al darle a fecha final me guarde esta otra para poder generar una consulta, el problema q tengo es que solo me carga una de las dos.

este es uno
<a href='mostrar.php?evento=$evento' target='evento'>$fecha</a>
y este es el otro
<a href='mostrar.php?evento=$evento2' target='evento2'>$fecha2</a>

me las manda pero una sola no las dos! sera que tengo que almacenar eso en un array?
  #2 (permalink)  
Antiguo 06/10/2006, 12:01
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

Por favor menciona como estas inicializando las "$fechas". De esta forma se te podra dar una mejor "posible" solucion.

Gracias.
  #3 (permalink)  
Antiguo 06/10/2006, 12:05
Avatar de devildriver  
Fecha de Ingreso: julio-2006
Mensajes: 118
Antigüedad: 17 años, 9 meses
Puntos: 0
ok amigo disculpa

este es un script de un calendario

Código PHP:
<?php
include("funciones.php");
$mess $_GET['mess'];
$anio $_GET['anio'];
if(
$mess == "" || $anio == ""){
    
$anio date("Y");
    
$mess date("n");
}
    
$ultimo date("t",mktime(000$mess1$anio));
    if(
$mess == '12' || $mess == '1'){
        if(
$mess == '12'){
            
$next 1;
            
$prev $mess -1;
            
$anion $anio 1;
            
$aniop $anio;
        }
        if(
$mess == '1'){
            
$next $mess 1;
            
$prev 12;
            
$anion $anio;
            
$aniop $anio -1;        
        }
    }else{
        
$next $mess 1;
        
$prev $mess 1;    
        
$aniop $anio;
        
$anion $anio;
    }
    echo 
"<tr><th colspan=7>$anio</th></tr><tr>";
    echo 
"<tr><td><a href='".$_SERVER['PHP_SELF']."?mess=$prev&anio=$aniop'><<</a></td><th colspan=5>$mes[$mess]</th><td><a href='".$_SERVER['PHP_SELF']."?mess=$next&anio=$anion'>>></td></tr><tr>";
    echo 
"<tr><td>D</td><td>L</td><td>M</td><td>M</td><td>J</td><td>V</td><td>S</td></tr>";
    
$diaa "1";
    
$diaz cargarmatriz($ultimo,$mess,$anio);
    
$j 0;
    while(
$diaa <= $ultimo){
        
$dia date("D",mktime(0,0,0,$mess,$diaa,$anio)); # retorna el dia de la semana en letras...
        
$fecha date("j",mktime(0,0,0,$mess,$diaa,$anio)); #retorna el dia del mes en 01/31
        
$dia_semana date("w",mktime(0,0,0,$mess,$diaa,$anio)); #retorna el dia de la semana en numero
        
$evento $anio."-".$mes_num[$mess]."-".$fecha;
        if(
$dia == "Sun"){
            echo 
"</tr><tr>";
        }
        if(
$fecha == "1"){
            
$i=0;
            while(
$i != $dia_semana){
                echo 
"<td>&nbsp;</td>";
                
$i++;
            }
        }
        if(
$anio == date("o") && $mes[$mess] == $mes[date("n")] && $fecha == date("j")){
            if(
$fecha == $diaz[$j] ){
                echo 
"<td class='tddia' align='center'><b><a href='mostrar.php?evento=$evento&evento2=$evento2' target='evento'>$fecha</a></b></td>";
                
$j++;
            }else{
                echo 
"<td class='calendario' align='center'><b>$fecha</b></td>";
            }
        }else{
            if(
$fecha == $diaz[$j] ){
                echo 
"<td class='tddia' align='center'><b><a href='mostrar.php?evento=$evento' target='evento'>$fecha</a></b></td>";
                
$j++;
            }else{
                echo 
"<td align='center'>$fecha</td>";
            }
        }
        
$diaa++;
    }
    echo 
"</tr>";

$mess $_GET['mess'];
$anio $_GET['anio'];
if(
$mess == "" || $anio == ""){
    
$anio date("Y");
    
$mess date("n");
}
    
$ultimo date("t",mktime(000$mess1$anio));
    if(
$mess == '12' || $mess == '1'){
        if(
$mess == '12'){
            
$next 1;
            
$prev $mess -1;
            
$anion $anio 1;
            
$aniop $anio;
        }
        if(
$mess == '1'){
            
$next $mess 1;
            
$prev 12;
            
$anion $anio;
            
$aniop $anio -1;        
        }
    }else{
        
$next $mess 1;
        
$prev $mess 1;    
        
$aniop $anio;
        
$anion $anio;
    }
    echo 
"<tr><th colspan=7>$anio</th></tr><tr>";
    echo 
"<tr><td><a href='".$_SERVER['PHP_SELF']."?mess=$prev&anio=$aniop'><<</a></td><th colspan=5>$mes[$mess]</th><td><a href='".$_SERVER['PHP_SELF']."?mess=$next&anio=$anion'>>></td></tr><tr>";
    echo 
"<tr><td>D</td><td>L</td><td>M</td><td>M</td><td>J</td><td>V</td><td>S</td></tr>";
    
$diaa "1";
    
$diaz cargarmatriz($ultimo,$mess,$anio);
    
$j 0;
    while(
$diaa <= $ultimo){
        
$dia date("D",mktime(0,0,0,$mess,$diaa,$anio)); # retorna el dia de la semana en letras...
        
$fecha2 date("j",mktime(0,0,0,$mess,$diaa,$anio)); #retorna el dia del mes en 01/31
        
$dia_semana date("w",mktime(0,0,0,$mess,$diaa,$anio)); #retorna el dia de la semana en numero
        
$evento2 $anio."-".$mes_num[$mess]."-".$fecha2;
        if(
$dia == "Sun"){
            echo 
"</tr><tr>";
        }
        if(
$fecha2 == "1"){
            
$i=0;
            while(
$i != $dia_semana){
                echo 
"<td>&nbsp;</td>";
                
$i++;
            }
        }
        if(
$anio == date("o") && $mes[$mess] == $mes[date("n")] && $fecha2 == date("j")){
            if(
$fecha2 == $diaz[$j] ){
                echo 
"<td class='tddia' align='center'><b><a href='mostrar.php?evento2=$evento2' target='evento'>$fecha2</a></b></td>";
                
$j++;
            }else{
                echo 
"<td class='calendario' align='center'><b>$fecha</b></td>";
            }
        }else{
            if(
$fecha2 == $diaz[$j] ){
                echo 
"<td class='tddia' align='center'><b><a href='mostrar.php?evento2=$evento2' target='evento'>$fecha2</a></b></td>";
                
$j++;
            }else{
                echo 
"<td align='center'>$fecha</td>";
            }
        }
        
$diaa++;
    }
    echo 
"</tr>";
?>
</table>
</td><td>
<IFRAME SRC="mostrar.php" WIDTH=450 HEIGHT=120 name="evento">

</IFRAME>

</tr></td>
<tr><td colspan="2"><a href="agregar.php" target="evento">[Agregar evento]</a></td></tr>
</table>
<br><br><br>
funciones.php

<?php
$datos;
$mes[1] = "Enero";
$mes[2] = "Febrero";
$mes[3] = "Marzo";
$mes[4] = "Abril";
$mes[5] = "Mayo";
$mes[6] = "Junio";
$mes[7] = "Julio";
$mes[8] = "Agosto";
$mes[9] = "Septiembre";
$mes[10] = "Octubre";
$mes[11] = "Noviembre";
$mes[12] = "Diciembre";
$mes_num[1] = "01";
$mes_num[2] = "02";
$mes_num[3] = "03";
$mes_num[4] = "04";
$mes_num[5] = "05";
$mes_num[6] = "06";
$mes_num[7] = "07";
$mes_num[8] = "08";
$mes_num[9] = "09";
$mes_num[10] = "10";
$mes_num[11] = "11";
$mes_num[12] = "12";
$dias[0] = "0";
function conectar(){
$host = "localhost";
$usuariodb = "root";
$pwddb = "";
$db = "c2";
$enlace = mysql_connect($host,$usuariodb,$pwddb);// or die("No pudo conectarse : " . mysql_error());
if (!$enlace) {
die('No conectado : ' . mysql_error());
}
$seldb = mysql_select_db($db,$enlace);
if (!$seldb) {
die ('No se puede usar eventos: ' . mysql_error());
}
return $enlace;
}

function desconectar($conexion){
mysql_close($conexion);
}

function query($sql){
$res = mysql_query($sql) or die (mysql_error());
return $res;
}

function cargarmatriz($ultimo,$mess,$anio){
$i = 0;
$conexion = conectar();
$desde = $anio."-".$mess."-01";
$hasta = $anio."-".$mess."-".$ultimo;
$sql = "select distinct fecha from eventos where fecha BETWEEN '$desde' and '$hasta' order by fecha";
$res = query($sql);
if(mysql_num_rows($res) > 0){
while($fila = mysql_fetch_array($res)){
$fecha = $fila['fecha'];
$dia = explode("-", $fecha);
//if($dias[$i-1] != $dia[2]){
$dias[$i] = $dia[2];
//}
$i++;
}
}else{
$dias[0] = "0";
}
desconectar($conexion);
return $dias;
}

function redireccionar($time,$url){
print "<meta http-equiv=Refresh content=\"$time ; url=$url\">";
}

?>
  #4 (permalink)  
Antiguo 06/10/2006, 12:08
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 4 meses
Puntos: 4
Si te manda una variable de las dos y quieres las dos deberías de cambiar esta línea:

<a href='mostrar.php?evento=$evento' target='evento'>

hacerla de modo que mandes las dos. Por ejemplo:

<a href='mostrar.php?evento1=$evento&evento2=$evento2' target='evento'>

O algo por el estilo, porque como lo estas haciendo sólo mandas una variable. Entonces como quieres que mande dos. Espero haberme dado a entender y esto te de alguna idea. Suerte
  #5 (permalink)  
Antiguo 06/10/2006, 12:11
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
Cita:
Iniciado por devildriver Ver Mensaje
este es uno
<a href='mostrar.php?evento=$evento' target='evento'>$fecha</a>
y este es el otro
<a href='mostrar.php?evento=$evento2' target='evento2'>$fecha2</a>
Si te das cuenta:

?evento=$evento

Así solo pasas la variable evento con el valor $evento o $evento2 segun el enlace en el q se clickee.

Necesitas las 2 fechas?

Sugerencia: Haz q mediante javascript se almacenen, preferiblemente en plan formulario, en un campo, cada uno con su nombre, fecha1 y fecha2 x ejemplo, y luego con el evento onsubmit te aseguras primero q ambas fechas han sido seleccionadas y envias el formulario.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
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 14:42.