no funciona un boton en un formulario php
Publicado por localhost (22 intervenciones) el 02/01/2009 22:06:26
hola a todos, tengo un problemilla, y es que no me funciona un botón en un formulario en php, haber si me explico un poco, y este formulario me va mostrando cada uno de los servicios contratados por los distintos clientes que tengo en una base de datos en MySql, y por cada servicio tengo un boton para mostrar los datos del cliente que contrató dicho servicio, aqui os pongo el código:
<?php
// 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 ("mapfre")
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.numPoliza, 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 ";
$dni=$_REQUEST["dni"];
echo "<form method="post" action="cliente.php?dni=$dni">";
// Mostrar resultados de la consulta, todos los servicios
print ("<TABLE border=1 align=center> ");
print ("<TR> ");
print ("<TH>DNI</TH> ");
print ("<TH>Nombre</TH> ");
print ("<TH>Apellidos</TH> ");
print ("<TH>Número de Póliza</TH> ");
print ("<TH>Tipo de Servicio</TH> ");
print ("<TH>Prima</TH> ");
print ("</TR> ");
$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="numPoliza[$i]" size="20" value='$fila[numPoliza]'>". '</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] €' style="text-align:right">". '</td>';
echo "<TD>". "<input type="submit" value="Datos Personales" name="datos[$i]">". "</TD";// boton para acceder a cliente.php que mostrará los datos del cliente correspondiente a la tupla
echo "</tr>";
$i++;
}
echo "</table>";
echo "</form>";
?>
el problema es que cuando el pulso sobre uno de esto botones no se manda el dni correctamente, y en la url de cliente.php aparece lo siguiente:
http://localhost/cliente.php?dni=
como si estubiera esperando el dni, le pongo un dni, ya me lo muestra bien, pero no cuando lo hago desde el formulario anterior. Haber si alguien me puede echar un cable, estoy super agobiado esto no me funciona, de ninguna manera
<?php
// 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 ("mapfre")
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.numPoliza, 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 ";
$dni=$_REQUEST["dni"];
echo "<form method="post" action="cliente.php?dni=$dni">";
// Mostrar resultados de la consulta, todos los servicios
print ("<TABLE border=1 align=center> ");
print ("<TR> ");
print ("<TH>DNI</TH> ");
print ("<TH>Nombre</TH> ");
print ("<TH>Apellidos</TH> ");
print ("<TH>Número de Póliza</TH> ");
print ("<TH>Tipo de Servicio</TH> ");
print ("<TH>Prima</TH> ");
print ("</TR> ");
$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="numPoliza[$i]" size="20" value='$fila[numPoliza]'>". '</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] €' style="text-align:right">". '</td>';
echo "<TD>". "<input type="submit" value="Datos Personales" name="datos[$i]">". "</TD";// boton para acceder a cliente.php que mostrará los datos del cliente correspondiente a la tupla
echo "</tr>";
$i++;
}
echo "</table>";
echo "</form>";
?>
el problema es que cuando el pulso sobre uno de esto botones no se manda el dni correctamente, y en la url de cliente.php aparece lo siguiente:
http://localhost/cliente.php?dni=
como si estubiera esperando el dni, le pongo un dni, ya me lo muestra bien, pero no cuando lo hago desde el formulario anterior. Haber si alguien me puede echar un cable, estoy super agobiado esto no me funciona, de ninguna manera
Valora esta pregunta


0