PHP - creando botones con Laravel

 
Vista:
Imágen de perfil de Charly
Val: 182
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

creando botones con Laravel

Publicado por Charly (69 intervenciones) el 10/02/2018 13:02:29
Estoy creando un CRUD con Laravel y tengo tanto el index como los formularios creados.
En el index tengo la rejilla y en la primera fila he creado una tabla con dos celdas, una con el título de la tabla y un botón "buscar", y otra con un botón "nuevo".
Me han pedido que al pulsar ese botón me lleve a una página donde introduzca los datos del registro a buscar.
Así que he hecho el formulario en la vista "buscar.blade.php" y el código php en la vista "show.blade.php".
El problema es que al darle al botón buscar me va a la página, pero no me muestra nada, ni siquiera el html.
Estos son los códigos que he escrito:
En routes.php:
1
2
3
4
Route::get('/',function () {
    return view('productos/index');
});
Route::view('productos/buscar','productos.buscar');
En index.blade.php:
1
<td colspan=3 align="center"><b>PRODUCTOS</b><a href="{{ 'productos/buscar' }}" class="btn btn-info" style="text-align:right">BUSCAR</a></td>
En ProductoController.php:
1
2
3
4
public function show($id){
    $producto=\App\Producto::find($id);
    return view('productos.show')->with('producto',$producto);
}
En buscar.blade.php:
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
<!DOCTYPE html>
<html lang="en">
<head>
	<title>Buscar Producto</title>
	<meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
   <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
    <div class='container'>
		<div class='jumbotron'>
			<h1>Buscar Producto</h1>
			<p>Introduce todos los datos para buscar un producto en la base de datos.</p>
		</div>
		<form name='formulariobuscar' action='{{ 'productos/show' }}' method='get'>
		<div class='form-group'>
			{{csrf_field()}}
			<label for='id'>Introduce el id del producto:</label>
			<input type='number' class='form-control' placeholder='Introduce el id' name='id' value="<?php $id ?>"><br>
			<label for='id'>Introduce el nombre del producto:</label>
			<input type='text' class='form-control' placeholder='Introduce el nombre' name='nombre' value="<?php $nombre ?>" size=30><br>
			<label for='precio'>Introduce el precio del producto:</label>
			<input type='decimal' class='form-control' placeholder='Introduce el precio' name='precio' value="<?php $precio ?>"><br>
		</div>
		<div class='botons-group'>
			<input type='submit' name='buscar' value='BUSCAR'>
			<input type='submit' name='volver' value='VOLVER'>
		</div>
		</form>
	</div>
</body>
</html>
En show.blade.php:
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
44
45
46
47
48
49
<?php
	function conectar(){
		$con=mysqli_connect("localhost","root","","dam2d-laravel");
		return $con;
	}
	function desconectar(){
		mysqli_close(conectar());
	}
	conectar();
	$id=isset($_GET['id']) ? $_GET['id'] : '';
	$nombre=isset($_GET['nombre']) ? $_GET['nombre'] : '';
	$precio=isset($_GET['precio']) ? $_GET['precio'] : '';
	function buscar(){
		$id=$_GET['id'];
		$nombre=$_GET['nombre'];
		$precio=$_GET['precio'];
		$esta=false;
		if(conectar()->connect_error){
			die('Error de conexion: '.conectar()->connect_error);
		}else{
			$sql="SELECT * FROM productos WHERE nombre='".$nombre."'";
			$resul=mysqli_query(conectar(),$sql);
			echo "<table class='table' border='1'>";
			echo "<tr><td colspan=4 align='center' <b>ARTICULOS</b></td></tr>";
			echo "<tr><th>ID</th><th>Nombre</th><th>Precio</th><th>Acciones</th></tr>";
			while($linea=mysqli_fetch_array($resul)){
				$esta=true;
			}
			if($esta==false){
				echo "No existe un articulo con el nombre ".$nombre;
			}else{
				echo "<tr>";
				echo "<td>",$id,"</td>";
				echo "<td>",$nombre,"</td>";
				echo "<td>",$precio,"</td>";
				echo "<td><a class='btn btn-warning' href='editar.php?id=".$id."&nombre=".$nombre."&precio=".$precio."'>EDITAR</a>"."&nbsp";
				echo "<a class='btn btn-danger' href='eliminar.php?id=".$id."&nombre=".$nombre."&precio=".$precio."'>ELIMINAR</a></td>";
				echo "</tr>";
			}
		}
	}
	if(isset($_GET['buscar'])){
		buscar();
	}
	if(isset($_GET['volver'])){
		header('Location:index.php');
	}
	desconectar();
?>
No se si tengo el error en las rutas del web.php, en el método show del controlador o en la vista buscar.
Por cierto, en caso de que pueda verse algo en la página buscar, ¿cómo podría hacer que busque con el método show del controlador y me mostrara el resultado en show.blade.php?
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