提问人:Raka Putra 提问时间:11/15/2023 最后编辑:Raka Putra 更新时间:11/16/2023 访问量:62
根据索引或列查找数据的值
find the value of data based on index or column
问:
我有一个十进制数据类型的表,其列由 z|one|two|three|four|five 值组成。
z值列和第一到第九列是从用户输入的,例如我输入-3.8,第一到第九列我填写0.0001,然后我提交它,然后数据自动保存并显示在这张图片中
然后我想找到z值的列值,例如我想找到z值-3.8的第三列,通过添加你要查找的indexm或列值,所以例如我想找到列'three'然后我把它写在搜索列中,像这样-3.83, 通过在逗号后面再添加一个数字。
怎么做?
这是我想创建的网站示例,您可以自己尝试以更好地理解我的意思 https://setemen.id/project_statistik/tabel
我的控制器是这样的
public function index(Request $request)
{
$chi = DataChi::orderBy('id', 'ASC')->get();
$searchedColumn = null;
if ($request->has('search')) {
$input = $request->input('search');
// Cari data berdasarkan nilai index dari digit kedua nilai Z yang dicari
$chi = DataChi::where('nilai_z', 'like', '%.' . substr($input, -1) . '%')->get();
$searchedColumn = $this->getColumnName(substr($input, -1));
}
return view('chi.index', compact('chi', 'searchedColumn'));
}
private function getColumnName($digit)
{
// $digit = substr($input, -1);
$columns = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];
return $columns[$digit];
}
我的观点是这样的
<!-- Kolom Pencarian -->
<div class="col-md-12 mt-3">
<form action="{{ route('chi.index') }}" method="GET">
<label for="search" class="form-label">SearchData:</label>
<div class="input-group">
<input type="text" class="form-control" id="search" name="search" placeholder="Search data">
<button class="btn btn-primary" type="submit">Search</button>
</div>
</form>
</div>
<!-- Kolom Hasil Pencarian -->
<div class="col-md-12 mt-3">
@if(isset($chi) && count($chi) > 0)
<h3>Result Search:</h3>
@if(isset($searchedColumn))
<table class="table">
<!-- Tabel Header -->
<thead>
<tr>
<th>Nilai Z</th>
<th>{{ $searchedColumn }}</th>
</tr>
</thead>
<!-- Tabel Body -->
<tbody>
@foreach($chi as $data)
<tr>
<td>{{ $data->nilai_z }}</td>
<td>{{ $data->$searchedColumn }}</td>
</tr>
@endforeach
</tbody>
</table>
@else
<p>Data not found</p>
@endif
@endif
</div>
答: 暂无答案
评论
like
'like', '%.'
'like', '%.%'
$sql = $chi->toSql();
substr($input, -1)