我有下面的搜索片段,当我只使用mysql表中的value1和value2数据时,它就工作了。
当我添加Mysql CASE Function
到下面的例子中的value e1r和value e2r的查询中,并尝试在页面上进行搜索时,它会给我这个错误"警告:mysqli_fetch_array()期望参数1mysqli_result,给出布尔值in......"
这意味着我在查询中有一个错误。
<?php
if(isset($_POST['search']))
{
$valueToSearch = $_POST['valueToSearch'];
$query = "SELECT * FROM gdata
WHERE
Value1 = '" . $valueToSearch . "' OR
Value2 = '" . $valueToSearch . "' OR
Value1r = '" . $valueToSearch . "' OR
Value2r = '" . $valueToSearch . "'
";
$search_result = filterTable($query);
}
else {
$query = "SELECT Value1, Value2,
CASE
WHEN Value1 >= 90 AND Value1 <= 100
THEN 'A'
WHEN Value1 >= 80 AND Value1 <= 89
THEN 'B'
WHEN Value1 >= 70 AND Value1 <= 79
THEN 'C'
WHEN Value1 >= 0 AND Value1 <= 69
THEN 'F'
ELSE '' END AS Value1r,
CASE
WHEN Value2 >= 90 AND Value2 <= 100
THEN 'A'
WHEN Value2 >= 80 AND Value2 <= 89
THEN 'B'
WHEN Value2 >= 70 AND Value2 <= 79
THEN 'C'
WHEN Value2 >= 0 AND Value2 <= 69
THEN 'F'
ELSE '' END AS Value2r
FROM gdata";
$search_result = filterTable($query);
}
// function to connect and execute the query
function filterTable($query)
{
$connect = mysqli_connect("localhost", "root", "", "db");
$filter_Result = mysqli_query($connect, $query);
return $filter_Result;
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Gdata</title>
</head>
<body>
<form action="gdata.php" method="post">
<input type="text" name="valueToSearch" placeholder="Search">
<input type="submit" name="search" value="Filter">
<table>
<tr>
<th>G1</th>
<th>G2</th>
<th>R1</th>
<th>R2</th>
</tr>
<?php
while($row = mysqli_fetch_array($search_result))
{
echo "<tr>";
echo "<td>" . $row['Value1'] . "</td>";
echo "<td>" . $row['Value2'] . "</td>";
echo "<td>" . $row['Value1r'] . "</td>";
echo "<td>" . $row['Value2r'] . "</td>";
echo "</tr>";
}
echo "</table>";
?>
</form>
</body>
</html>
我到底做错了什么?我能得到一点帮助吗?谢谢!
注意:我的问题不是关于给定的错误。
此错误意味着查询将给出没有记录的空结果。请尝试再次编写查询,并在phpmyadmin中测试它,如果它在那里工作正常,那么它将作为您的应用程序工作
您可以通过以下方式跟踪您的错误,将此代码片段放在mysqli_query
之后
if (!$filter_Result) {
printf("Error: %s\n", mysqli_error($connect));
exit();
}
CREATE OR REPLACE VIEW gdata_view AS
SELECT Value1, Value2, CASE WHEN Value1 >= 90 AND Value1 <= 100 THEN 'A' WHEN Value1 >= 80 AND Value1 <= 89 THEN 'B' WHEN Value1 >= 70 AND Value1 <= 79 THEN 'C' WHEN Value1 >= 0 AND Value1 <= 69 THEN 'F' ELSE '' END AS Value1r, CASE WHEN Value2 >= 90 AND Value2 <= 100 THEN 'A' WHEN Value2 >= 80 AND Value2 <= 89 THEN 'B' WHEN Value2 >= 70 AND Value2 <= 79 THEN 'C' WHEN Value2 >= 0 AND Value2 <= 69 THEN 'F' ELSE '' END AS Value2r FROM gdata
create view for gdata table.
view is your temporary table.
when you change any data in main table view automatically affected.
when you submit data change your table name in your code gdata to gdata_view (gdata_view is a temporary table <= without view is not possible)
$query = "SELECT * FROM gdata
WHERE
Value1 = '" . $valueToSearch . "' OR
Value2 = '" . $valueToSearch . "' OR
Value1r = '" . $valueToSearch . "' OR
Value2r = '" . $valueToSearch . "'
";
replace by
$query = "SELECT * FROM gdata_view
WHERE
Value1 = '" . $valueToSearch . "' OR
Value2 = '" . $valueToSearch . "' OR
Value1r = '" . $valueToSearch . "' OR
Value2r = '" . $valueToSearch . "'
";
为什么我的搜索函数永远不会执行“else”(如果没有找到结果,else应该回显文本)?我在尝试显示所有结果时也遇到了一些问题(没有选择搜索标准,只需按搜索按钮)。我将上传页面的全部代码,因为我不知道您是否也需要HTML部分来解决问题。我知道这是一个很大的代码块,但如果可以的话,请帮忙。谢谢 以下是我的代码链接:http://pastebin.com/BXe1C0dr
带有可筛选得适配器: filter由于某种原因不起作用,当我键入某些内容时,它会清除recyclerview
我在对话框中使用搜索栏媒体播放器,但是当我点击它时,搜索栏不起作用 我正在制作通话记录应用程序,并使用seek播放音频文件。当我点击搜索栏时,它会向前移动,但在1秒钟后,它会回到之前的位置。
我正在尝试使用C#使用Nest进行匹配查询。Match查询不会返回任何结果,因为生成的JSON的语法似乎不正确,我确信有一些文档包含此关键字。下面是C代码片段 这将生成以下查询: 但是,当我在Kibana控制台Get\u search中调整同一查询时,该查询返回0个结果 我得到搜索词的结果。请注意,Kibana查询的语法中缺少“第二个查询标记”。 我确实检查了文档,似乎我的语法是正确的https:
我使用bootstrap4数据表来显示行限制 > HTML代码 Ajax填充代码 Onload我使用了下面的代码 我用过bellow js
我收到一个错误,上面写着“未能解析:com.github.mancj:MaterialSearchBar:0.8.5”。关于如何修复这个问题,有什么想法吗? 我的构建gradle项目 构建gradle应用程序: