php - 如何使用搜索框在 JSON 数组对象 PHP 中搜索
问题描述
我做了一个搜索框,我想在 JSON 数据中搜索,我从这个 url 获取它:https ://jsonplaceholder.typicode.com/todos/
这是我如何接收数据的代码:
<?php
$url = 'https://jsonplaceholder.typicode.com/todos/';
$cURL = curl_init();
curl_setopt($cURL, CURLOPT_URL, $url);
curl_setopt($cURL, CURLOPT_HTTPGET, true);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Accept: application/json'
));
$result = curl_exec($cURL);
curl_close($cURL);
$arrays = json_decode($result);
?>
这是搜索框和按钮的 HTML 代码:
<form action="search.php" method="POST" style="search-style";>
<input type="text" name="search" placeholder="Search" >
<button type="submit" name="submit-search">Search</button>
</form>
这是搜索的 PHP 代码,但我不知道如何完成它:
<div>
<?php
if (isset($_POST['submit-search'])) {
$search = $????? ($_POST['search']); // i dont know how it works, i need a variable
foreach ($arrays as $key => $value) {
echo $value -> $search ;
}
}
?>
</div>
最后我需要在表格或类似的东西中显示结果。但我无法得到结果..有什么建议吗?提前致谢!
解决方案
您将请求发送给search.php
实际上您重定向到 search.php。
要在一页中使用此代码,您必须将search.php
代码放在主文件中。
打开站点时您会收到数据。
并在搜索表单中发送一个键(字符串标题ID ...任何东西),最后一部分过滤它,您的最终代码必须是这样的
<?php
$url = 'https://jsonplaceholder.typicode.com/todos/';
$cURL = curl_init();
curl_setopt($cURL, CURLOPT_URL, $url);
curl_setopt($cURL, CURLOPT_HTTPGET, true);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Accept: application/json'
));
$result = curl_exec($cURL);
curl_close($cURL);
$arrays = json_decode($result);
?>
<form action="#" method="POST" style="search-style";>
<input type="text" name="Title" placeholder="Enter Title..." >
<button type="submit" name="submit_search">Search</button>
</form>
<div>
<?php
if(isset($_POST['submit_search']) && !empty($_POST['Title'])) {
$Title = $_POST['Title'];
foreach($arrays as $value) {
if(strpos($value->title, $Title) !== false) {
echo "Title : ";
echo $value->title ."<br/>";
echo "Id : " ;
echo $value->id ."<br/>";
}
}
}
?>
</div>
推荐阅读
- android - 升级到 Gradle 版本 4.0.0 打破了 R8 代码收缩
- android - 在 XML 中实现 On Click 属性并传递一个以视图为参数的方法
- postgresql - 在存储过程 postgresql 中查找 jsonb 数组长度
- java - 将句子字符串正确拆分为新行(JAVA)
- html - 试图删除这个 SVG 图标的半径 - 有什么想法吗?
- html - Huginn:使用网站代理 css 选择器从 html 标记中提取文本
- swift - PKPassLibrary 不返回通行证
- sql-server - 使用 Scope_Identity() 在 SQL Server 中添加 2 个外键
- c++ - c ++中集合和映射中值的下限索引
- python-3.x - 如何替换 ndarray 中的每个第 n 个实例?