Foros del Web » Programando para Internet » PHP »

Como obtener la posicion de un arreglo al dar click en un link

Estas en el tema de Como obtener la posicion de un arreglo al dar click en un link en el foro de PHP en Foros del Web. Buenas Saludos a Todos, no tengo mucha experiencia en php y la vdd necesito un poco de ayuda, les comento el inconveniente, tengo un datatable ...
  #1 (permalink)  
Antiguo 10/02/2010, 09:44
 
Fecha de Ingreso: agosto-2008
Mensajes: 64
Antigüedad: 16 años, 3 meses
Puntos: 0
Como obtener la posicion de un arreglo al dar click en un link

Buenas Saludos a Todos, no tengo mucha experiencia en php y la vdd necesito un poco de ayuda, les comento el inconveniente, tengo un datatable que me muestra un listado donde cada uno tiene un id, lo que necesito es obtener ese id de forma dinamica, me refiero a que si el listado tiene 10 registros, donde cada registro al final tiene un link que me lleva a otra pagina, y doy click en el link de la posicion 5 poder llevarme el id de el registro de esa posicion, lo que no he podido es acceder dinamicamente a la posicion del arreglo del cual se selecciono.

Espero haber sido claro y ojala alguien me pueda dar una mano.

Gracias. Exitos!!
  #2 (permalink)  
Antiguo 10/02/2010, 09:51
Avatar de morior  
Fecha de Ingreso: agosto-2009
Ubicación: Barcelona
Mensajes: 437
Antigüedad: 15 años, 4 meses
Puntos: 12
Respuesta: Como obtener la posicion de un arreglo al dar click en un link

datatable? eso existe? (perdón por la ignorancia). Qué lenguaje más raro usas.

Si lo que quieres es acceder dinámicamente a diferentes páginas agrupadas por un Identificador haz cosas al estilo:

www.tudominio.com/programa.php?id= (y aqui le pones una variable que la puedes gestionar en otro lado)


Y en la página recoges esa id

$pagina_dinamica = $_GET['id'];

Y de ahí ya puedes hacer consultas en tu datatable.

Es algo muy esquemático, si necesitas información más de fondo pídela pero explícate un poco mejor por favor.
__________________
Juego de navegador online
  #3 (permalink)  
Antiguo 10/02/2010, 09:58
 
Fecha de Ingreso: agosto-2008
Mensajes: 64
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Como obtener la posicion de un arreglo al dar click en un link

Hola Gracias por la respuesta, si lamento no ser mas claro pero debe ser por la falta de experiencia en php, mira tengo un listado de unas visitas de un usuario y al final de la informacion que se muestra hay un link(por cada visita) que me va a dirijir a una pagina donde voy a realizar un pago de esas visitas, el id del usuario ya me lo puedo llevar, lo que no se es como llevarme el id de la visita seleccionada.

Ejemplo:

Hay 10 visitas para este usuario y todas tienen id entre 1 y 100 aleatorio (Esto es porque solo veo las visitas de cierto usuario y va a haber miles de visitas), yo quiero pagar la visita que esta en la posicion 5 del listado, como hago para que el link me tome esa posicion para asi obtener el id de esa visita y llevarlo a la otra pagina.

Nuevamente Gracias
  #4 (permalink)  
Antiguo 10/02/2010, 10:02
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 10 meses
Puntos: 29
Respuesta: Como obtener la posicion de un arreglo al dar click en un link

En el enlace como te dijeron antes:
<a hreF=pagina.php?id=IDENTIFICADOR>link</a>
Y luego lo recoges con php: <?php echo $_GET['id'];?>

Para más información http://es.php.net
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #5 (permalink)  
Antiguo 10/02/2010, 10:08
 
Fecha de Ingreso: agosto-2008
Mensajes: 64
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Como obtener la posicion de un arreglo al dar click en un link

Gracias por la respuesta, y me disculpo aun no me explico bien, esa parte ya la tengo y me funciona

$visitas -> es mi arreglo con el listado de las visitas
$id_visita -> debe ser el id de la visita seleccionada

lo que necesito es poder hacer algo como esto

$id_visita = $visitas['aqui es donde no he podido obtener la posicion dinamicamente para que me tome el id de ese registro']['id_visita'];

Es que cada registro de la tabla tiene un link en el ultimo campo, al dar click de alguna forma debo poder tomar la posicion en la que se encuentra para poder ponerla en el arreglo y obtener el id.

Muchas Gracias
  #6 (permalink)  
Antiguo 10/02/2010, 10:12
Avatar de morior  
Fecha de Ingreso: agosto-2009
Ubicación: Barcelona
Mensajes: 437
Antigüedad: 15 años, 4 meses
Puntos: 12
Respuesta: Como obtener la posicion de un arreglo al dar click en un link

Un pequeño apunte, si necesitas y quieres tener a los usuarios controlados para que no te hagan cosas raras, lo mejor será que utilices variables de sesión, si envías ID aleatorios los usuarios te los podrán falsear no? en cambio las variables de session corren en el servidor y son muy seguras.

¿Cómo hacerlo?

Cuando un usuario entra en tu web le asignas una sesion (no lo sé eso sí lo podrías hacer aleatorio) y luego de ahí ya tienes su sesión guardada para al final procesarla. Podrías por ejemplo crear hasta dos variables de sesion una identificadora para el usuario y otra que fuera el contador de lo que va haciendo. En código...

Código PHP:
<?
session_start
();

$_SESSION['identificador']="GYGFVTf441gd6g"//esto debería ser un aleatorio por ejemplo
$_SESSION['paginas_vistas']++;

?>
Al final comparas la variable de sesion con las páginas vistas por ejemplo y adjudicas el precio. ¿Es lo que necesitas?
Para hacer pagar a la visita concreta harías algo al estilo:

Código PHP:
<?
session_start
();

<
a href="srcpit_pagos.php?id='{$_SESSION['identificador']}'">pagar</a>

?>
Espero haberte sido de ayuda.
__________________
Juego de navegador online
  #7 (permalink)  
Antiguo 10/02/2010, 10:13
 
Fecha de Ingreso: junio-2007
Ubicación: Mérida, Yucatán, México
Mensajes: 94
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: Como obtener la posicion de un arreglo al dar click en un link

Hola que tal,

Para ser sincero no comprendí bien lo que quieres hacer, sin embargo como dicen los demás debes utilizar la variable $_GET para intercambiar información entre cada página. Lo importante es la hora de crear el enlace.

Si entendí bien necesitas dos cosas, el id del usuario y el id de la visita...

El ennlace entonces necesita dos variable,... index.php?idusuario=1526556&idvisita=897

Y para complementar los lugares donde buscar que muy amablamente ChuLoSoY te ha pasado te agrego unos cuantos enlaces más..

http://www.desarrolloweb.com/faq/511.php
http://www.cristalab.com/tips/obtene...n-php-c31736l/
http://www.php.net/manual/en/reserved.variables.get.php
  #8 (permalink)  
Antiguo 10/02/2010, 10:15
 
Fecha de Ingreso: junio-2007
Ubicación: Mérida, Yucatán, México
Mensajes: 94
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: Como obtener la posicion de un arreglo al dar click en un link

¿Podrás poner un print_r de tu arreglo?

Gracias.. por cierto no había visto ese mensaje ;)
  #9 (permalink)  
Antiguo 10/02/2010, 10:28
 
Fecha de Ingreso: agosto-2008
Mensajes: 64
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Como obtener la posicion de un arreglo al dar click en un link

Otra vez Mil Gracias por sus respuestas y Mil Disculpas por no dejar claro lo que necesito... va un ejemplo más claro de mi problema

Tengo los registros de las visitas de los usuarios

Pos 0 - 1 - 2010-02-02 - Entidad 1 - Link
Pos 1 - 5 - 2010-02-03 - Entidad 2 - Link
Pos 2 - 15 - 2010-02-04 - Entidad 3 - Link
Pos 3 - 25 - 2010-02-06 - Entidad 4 - Link
Pos 4 - 31 - 2010-02-08 - Entidad 5 - Link

Entonces yo quiero pagar la visita de la posicion 2, necesito poder indicarle al link que posicion es para que me envie ese valor, es decir me envie el 2, y asi poder hacer

$visita = $visita[2]['id_visita'];

y poder obtener el id de la visita.

Muchas Gracias
  #10 (permalink)  
Antiguo 10/02/2010, 10:57
 
Fecha de Ingreso: junio-2007
Ubicación: Mérida, Yucatán, México
Mensajes: 94
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: Como obtener la posicion de un arreglo al dar click en un link

Te recomiendo de nuevo que envies un poco de tú código, incluyendo tu arreglo, porque es más fácil entenderte.

Supongo que tu arreglo es de la siguiente forma:

Código:
Array
(
  0 => Array(
             'id_visita' => 1,
             'fecha'     => 2010-02-02
             'entidad'   => 'Entidad 1',
             'link'      => 'link'
	     'id_usuario'=> 1
             ),
  1 => Array(
             'id_visita' => 5,
             'fecha'     => 2010-02-03
             'entidad'   => 'Entidad 1',
             'link'      => 'link'
	     'id_usuario'=> 14
             ),
  2 => Array(
             'id_visita' => 15,
             'fecha'     => 2010-02-04
             'entidad'   => 'Entidad 1',
             'link'      => 'link'
	     'id_usuario'=> 8
             ),
  3 => Array(
             'id_visita' => 25,
             'fecha'     => 2010-02-06
             'entidad'   => 'Entidad 1',
             'link'      => 'link'
	     'id_usuario'=> 7
             ),
  4 => Array(
             'id_visita' => 31,
             'fecha'     => 2010-02-08
             'entidad'   => 'Entidad 1',
             'link'      => 'link'
	     'id_usuario'=> 3
             )
)
es así?
  #11 (permalink)  
Antiguo 10/02/2010, 11:11
 
Fecha de Ingreso: agosto-2008
Mensajes: 64
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Como obtener la posicion de un arreglo al dar click en un link

Esta es la funcion que llena el arreglo condatos de una BD

function getVisitasBySupervisor($criterio,$orden){
$visitas = null;
$sql = "select a.age_id, a.usu_id, a.age_fecha_visita, e.ent_nombre ";
$sql = $sql."from agenda a ";
$sql = $sql."left join entidad e on a.ent_id = e.ent_id ";
$sql = $sql."where a.usu_id = ".$criterio." and a.est_id = 2 order by ".$orden;
$r = $this->db->ejecutarConsulta($sql);
if($r){
$cont = 0;
while($w = mysql_fetch_array($r)){
$visitas[$cont]['id'] = $w['usu_id'];
$visitas[$cont]['agenda'] = $w['age_id'];
$visitas[$cont]['fecha'] = $w['age_fecha_visita'];
$visitas[$cont]['entidad'] = $w['ent_nombre'];
$cont++;
}
}
return $visitas;
}

Etiquetas: dar, link, posicion, arreglos
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 11:17.