嗨,我在这里有些束缚。我是个绿色开发人员,不知道从这里去哪里。我的背景基本上是HTML,CSS和JS,但是我现在尝试学习PHP,SQL,并从本质上为公司建立“零件目录”。
我有一个供公司使用的excel文件,我将其转换为CSV,然后导入到MYSQL数据库中。基本约定是类别,子类别和制造商。因此,例如Tires,Truck Tire,X公司。在对页面进行硬编码以使设计正确之后,我现在正尝试进入Laravel并构建一个更加多样化的应用程序。但是本质上,我想做的是让用户单击类别,子类别或制造商,然后通过SQL过滤显示所有这些项目。
因此,尽管我没有查看具体的编码建议,但如果有人请告诉我从哪里开始,我会很乐意。 Google搜索对我来说不是很有用,因为我发现很多事情都涉及创建新项目,编辑现有项目,而这些我根本不需要做。我只需要在用户单击特定列时在页面上显示数据库中的项目。
我看了几篇文章,包括分页和REST API,但在这一点上我还是有些头疼,所以我更希望在适当的方向上进行轻轻的推动,以开始执行此操作。我已经学习了Laravel的基础知识,学会了设置Laravel,为用户表添加种子,编写了几个@foreach循环,并弄清楚了视图/模型在某种程度上是如何工作的,但是在这方面我基本上是个菜鸟。
这是我在Laravel之前编写的PHP,用于对其进行硬编码,以便仅在名为Trucklite的制造商下显示任何内容。我还写了一个JS函数来通过单击缩略图来更改主图像,但是我不会在此发布它。
$conn = new mysqli($servername, $username, $password, $dbname);
$keyword = "Trucklite";
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql="SELECT part_number, item_description FROM parts WHERE
item_description LIKE '%{$keyword}%' LIMIT 40";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<div class='catalogue-card'>".
"<div class='catalogue-card-description'>".
$row["item_description"].
"</div>".
"<div class='catalogue-card-inner'>".
"<br /><br />".
"<a id='image-link' href='/img/".
$row['part_number'].
" A.jpeg'".
" data-fancybox='gallery'><img class='full' id='".
// $row["part_number"].
"full-image".
"'".
"style='height:200px;' src='/img/".
$row["part_number"].
" A.jpeg'></a>".
"<br /><br />".
"<img class='thumb' style='height: 50px;' src='/img/".
$row['part_number'].
" A.jpeg'>".
"<img class='thumb' style='height: 50px;' src='/img/".
$row["part_number"].
" B.jpeg'>".
"<img class='thumb' style='height: 50px;' src='/img/".
$row["part_number"].
" C.jpeg'>".
"<img class='thumb' style='height: 50px;' src='/img/".
$row["part_number"].
" D.jpeg'>".
"<br /><br />".
"<span>Part #: </span>".
$row["part_number"].
"<br/><br />".
"</div>".
"</div>";
}
} else {
echo "0 results";
}
因此,这当然是一种视觉效果演示的绝妙方法,但除此之外没有太多。任何帮助将不胜感激,如果我一无所知,请原谅我,但我真的感到沮丧,不确定下一步该怎么做。
答案 0 :(得分:0)
Laravel使用Eloquent ORM,因此您无需为所有这些数据库连接而苦恼。 要使用数据库设置laravel,您必须更正.env文件
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=yourDB
DB_USERNAME=root
DB_PASSWORD=root
下一步是创建模型
php artisan make:model Part
完成后,您就可以雄辩地使用所需的所有数据。
在您的示例中,您可以这样做。 文件Part.php(模型)
在此处添加几个代码
public static function getParts($part)
{
$data = Part::where('item_description', like, '%'.$part.'%')->take(40)->get();
return $data;
}
在您的控制器中,只需在顶部添加
use App\Part;
您可以调用函数并呈现数据
public function ShowParts($part)
{
$data = Part::getParts($part);
return view('your_view', compact('data'));
}
还对路由文件进行了一些更改 web.php
Route::get('/getpart/{part}', 'Controller@ShowParts');
创建视图文件并通过 @foreach
使用数据@foreach($data as $row)
<div>{{$row->part_number}}</div>
@endforeach
希望这对您有帮助