PHP - boton en formulario php

 
Vista:

boton en formulario php

Publicado por pedro (22 intervenciones) el 28/10/2008 10:12:26
Hola a todos, me dirijo a ustedes porque otras veces me habeis sido de gran utilidad, haber, ahora estoy con una base de datos MYSQL, y estoy trabajando con php para gestionarla, bien pues ya tengo 2 archivos php terminados y que me funcionan, el problema es que quiero desde un formulario php llamar al otro archivo y que se me muestre. Haber si me esplico mejor, el primero me muestra todos los clientes, y el segundo los datos personales de un cliente, para ello tengo que pasarle por la url el dni del cliente, y que me muestre los datos de dicho cliente, por lo que lo intento desde un formulario php, el problema es que no me funciona y no se como tendria que hacerlo.

echo "<form method="post" action="clienteServicios.php">";
$i=0;
$consulta = mysql_query ($sql, $conexion);
while ($fila = mysql_fetch_array($consulta, MYSQL_ASSOC)) {

echo ("<TR> ");
echo '<td>'. "<input type="text" readonly name="dni[$i]" size="10" value='$fila[dni]'>". '</td>';
echo '<td>'. "<input type="text" readonly name="nombre[$i]" size="30" value='$fila[nombre]'>". '</td>';
echo '<td>'. "<input type="text" readonly name="apellidos[$i]" size="35" value='$fila[apellidos]'>". '</td>';
echo ... muestra otras cosas del cliente;
echo ("<TD>". "<input type="submit" value="Datos Personales" name="datos[$i]">". "</TD");
echo "</tr>";
$i++;
}

aqui muestro lo que me devuelve la consulta del fichero de clienteServicios.php y por cada cliente que me muestra hay un boton "datos[$i]" (Datos Personales) y quiero que al pinchar sobre el me muestre los datos personales del cliente que estan en la tabla clientes.

Para los datos personales he hecho otro archivo php "cliente.php" y lo muestro pasando el dni por la url: http://localhost/cliente.php?dni=eldnidelcliente

¿Cómo puedo hacer para que esto se me enlace? Muchas gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:boton en formulario php

Publicado por miguel (112 intervenciones) el 28/10/2008 19:43:08
En el formulario que recibe, en este caso cliente.php, recoges el valor de $fila[dni]
y haces una busqueda (select .... where dni='$dni'), luego el resultado de este select lo muestras en esta pagina (cliente.php)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:boton en formulario php

Publicado por pedro (22 intervenciones) el 28/10/2008 20:06:05
muchas gracias miguel por responder tan rápido, veras estoy empezando con esto de php y no se como recoger el valor $fila[dni] desde cliente.php ese es mi problema una vez que tenga el valor del dni en cliente.php creo q si se seguir pero no me falta este valor. Muchas gracias nuevamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:boton en formulario php

Publicado por miguel (112 intervenciones) el 28/10/2008 21:12:15
Pedro, las primeras lineas de cliente.php deberia ser algo asi;

<?php
$eldni=$_GET["dni"]; // dni es valor que pusiste en el enlace en la pag.anterior
// en $eldni ya tienes el valor y con esto puedes leer la BD como te indique anteriormente.
$buscar="select ..... from clientes where dni='$eldni';
?>

Yo tambien estoy empezando y me encontre con este problema y asi me resulto.

Suerte

MP
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:boton en formulario php

Publicado por pedro (22 intervenciones) el 28/10/2008 21:44:43
Muchas gracias de nuevo Miguel por tu brevedad, pero ahora me surge otro problema, y es que por cada tupla tengo un boton, ¿Cómo hago para mandar el dni de la tupla seleccionada y no otro desde clienteServicios.php a cliente.php? todo esto esta en un formulario en php muchas gracias nuevamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:boton en formulario php

Publicado por miguel (112 intervenciones) el 28/10/2008 22:18:44
Segun veo en tu codigo eso ya lo tienes resuelto, ya que si hay un boton por cliente, cuando lo presiones se ira por la url el dni del cliente de la linea

http://localhost/cliente.php?dni=eldnidelcliente

Suerte...

MP
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:boton en formulario php

Publicado por pedro (22 intervenciones) el 29/10/2008 18:37:37
aaaaahhhhhhjjjjj, no me funcionaaaaaa, Muchas gracias migel, pero estoy que me tiro de los pelos no me funciona y si me dices q ya lo tengo implementado peor todavía, no se q pasa. Mira te pongo una copia del código en PHP haber si encuentras el fallo ya no se que o cambiar.

// Conectar con el servidor de base de datos
$conexion = mysql_connect ("localhost", "root", "")
or die ("No se puede conectar con el servidor");

// Seleccionar base de datos
$exito = mysql_select_db ("BaseDeDatos")
or die ("No se puede seleccionar la base de datos");

// Realizar una consulta
$filtrar=$_REQUEST["filtrar"];
$todos=$_REQUEST["todos"];
$sql="SELECT cliente.dni, cliente.nombre, cliente.apellidos, datosservicio.tipoServicio, datosservicio.prima"
. " FROM datosservicio, cliente "
. " WHERE cliente.dni= datosservicio.dniCliente";
if (isset($filtrar)){
$sql = $sql. " AND cliente.dni = '".$_REQUEST['dni']."'";
}
$sql=$sql . " ORDER BY tipoServicio ";

echo "<form method="post" action="cliente.php?dni=$dni">";

// Mostrar resultados de la consulta
print ("<TABLE border=1 align=center> ");
$i=0;
$consulta = mysql_query ($sql, $conexion);
while ($fila = mysql_fetch_array($consulta, MYSQL_ASSOC)) {

echo ("<TR> ");
echo '<td>'. "<input type="text" readonly name="dni[$i]" size="10" value='$fila[dni]'>". '</td>';
echo '<td>'. "<input type="text" readonly name="nombre[$i]" size="30" value='$fila[nombre]'>". '</td>';
echo '<td>'. "<input type="text" readonly name="apellidos[$i]" size="35" value='$fila[apellidos]'>". '</td>';
echo '<td>'. "<input type="text" readonly name="tipoServicio[$i]" size="30" value='$fila[tipoServicio]'>". '</td>';
echo '<td>'. "<input type="text" readonly name="prima[$i]" size="8" value='$fila[prima]'>". '</td>';
echo ("<TD>". "<input type="submit" value="Datos Personales" name="datos[$i]">". "</TD");
echo "</tr>";
$i++;
}

echo "</table>";
echo "</form>";
?>

creo que el fallo debe estar en la conexion del formulario en php, no tengo ni idea, si pudierais ayudar, muxas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:boton en formulario php

Publicado por miguel (112 intervenciones) el 29/10/2008 19:45:32
Prueba cambiando esta linea, que te quede asi:

echo "<form method="post" action="cliente.php?dni=<?php echo $dni ?>">";

Ahora asegurate que $dni tenga un valor, segun veo no lo estas asignando.
debes hacer algo asi como $dni=".$_REQUEST['dni']; antes.

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:boton en formulario php

Publicado por pedro (22 intervenciones) el 29/10/2008 20:03:45
Perdona Miguel de nuevo, por aqui, he echo lo siguiente:

$dni=$_REQUEST["dni"];
echo $dni;
echo "<form method="post" action="cliente.php?dni=<?php echo $dni ?>">";

pero resulta que $dni toma el valor Array en lugar del dni del cliente de la tupla seleccionada, por tanto se me muestra el cliente.php pero en blanco y además en la url aparece http://localhost/cliente.php?dni=%3C?php%20echo%20Array%20?%3E

no hay manera Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:boton en formulario php

Publicado por Reaven (48 intervenciones) el 06/11/2008 17:31:18
MM me asaltan ciertas dudas.... si no me equivoco esta parte de codigo ...

$dni=$_REQUEST["dni"];
echo $dni;

Ya esta dentro de <? php ........ entonces para que lo vuelves ha abrir despues con esto?
<?php echo $dni ?>">"; Y otra cosa mas si vas poniendo dobles comillas te fallara seguro , debes poner dobles al principio y al final unicamente te escribo como deberia ser en principio
echo "<form method="post" action="cliente.php?dni=<?php echo $dni ?>">";
eso es lo tuyo y como seria
echo "<form method='post' action='cliente.php?dni=".$dni.">;
Y lo del array no me he mirado exactamente tu codigo...pero comprueba que valor tiene $dni.... si es un array habra uqe ver que contiene no?¿
pàra eso puedes poner print_r($dni) y te mostrara el array contenedor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar