Foros del Web » Programando para Internet » PHP »

pasar parámetro

Estas en el tema de pasar parámetro en el foro de PHP en Foros del Web. hola, es una dudilla creo que fácil a ver si me podeis echar una mano. Muestro una lista de datos por pantalla de una tabla ...
  #1 (permalink)  
Antiguo 08/01/2008, 06:44
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
pasar parámetro

hola, es una dudilla creo que fácil a ver si me podeis echar una mano. Muestro una lista de datos por pantalla de una tabla de la base de datos y hasta ahora los metia en una tabla y al lado metia el tipico botón submit y pasandole la clave de la tabla y dando a ese botón me iva al registro que yo quería...con el código fácil tal que así.
Código PHP:
<form name="form" method="post" action="modificar.php">
 <input name="dni" type="hidden" value="<? echo $row["dni"]; ?>">
 <input type="submit" name="Submit2" value="Modificar" style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"></TD>
</form>
Pues bien lo que ahora quiero es quitar ese botón de tipo submit que se llama modificar y pinchar directamente en el registro que saco convirtiendolo en enlace y que no me salga un botón modificar por cada registro que saque por pantalla pero el problema es al pasarle el párametro para saber cual tiene que mostrar los datos. El código que tengo es este que si que me convierte en enlace lo que muestro pero no me va a modificar con los datos de ese registro que he pinchado como cuando pincho en el botón modificar.
Código PHP:
<form name="form1" method="post" action="modificar.php">
<input name="dni" type="hidden" value="<? echo $row["dni"]; ?>">
<p style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 13px;color: #778DB6; font-weight: bold;'><?php echo "<a href=\"../modificar.php\">".$row["nombre"]."</a>";?>,<?php echo "<a href=\"../modificar.php\">".$row["apellido1"]."</a>";?>,<?php echo "<a href=\"../modificar.php\">".$row["apellido2"]."</a>";?>
</form>    

A ver si me explicado bien y me podeis echar una mano gracias :arriba:
  #2 (permalink)  
Antiguo 08/01/2008, 07:46
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: pasar parámetro

Hola javiglez,

En el listado:

Código PHP:
<a href="modificar.php?dni=<?php echo $row["dni"]; ?>">Modificar <?php echo $row["dni"]; ?></a>
Y en modificar.php recibes el id:

Código PHP:
<?php 
$dni 
$_GET['dni'];
?>

Saludos
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #3 (permalink)  
Antiguo 08/01/2008, 07:52
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: pasar parámetro

Un gusto volver a verte por aca Fridureiks!!

saludos!
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #4 (permalink)  
Antiguo 08/01/2008, 08:50
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: pasar parámetro

Cita:
Iniciado por Fridureiks Ver Mensaje
Hola javiglez,

En el listado:

Código PHP:
<a href="modificar.php?dni=<?php echo $row["dni"]; ?>">Modificar <?php echo $row["dni"]; ?></a>
Y en modificar.php recibes el id:

Código PHP:
<?php 
$dni 
$_GET['dni'];
?>

Saludos
Gracias por la respuesta pero creo que no me has entendido no quiero un Enlace Modificar sino que por ejemplo listo clientes y me salen 3 clientes uno debajo del otro, pues si pincho en uno de esos clientes quiero que me vaya a la pantalla modificar con esos datos de ese cliente en concreto que he pinchado no obstante voy a probar lo que me dices...Gracias
  #5 (permalink)  
Antiguo 08/01/2008, 08:52
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: pasar parámetro

Bueno, serial algo muy simple,
supongamos,

PEPE id1
POLOLO id2
OTRO id3

si pinchas en PEPE, te llevara a: ./ModificarDatos.php?id=1

donde en ModificarDatos, tomas el ID de ese usuario, y con un simple select listas todos los datos de PEPE,

algo asi querias?

saludos
MC
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #6 (permalink)  
Antiguo 08/01/2008, 08:59
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: pasar parámetro

Cita:
Iniciado por McBlink Ver Mensaje
Bueno, serial algo muy simple,
supongamos,

PEPE id1
POLOLO id2
OTRO id3

si pinchas en PEPE, te llevara a: ./ModificarDatos.php?id=1

donde en ModificarDatos, tomas el ID de ese usuario, y con un simple select listas todos los datos de PEPE,

algo asi querias?

saludos
MC
esasto el id en este caso mio es la clave de la tabla clientes que es Dni. Esa sería la historia.
  #7 (permalink)  
Antiguo 08/01/2008, 09:00
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: pasar parámetro

Ah bien,
pero te quedo claro o tienes dudas todavia?
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #8 (permalink)  
Antiguo 08/01/2008, 09:24
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: pasar parámetro

Cita:
Iniciado por McBlink Ver Mensaje
Ah bien,
pero te quedo claro o tienes dudas todavia?
Pues a ver el modificar lo tengo con esta consulta
$result = mysql_query("SELECT * FROM Clientes WHERE dni='".$_POST["dni"]."'");
pero ahora el Post no se si me va a valer....por eso toy perdido con el dato que tengo que recoger...y según tu tengo que mostrar en la lista también el dni para que lo coja o como?

yo entiendo que tengo que sacar según tu est
Nombre Apellidos dni como enlace

y luego el select de arriba no? pero claro el post ya no vale...
  #9 (permalink)  
Antiguo 08/01/2008, 09:38
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: pasar parámetro

Bien, entonces hace asi

vos cuando listas los haces con esto no?

Código PHP:
<?php echo $row["dni"]; ?>
entonces,

PEPE: link: ./Modificar.php?id=<?php echo $row['dni']; ?>

entonces en Modificar.php lo que haces es tomar el DNI que te llega y lo usas en el SELECT,

Código PHP:
$dni $_GET['dni'];

$conn mysql_query("SELECT * FROM tutabla WHERE dni=$dni");
$conn2 mysql_fetch_array($conn);

$nombre $conn2['nombre'];
$apellido$conn2['apellido']; 
y asi sucesivamente

ahora quedo claro?

saludos!
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #10 (permalink)  
Antiguo 08/01/2008, 09:48
Avatar de laaccaal  
Fecha de Ingreso: julio-2003
Ubicación: Murcia
Mensajes: 147
Antigüedad: 20 años, 9 meses
Puntos: 1
Re: pasar parámetro

Si tomas el ejemplo de McBlink tendras que cambiar tu formulario a tipo post.

Ahora si quieres usar el formulario en tipo post, puedes usar lo siguiente:

Código PHP:

<form name="form1" method="post" action="modificar.php">
<input name="dni" type="hidden" value="">
<a href="#" onclick="document.form1.dni.value='<?=$row["dni"]?>'; document.form1.submit();">apellido</a>
</form>
si es un ciclo tipo while o for, como sabes tienes que sacar el campo oculto dni del ciclo

saludos
__________________
Album Fotos
Blog MisApuntes
  #11 (permalink)  
Antiguo 08/01/2008, 09:50
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: pasar parámetro

entiendo la segunda parte la primera no entiendo como tengo que poner el link para que le pase el dni no entiendo esto...
Código PHP:
PEPE: link: ./Modificar.php?id=<?php echo $row['dni']; ?>
yo lo que tengo puesto en el link es esto que se que esta mal
Código PHP:
<?php echo "<a href=\"../modificar.php\">".$row["nombre"]."</a>";?>,<?php echo "<a href=\"../modificar.php\">".$row["apellido1"]."</a>";?>,<?php echo "<a href=\"../modificar.php\">".$row["apellido2"]."</a>";?>
Que tendría que poner exactamente para covertir en nombre del cliente en link y pinchar para que vaya a modificar con ese dni.
a ver si ya me entero que no quiero molestar pero quiero aprender.....Gracias por la paciencia
  #12 (permalink)  
Antiguo 08/01/2008, 09:53
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: pasar parámetro

Cita:
Iniciado por laaccaal Ver Mensaje
Si tomas el ejemplo de McBlink tendras que cambiar tu formulario a tipo post.

Ahora si quieres usar el formulario en tipo post, puedes usar lo siguiente:

Código PHP:

<form name="form1" method="post" action="modificar.php">
<input name="dni" type="hidden" value="">
<a href="#" onclick="document.form1.dni.value='<?=$row["dni"]?>'; document.form1.submit();">apellido</a>
</form>
si es un ciclo tipo while o for, como sabes tienes que sacar el campo oculto dni del ciclo

saludos
Eso es así lo tenía antes lo que pasa que como me lo has puesto sale la etiqueta apellido y yo quiero que salga el nombre y apellidos de cada cliente entiendes?
  #13 (permalink)  
Antiguo 08/01/2008, 09:53
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: pasar parámetro

en HTML

<a href="./Modificar.php?dni=<?php echo $row["dni"]; ?>">PEPE</a>

saludos
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #14 (permalink)  
Antiguo 08/01/2008, 10:06
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: pasar parámetro

Cita:
Iniciado por McBlink Ver Mensaje
en HTML

<a href="./Modificar.php?dni=<?php echo $row["dni"]; ?>">PEPE</a>

saludos
Pero eso de Pepe al final no lo puedo poner porque no es un dato fijo, esos clientes vienen de una base de datos, cambian de vez en cuando, valdría poniendo a continuación echo $row [ Nombre] etc....?
y ahi no lo estoy pasando por post con lo cual lo recojo con el get así en modificar o como?
Código PHP:
$dni $_GET['dni']; 
Esque me lio como me habeis respondido de varias formas me lio, que alguno me ponga lo que tengo que poner para listar osea esto


<a href="./Modificar.php?dni=<?php echo $row["dni"]; ?>"</a>

y luego como lo recojo en modificar.php gracias
  #15 (permalink)  
Antiguo 08/01/2008, 10:15
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: pasar parámetro

Claro, lo haces por medio de GET, y bueno,
en lugar de PEPE, pones
Código PHP:
<?php echo $row['nombre']; ?>
y listo ;)

saludos
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #16 (permalink)  
Antiguo 08/01/2008, 10:15
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: pasar parámetro

Tu lo has dicho

Código PHP:
$dni $_GET['dni']; 
asi lo recibes en modificar.php y realizas tu consulta respectiva.

Saludos.
  #17 (permalink)  
Antiguo 08/01/2008, 10:25
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: pasar parámetro

Cita:
Iniciado por Carlojas Ver Mensaje
Tu lo has dicho

Código PHP:
$dni $_GET['dni']; 
asi lo recibes en modificar.php y realizas tu consulta respectiva.

Saludos.
Estoy cerca me pone que document form1.dni es nulo por lo cual no lo pasa bien si me muestra bien los clientes pero al pinchar sobre uno me da ese error te pongo el código para que veais el fallo.
en la pantalla de muestra de los clientes
Código PHP:
<form name="form1" method="post" action="modificar.php">
<input name="dni" type="hidden" value=""<? echo $row["dni"]; ?>"">
<a href="#" onclick="document.form1.dni.value='<?=$row["dni"]?>'; document.form1.submit();"><?=$row["dni"]?>,<?=$row["nombre"]?> </a>
</form>
Y en modificar lo recojo así.
Código PHP:
$dni $_GET['dni'];
$result mysql_query("SELECT * FROM Clientes WHERE dni=$dni"); 
  #18 (permalink)  
Antiguo 08/01/2008, 10:30
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: pasar parámetro

Haber, vos estas mesclando cosas aca..
si lo pasas por un formulario, lo recoges con POST, si lo pasas como e dije antes, ?dni=3654858 lo recoges con GET,,
para que usas los input esos hidden?
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #19 (permalink)  
Antiguo 08/01/2008, 11:29
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: pasar parámetro

Cita:
Iniciado por McBlink Ver Mensaje
Haber, vos estas mesclando cosas aca..
si lo pasas por un formulario, lo recoges con POST, si lo pasas como e dije antes, ?dni=3654858 lo recoges con GET,,
para que usas los input esos hidden?
lo he puesto así y sigue dandome fallo
Código PHP:
$result mysql_query("SELECT * FROM Clientes WHERE dni='".$_POST["dni"]."'"); 
me dice que document.form1.dni no es un objeto o es nulo...yo creo que él parámetro dni se lo paso mal así...el modificar esta bien
  #20 (permalink)  
Antiguo 08/01/2008, 12:30
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: pasar parámetro

Javi, si lees mi primer mensaje veras que te falta muy poco. Puse en el link la palabra modificar y el numero de dni, pero la idea es que coloques lo que quieras. Entonces, en lugar del formulario, va esto:

Código PHP:
<a href="modificar.php?dni=<?php echo $row["dni"]; ?>">Modificar <?php echo $row["dni"]; ?></a>
Y en modificar.php va:

Código PHP:
$result mysql_query("SELECT * FROM Clientes WHERE dni='".$_GET["dni"]."'"); 

Pruebalo asi tal cual lo ves y si funciona cambias el enlace para que se vea como deseas, supongo que con el nombre de la persona.

Saludos


PD: McBlink, como va?
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #21 (permalink)  
Antiguo 08/01/2008, 15:07
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: pasar parámetro

Cita:
Iniciado por Fridureiks Ver Mensaje
Javi, si lees mi primer mensaje veras que te falta muy poco. Puse en el link la palabra modificar y el numero de dni, pero la idea es que coloques lo que quieras. Entonces, en lugar del formulario, va esto:

Código PHP:
<a href="modificar.php?dni=<?php echo $row["dni"]; ?>">Modificar <?php echo $row["dni"]; ?></a>
Y en modificar.php va:

Código PHP:
$result mysql_query("SELECT * FROM Clientes WHERE dni='".$_GET["dni"]."'"); 

Pruebalo asi tal cual lo ves y si funciona cambias el enlace para que se vea como deseas, supongo que con el nombre de la persona.

Saludos


PD: McBlink, como va?
Perfecto efectivamente estaba cerca y no sé si no me he sabido explicar bien, da gusto este foro se aprende un huevo ;) y sois muy buena gente. gracias. Un saludo.
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 22:49.