Foros del Web » Programando para Internet » PHP »

¿Como pasar variable sin cambiar pagina?

Estas en el tema de ¿Como pasar variable sin cambiar pagina? en el foro de PHP en Foros del Web. Hola que tal, necesito saber si es posible utilizar un link para pasar una variable o valor a una pagina, pero sin que efectivamente se ...
  #1 (permalink)  
Antiguo 08/05/2008, 14:10
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
¿Como pasar variable sin cambiar pagina?

Hola que tal, necesito saber si es posible utilizar un link para pasar una variable o valor a una pagina, pero sin que efectivamente se cambie de pagina.

Es decir, que al hacer click en el link se envie un valor/variable, pero que no me mande a otra pagina. ¿se entiende?.

Es que necesito permanecer en la misma pagina del link porque la consulta la ejecuta un archivo que es mostrado con ajax.

Entonces, al hacer click en el link, este "enviaria" el valor a consultar a el script php en paginador2.php y el resultado se mostraria en la misma, sin recargar.

Tengo esto:

Código PHP:
<a href="javascript:ajaxpage('paginador2.php', 'mainContent');" onClick="valor=<?php $_POST['animaciones'];?>">Animaciones</a>
voy bien? porque no me resulta, jeje

ayuda plis

Última edición por Ruben_C; 08/05/2008 a las 14:37
  #2 (permalink)  
Antiguo 08/05/2008, 14:44
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Re: Pasar variable sin cambiar pagina

si se puede... y justamente con ajax se hace..

Pagina 1:

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<Script>
function pasadato(){
var dato = document.getElementById('textbox').value;
//alert(dato);
OpenPage('2.php?textbox='+dato);
}
function toggle(what) {
        var aobj = document.getElementById(what);
        if( aobj.style.display == 'none' ) {
               aobj.style.display = '';
        } else {
               aobj.style.display = 'none';
        }
}
function CrearXMLHttp(){
	XMLHTTP=false;
	if(window.XMLHttpRequest){
		return new XMLHttpRequest();
	}else if(window.ActiveXObject){
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
}
// suponiendo que tu div se llama loading
function OpenPage(url){
	req=CrearXMLHttp();
	if(req){
		req.onreadystatechange = manejador;
		req.open("POST",url,true);
		req.send(null);
                toggle('loading'); // ojo aqui
	}
}
function manejador(){
	if(req.readyState == 4){
		if(req.status == 200){
                        toggle('loading'); // ojo aca
			document.getElementById("tdc").innerHTML=req.responseText;
		}else{
			alert("Error"+req.statusText)
		}
	}
}
</Script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<p><?php if ($_POST['Algo'] != ""){ ?>Valor recibido por $_POST['Algo']:&nbsp;<strong><?php echo htmlentities($_POST['Algo']); ?><strong><?php } ?>&nbsp;</p>
<table width="200" border="0">
  <tr>
    <td id="tdc"><div id="loading" style="display:none;" align="left">
          <table width="50" border="1" style="border-collapse:collapse;">
            <tr>
              <td bgcolor="#FF0000"><span style="color:#FFFFFF; font-weight:bold;">Cargando...</span></td>
            </tr>
          </table>
      </div><p>Valor a pasar: 
  <input name="textbox" type="text" id="textbox" value="1" size="8" />
</p></td>
  </tr>
</table>
<p><a href="javascript:pasadato();">Pasar Valor</a></p>
<p>
  <label>
  <input type="submit" name="button" id="button" value="enviar" />
  </label>
</p>
</form>
<p>&nbsp;</p>
</body>
</html>



Pagina 2:

Código HTML:
<div id="loading" style="display:none;" align="left">
          <table width="50" border="1" style="border-collapse:collapse;">
            <tr>
              <td bgcolor="#FF0000"><span style="color:#FFFFFF; font-weight:bold;">Cargando...</span></td>
            </tr>
          </table>
      </div>Valor Pasado: <?php echo htmlentities($_GET['textbox']); ?>
<input type="hidden" name="Algo" id="Algo" value="<?php echo htmlentities($_GET['textbox']); ?>">

__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #3 (permalink)  
Antiguo 08/05/2008, 14:52
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: ¿Como pasar variable sin cambiar pagina?

hola gracias por la respuesta, ya consegui pasar la variable con onclick. Ahora lo que me complica es que estos links

Animacion
Evento

al hacer click, pasen un valor distinto al script contenido en paginacion.php y en paginacion, tomar la variable enviada y convertirla a su valor correspondiente, que puede ser animaciones o eventos. Eso es mas o menos, se entiende?
  #4 (permalink)  
Antiguo 08/05/2008, 14:53
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Re: ¿Como pasar variable sin cambiar pagina?

en realidad no comprendo muy bien lo que queres hacer.. si pones el codigo capas que te pueda ayudar...
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #5 (permalink)  
Antiguo 08/05/2008, 15:01
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: ¿Como pasar variable sin cambiar pagina?

index.php
Código HTML:
<body>
<p><a href="javascript:ajaxpage('paginador2.php', 'mainContent');" onClick="valor=<?php echo $_POST['animaciones'];?>">Animaciones</a></p>
<p><a href="javascript:ajaxpage('paginador2.php', 'mainContent');" onClick="valor=<?php echo $_POST['pintura'];?>">Pintura</a></p>
<p><a href="javascript:ajaxpage('paginador2.php', 'mainContent');" onClick="valor=<?php echo $_POST['musica'];?>">Musica</a></p>

<div style="margin:auto;width:620px;text-align:center;">
 <div id="mainContent">
  <?php include('paginador2.php')?>
 </div>
</div>
</body> 
Quiero saber como tomar esas "variables/ variables" para meterlas en la consulta de paginador2, porque ya tomo las variables que vienen de ajax_paginador.js


paginador2.php
Código PHP:
<?php
 
require_once('Connections/seleccion.php');
 
mysql_select_db($database_seleccion$seleccion) or die(mysql_error());
 
$RegistrosAMostrar=4;

 
//estos valores los recibo por GET de ajax_paginador.js
 
if(isset($_GET['pag'])){
  
$RegistrosAEmpezar=($_GET['pag']-1)*$RegistrosAMostrar;
  
$PagAct=$_GET['pag'];
  
//caso contrario los iniciamos
 
}else{
  
$RegistrosAEmpezar=0;
  
$PagAct=1;
 } 
 
 echo 
"<table border='1px'>";
echo 
"<tr>"
echo 
"<td text-align='center'>".Nombre."</td>";
echo 
"<td>".Apellido."</td>";
echo 
"<td>".Mail."</td>";
echo 
"<td>".Categoria."</td>";
echo 
"</tr>";
 
$Resultado=mysql_query("SELECT * FROM registro ORDER BY nombre LIMIT $RegistrosAEmpezar, $RegistrosAMostrar",$seleccion);

 while(
$MostrarFila=mysql_fetch_array($Resultado)){
  echo 
"<tr>";?>
  <?php echo "<td>"?><a href="detalleuser.php?valor=<?php echo $MostrarFila['id']?>"><?php echo $MostrarFila['nombre']?></a><?php "</td>";?>
<?php 
echo "<td>".$MostrarFila['apellido']."</td>";
  echo 
"<td>".$MostrarFila['mail']."</td>";
   echo 
"<td>".$MostrarFila['especifico']."</td>";
  echo 
"</tr>";
 }
 echo 
"</table>";

 
//******--------determinar las páginas---------******//
 
$NroRegistros=mysql_num_rows(mysql_query("SELECT * FROM registro",$seleccion));
 
$PagAnt=$PagAct-1;
 
$PagSig=$PagAct+1;
 
$PagUlt=$NroRegistros/$RegistrosAMostrar;

 
//verificamos residuo para ver si llevará decimales
 
$Res=$NroRegistros%$RegistrosAMostrar;
 
// si hay residuo usamos funcion floor para que me
 // devuelva la parte entera, SIN REDONDEAR, y le sumamos
 // una unidad para obtener la ultima pagina
 
if($Res>0$PagUlt=floor($PagUlt)+1;
 
 
//desplazamiento
 
echo "<a onclick=\"Pagina('1')\">Primero</a> ";
 if(
$PagAct>1) echo "<a onclick=\"Pagina('$PagAnt')\">Anterior</a> ";
 echo 
"<strong>Pagina ".$PagAct."/".$PagUlt."</strong>";
 if(
$PagAct<$PagUlt)  echo " <a onclick=\"Pagina('$PagSig')\">Siguiente</a> ";
 echo 
"<a onclick=\"Pagina('$PagUlt')\">Ultimo</a>";
?>
se entiende?
  #6 (permalink)  
Antiguo 08/05/2008, 15:54
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: ¿Como pasar variable sin cambiar pagina?

Alguien alguna idea?, se puede usar esto?

$_GET['$_POST']; o nada que ver?
  #7 (permalink)  
Antiguo 08/05/2008, 19:51
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: ¿Como pasar variable sin cambiar pagina?

nada que ver, RubenC ya que para empezar solo recibe valores escalares el indice de un arreglo, y NO otro arreglo... tambien, debiste quitar las comillas... asi no se evalua un variable sencilla...
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:17.