Php 如何搜索(在DB行中)
我试图找出如何在db行中搜索,但我不知道。。。也许你们中的一些人可以帮忙。我正在为我的老板制作一个神奇的聚会收集网站。在这个游戏中,你有多盘,每盘都有一张牌。有一个页面,你可以看到所有的集合,在这个页面中,我想要一个搜索栏来查找集合。我想要的是页面顶部的搜索栏,当你输入“Strong”时,你会看到每个包含“Strong”的集合名称 输出:列表继续很多 正如您在输出中所看到的,列出了所有集合。我希望你能在那里看到搜索结果 输入:Php 如何搜索(在DB行中),php,html,database,list,search,Php,Html,Database,List,Search,我试图找出如何在db行中搜索,但我不知道。。。也许你们中的一些人可以帮忙。我正在为我的老板制作一个神奇的聚会收集网站。在这个游戏中,你有多盘,每盘都有一张牌。有一个页面,你可以看到所有的集合,在这个页面中,我想要一个搜索栏来查找集合。我想要的是页面顶部的搜索栏,当你输入“Strong”时,你会看到每个包含“Strong”的集合名称 输出:列表继续很多 正如您在输出中所看到的,列出了所有集合。我希望你能在那里看到搜索结果 输入: <body> <?php // Get
<body>
<?php
// Get data
$query = 'select * from sets ORDER BY releaseDate;';
$sets = $conn->query($query);
// Generate HTML
$htmlSets = '';
foreach($sets as $row){
$htmlSets .= '<div class="col-md-4 magic-set"><a href="'.$baseURL.'set.php?id='.$row['id'].'"><h5>'.$row['name'].'</h5></a></div>';
}
//set.php?fname=areg&lname=aerga
?>
<!-- Page Content -->
<div class="container">
<?php include_once 'inc/navigation.php';?>
<div class="content">
<div class="row">
<div class="col-md-12">
<div class="text-center">
<h3>Magic: the Gathering Sets</h3>
<hr>
</div>
</div>
</div>
<div class="row">
<?= $htmlSets ?>
</div>
<!-- /.row -->
</div>
<?php include_once 'inc/footer.php';?>
</div>
<!-- /.container -->
</body>
魔术:集合集
看起来您还没有启动MySQL连接,也没有退出
<?php
define("DB_SERVER", "localhost");
define("DB_USER", "username");
define("DB_PASS", "password");
define("DB_NAME", "database_name");
$connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME);
// If the connection didn't succeed, run this error:
if (mysqli_connect_errno()) {
die("Database connection failed: " .
mysqli_connect_error() .
" (" . mysqli_connect_errno() . ")"
);
}
?>
不能对MySQL查询使用foreach循环,只能使用while循环(除非主id禁用了自动递增)。下面是您的代码作为while循环的样子:
<?php
// You can also use mysqli_fetch_row()
while ($row = mysqli_fetch_assoc($sets)) {
$htmlSets .= '<div class="col-md-4 magic-set"><a href="'.$baseURL.'set.php?id='.$row['id'].'"><h5>'.$row['name'].'</h5></a></div>';
}
// Since your query is of a 'read' type and
// not an 'update', you are required the free the result:
mysqli_free_result($sets) ;
?>
请务必释放您的结果,以防以后需要再次使用。这非常简单,兄弟,实际上您必须检查您的saerch表单是否为get或post。您始终检查用户搜索内容或表单是否为空 例如,它是get form 您的查询参数是“q” 在php中,您只需要这样做
$query = "select * from sets ORDER BY releaseDate";
if( if(!empty($_GET['q'])))
{
$query = "select * from sets WHERE name LIKE '%" .$_GET['q']. "%' ORDER BY releaseDate";
}
这只是一个基本概念…您可以使用一点AJAX来实现这一点。样品。只需替换为您的值和CSS。因此类似于
$query=“select*from set WHERE name like“%”$搜索你的名字。“%”按发布日期排序的订单
-确保始终转义$searched\u name的值查看WHERE
子句
$query = "select * from sets ORDER BY releaseDate";
if( if(!empty($_GET['q'])))
{
$query = "select * from sets WHERE name LIKE '%" .$_GET['q']. "%' ORDER BY releaseDate";
}