PHP - crear consulta dentro de un proceso php

 
Vista:
Imágen de perfil de Patricio
Val: 29
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

crear consulta dentro de un proceso php

Publicado por Patricio (16 intervenciones) el 24/01/2020 01:18:36
Hola, estoy super complicado con esto y espero que puedan ayudarme, espero explicarme lo mejor posible.

Tengo un formulario en donde creo modelos para marcas, dentro de ese formulario yo escribo el nombre del modelo, selecciono la marca por medio de un select y un comentario, el submit de ese formulario me lleva a un proceso php que me guarda de manera correcta esos datos en una tabla llamada modelos, pero yo necesito lo siguiente.

dentro de ese proceso necesito traer la id del producto que se selecciono en el formulario, ese dato esta en una tabla llamada marcas y necesito guardarla en una columna de la tabla modelos llamada idMarca.

PROCESO QUE TRAE LOS DATOS DE LAS MARCAS

1
2
3
4
5
<?php
    include '../../main_app/conexion.php';
 
    $query1= mysqli_query($mysqli,"SELECT nombre FROM marcas");
?>

FORMULARIO

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
33
34
35
36
37
38
39
40
41
42
43
<form action="ProcessGuardarModelo.php" class="formulariousuarios" id="forusuarios" name="forusuarios" method="POST" enctype="multipart/form-data">
 
    <table class="tform1">
        <tr>
            <td colspan="3" class="obligatorio">(Todos los datos son obligatorios)</td>
        </tr>
        <tr>
            <td colspan="3" class="separador"></td>
        </tr>
        <tr>
            <td class="td1">
                <label class="tituloForm">Nombre del modelo</label><br/>
                <input type="text" REQUIRED name="nombremodelo" id="nombremodelo">
            </td>
            <td class="td2">
                <label class="tituloForm">Marca</label><br/>
                <select REQUIRED name="marca" id="marca" REQUIRED>
                    <option>Seleccione una opción</option>
                    <?php
                        while ($datos = mysqli_fetch_array($query1))
                        {
                    ?>
                        <option value="<?php echo $datos['nombre'] ?>"><?php echo $datos['nombre'] ?></option>
                    <?php
                        }
                    ?>
                </select>
            </td>
            <td class="td3" rowspan="2">
                <label class="tituloForm">Comentario</label><br/>
                <textarea name="comentario" rows="10"></textarea><br/>
            </td>
        </tr>
        <tr>
            <td>
                <input type="submit" name="registrar" id="registrar" value="Registrar" class="btn1">
                <br>
                <input type="reset" name="restablecer" id="restablecer" value="Restablecer" class="btn1">
            </td>
            <td></td>
        </tr>
    </table>
</form>


TABLA MARCAS
id, nombre

TABLA MODELOS
id, nombremodelo, idMarca, marca

PROCESO

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
	include("../../main_app/conexion.php");
 
	$nombremodelo = $_POST['nombremodelo'];
	$marca = $_POST['marca'];
	$comentario = $_POST['comentario'];
 
	$idMarca = "SELECT id FROM marcas WHERE nombre =$marca ";
 
	$query = "INSERT INTO modelos(nombremodelo, idMarca, marca, comentario) VALUES ('$nombremodelo','$idMarca','$marca','$comentario')";
 
	$resultado= $mysqli->query($query);
 
	if($resultado){
		header ("location: addModelo.php");
	}
	else{
		echo "El modelo no fue ingresada a la base de datos";
	}
 
?>

En resumen, necesito guardar en la columna idMarca de la tabla modelos la id de la marca que se selecciona desde el select del formulario, espero me puedan ayudar, gracias.
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
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

crear consulta dentro de un proceso php

Publicado por Kathyu (905 intervenciones) el 24/01/2020 14:50:43
A parte del nombre (que ya esta en el value del select) quiere el ID de la marca?

Esto
1
<option value="<?php echo $datos['nombre'] ?>"><?php echo $datos['nombre'] ?></option>

debería ser así
1
<option value="<?php echo $datos['id'] ?>"><?php echo $datos['nombre'] ?></option>
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
Imágen de perfil de Patricio
Val: 29
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

crear consulta dentro de un proceso php

Publicado por Patricio (16 intervenciones) el 24/01/2020 15:28:48
Hola, gracias por la respuesta, si, esta bien, pero yo necesito los dos datos, el nombre y el id, si dejo el value con el id no tendre el nombre de la marca, no se si me hago entender.
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
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

crear consulta dentro de un proceso php

Publicado por Kathyu (905 intervenciones) el 24/01/2020 17:43:00
Pero con el ID va todo, eso es parte de la normalización, que usted en las tablas subsecuentes solo meta los IDs de las cosas que necesita de otras tablas.

En este caso le haré un ejemplo rápido

1
2
3
SELECT M.id, M.nombremodelos, M.idmarca, MM.nombre AS marca
FROM modelos M
INNER JOIN marcas MM ON MM.id = M.idmarca
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
Imágen de perfil de Patricio
Val: 29
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

crear consulta dentro de un proceso php

Publicado por Patricio (16 intervenciones) el 25/01/2020 01:11:17
mmmm lo voy a probar y te aviso cualquier cosa, 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