Buenas tardes foreros y foreras.
Antes de nada, muchas gracias!!
He buscado por el foro y por "san google" pero, o no lo he encontrado, o no está, cosa que dudo pero a ver si me pueden ayudar porque ando estancado.
he empezado hace poco con php y estoy atascado con una tabla, de la cual, no sé como obtener el dato de una cenda concreta al pulsar sobre un botón.
hago una consulta a la bbdd y se muestra una tabla con los resultados de esa consulta, y yo le he añadido una columna de tipo botón para que al hacer click sobre dicho botón, hacer un insert a la bbdd teniendo como dato principal el valor de una de las celdas de esa misma fila a la cual pertenece el botón. el problema es que esa consulta la hace bien, pero siempre me da el mismo dato, la última fila.
pero ¿cómo hago para obtener el valor de la fila que yo quiero?
Esta es la tabla:
y este el código.
Aquí está el código de la tabla(vuelos.php):
Código PHP:
<form action="reserva.php" method="post" id="reservas" name="reservas">
<?php
session_start();
//variables
$localhost = 'localhost';
$usuario = 'root';
$contrasena = '********';
$basedatos = '********';
$id = $_SESSION['valid_user'];
try {
$db_conn = new mysqli($localhost, $usuario, $contrasena, $basedatos);
if (mysqli_connect_errno()){
die ('ERROR DE CONEXION CON LA BBDD: '.mysqli_connect_error());
}
//consulta a la bbdd
$consulta = "SELECT
matricula,
modelo.modelo,
combustible,
horas,
aeropuerto,
estado.estado
FROM
aviones,
modelo,
estado
WHERE
modelo.idmodelo = aviones.modelo
AND
estado.idestado = aviones.estado
AND
aviones.estado = 1
ORDER BY
modelo.modelo
DESC
";
$resultado = mysqli_query($db_conn, $consulta);
if($resultado == true){
//obtenemos los datos resultado de la consulta
while ($row = mysqli_fetch_row($resultado)){
echo '<table border="0" width="auto" cellspacing="0">
<tr id="encabezadotabla">
<th scope="col">Matrícula</th>
<th scope="col">Modelo</th>
<th scope="col">Combustible</th>
<th scope="col">Horas de vuelo</th>
<th scope="col">Aeropuerto actual</th>
<th scope="col">Estado</th>
<th scope="col">Reservar</th>
</tr>
<tr id="datostabla">
<th scope="col"><input id="datotabla" name="datotabla" type="text" value="'.$row[0].'" readonly="true"></th>
<th scope="col">'.$row[1].'</th>
<th scope="col">'.$row[2].'</th>
<th scope="col">'.$row[3].'</th>
<th scope="col">'.$row[4].'</th>
<th scope="col">'.$row[5].'</th>
<th scope="col"><input id="btnreserva" name="btnreserva" type="submit" value="Reservar"></th>
</tr>
</table>';
Y aquí el código del script php donde se envian las variables(reserva.php)
Código PHP:
session_start();
//variables
$localhost = 'localhost';
$usuario = 'root';
$contrasena = '*******';
$basedatos = '********';
$id = $_SESSION['valid_user'];
$fecha = date('j-n-Y');
$avion = $_POST['datotabla'];/**ESTA ES LA VARIABLE QUE NECESITO OBTENER DE LA TABLA*/
try{
$db_conn = new mysqli($localhost, $usuario, $contrasena, $basedatos);
if (mysqli_connect_errno()){
die ('ERROR DE CONEXION CON LA BBDD: '.mysqli_connect_error());
}//fin if
$consulta = "INSERT INTO
reservas(usuario,avion,fecha)
VALUES
('$id','$avion' ,'$fecha')";
$resultado = mysqli_query($db_conn, $consulta);
if($resultado == true){
echo 'Has reservado el avión '.$avion.' con fecha '.$fecha;
}//fin if
else{
echo 'no se ha podido reservar el avión';
}
}catch(Exception $e){
Como veis, necesito obtener la matricula del avion dependiendo del botón al que le de, y enviar esa matricula como variable para el insert.
lo dicho, mucahs gracias y disculpar las molestias!!