我有很多来自数据库的产品。我用循环显示它们。当用户点击“更多”时,我想显示其详细信息。问题是,例如:我有四个产品A,B,C和D.当用户点击A的详细信息时,它会显示D的详细信息或随机显示。我怎样才能解决这个问题?这是我的代码:
<form action="details" method="post" enctype="multipart/form-data">
@foreach($images as $image)
<div class="card" >
<div class="card-inside1" >
<div class="center">
<img class="card-img-top img-fluid" src="<?php echo asset('images').'/'.$image->image1 ?>" alt="Card image" >
</div>
<div class="card-body">
<input type="text" name="imagename" value="{{$image->product_name}}"></input>
<button type="submit" value="Submit" name="more" class="btn btn-primary ">More</button>
</div>
</div>
</div>
@endforeach
</form>
路线
Route::post("details",'UserController@detail');
控制器
public function detail(Request $req)
{
$productname = $req->input('imagename');
return $productname;
}
答案 0 :(得分:0)
无需使用表单来完成您想要的任务。
@foreach($images as $image)
<div class="card" >
<div class="card-inside1" >
<div class="center">
<img clas="card-img-top img-fluid" src="<?php echo asset('images').'/'.$image->image1 ?>" alt="Card image" >
</div>
<div class="card-body">
<input type="text" name="imagename" value="{{$image->product_name}}"></input>
<a href="{{url('details/'.$image->product_name)}}" class="btn btn-primary ">More</a>
</div>
</div>
</div>
@endforeach
路线:
Route::get("details/{imagename}",'UserController@detail');
控制器:
public function detail(Request $req)
{
$productname = $req->imagename;
return $productname;
}
<强>更新强>
之所以选择最后一个产品是因为您通过表单发送所有产品。它需要发送的最后一个,而不是你点击的那个。
答案 1 :(得分:0)
视图
@foreach($images as $image)
<a href="{{ route('product.show', $product->id) }}">{{ $product->name }}</a>
@endforeach
web.php
Route::get("details/{id}",'ProductController@show')->name('product.show');
ProductController.php
public function show($id)
{
$product = Product::find($id);
return $product
}