Problema con select (HTML) e inner join (PHP)
Publicado por jose (71 intervenciones) el 01/02/2021 16:56:33
Buenas tardes,
Necesito una ayuda con un combobox de php. Tengo dos tablas una de llamada tipo_mantenimiento y otra llamada mantenimiento.
Ambas están relacionadas
Como véis el campo tipo de la tabla 'mantenimientos' está relacionado con el campo id de la tabla 'tipo_mantenimiento'
Los registros los añado a través de PHP.
El problema que tengo es con un select de html. Resulta que a la hora de llegar a la página de editar el registro, en el select no aparece el valor que hay en el registro, si no en vacío. Puedo seleccionarlo, pero no se como hacer que salga el valor añadido como el resto de inputs.
Lo he intentado con una query con inner join, pero no a dado resultado.
Podría alguien decirme como.
Necesito una ayuda con un combobox de php. Tengo dos tablas una de llamada tipo_mantenimiento y otra llamada mantenimiento.
Ambas están relacionadas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
CREATE TABLE `tipo_mantenimiento` (
`id` smallint(11) NOT NULL AUTO_INCREMENT,
`tipo` varchar(25) NOT NULL,
PRIMARY KEY (`id`)
)
CREATE TABLE `mantenimientos` (
`id` smallint(11) NOT NULL AUTO_INCREMENT,
`tipo` smallint(11) NOT NULL,
`vehiculo` smallint(11) NOT NULL,
`fecha` date NOT NULL DEFAULT current_timestamp(),
`odometro` int(11) DEFAULT NULL,
`precio` decimal(10,2) NOT NULL,
`lugar` varchar(200) DEFAULT NULL,
`descripcion` varchar(250) DEFAULT NULL,
`prox_odometro` int(11) DEFAULT NULL,
`prox_fecha` date DEFAULT NULL,
`doc` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `tipo` (`tipo`),
KEY `vehiculo` (`vehiculo`),
CONSTRAINT `mantenimientos_ibfk_1` FOREIGN KEY (`tipo`) REFERENCES `tipo_mantenimiento` (`id`)
)
Como véis el campo tipo de la tabla 'mantenimientos' está relacionado con el campo id de la tabla 'tipo_mantenimiento'
Los registros los añado a través de PHP.
El problema que tengo es con un select de html. Resulta que a la hora de llegar a la página de editar el registro, en el select no aparece el valor que hay en el registro, si no en vacío. Puedo seleccionarlo, pero no se como hacer que salga el valor añadido como el resto de inputs.
Lo he intentado con una query con inner join, pero no a dado resultado.
Podría alguien decirme como.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<form name="formulario" method="POST" enctype="multipart/form-data">
<?php
include("../../conn/connection.php");
if(isset($_GET['GetID'])){
$id = $_GET['GetID'];
$query_file="SELECT * FROM mantenimientos WHERE id = '".$id."'";
$result_file = mysqli_query($conn,$query_file);
while($row=$result_file->fetch_array()){
?>
<br>
Tipo : <select name="tipo" >
<?php
$query = "select t.id, t.tipo as tipo_mantenimiento, m.id as id_mantenimiento ,m.tipo from tipo_mantenimiento t inner join mantenimientos m where t.id = m.tipo";
$result = mysqli_query($conn,$query);
$row_tipo=$result->fetch_assoc();
?>
<option value="<?php echo $row_tipo['id_mantenimiento']; ?>"><?php echo $row_tipo['tipo_manteniminto'];?></option>
<?php
//require("../../conn/connection.php");
$query = "select DISTINCTROW id,tipo from tipo_mantenimiento";
$result = mysqli_query($conn,$query);
while ($row_mantenimiento=$result->fetch_assoc()) {
echo '<option value="'.$row_mantenimiento['id'].'">'.$row_mantenimiento['tipo'].'</option>';
}
?>
</select><br><br>
</form>
Valora esta pregunta


0