gpt4 book ai didi

php - 按非列元素对 mysql 表进行排序

转载 作者:行者123 更新时间:2023-11-29 18:40:43 25 4
gpt4 key购买 nike

我正在开发一个Android应用程序,用户可以根据他们想要的区域查看数据。我正在我的 php 后端代码中获取该区域。我有一个表“help”,其中有一列name。我想要做的是使用 similar_text 或类似的用户输入和表 name 数据之间的降序排列,根据百分比匹配对整个表进行排序。我不知道如何做到这一点。这就是我已经走了多远。

<?php
require_once "Database/DB_Connect.php";
$db = new DB_Connect();
$db_conn = $db->connect();
$area=$_REQUEST['area']
$name1=array();
$query="SELECT `name` from `help`";
$result=mysqli_query($db_conn,$query);
while ($row=$result->fetch_assoc()) {
$name=$row['name'];
similar_text($area,$name,$percentage);
$query1="SELECT * FROM `help` ORDER BY '$percentage' DESC ";
$result1=mysqli_query($db_conn,$query1);
while($row1=$result1->fetch_assoc()){
$name1[]=$row1;
}
}
echo json_encode($name1);
$db_conn->close();
?>

我得到的输出是整个表数据多次按名称降序排列

最佳答案

我不知道这是否是最佳答案,但是,我想出了一个解决方案。

<?php
require_once "Database/DB_Connect.php";
$db = new DB_Connect();
$db_conn = $db->connect();
$name1=array();
$id=array();
$area = $_REQUEST['area'];
$query="SELECT * FROM `help`";
$result=mysqli_query($db_conn,$query);
while ($row=mysqli_fetch_array($result)) {
$name1[]=$row['name'];
$id[]=$row['id'];
}
$sorted_arr=array();
$sorted_id=array();
for($i=0; $i<count($name1); $i++) {
$temp_arr[$i] = similar_text($search, $name1[$i]);
}
arsort($temp_arr);
foreach($temp_arr as $k => $v) {
$sorted_arr[] = $name1[$k];
$sorted_id[]=$id[$k];
}
$data = [];
for($i=0; $i<count($name1); $i++) {
$sql="SELECT * FROM `help` WHERE `id`='$sorted_id[$i]' ";
$result = $db_conn->query($sql);
$data[]=$result->fetch_assoc();
}
echo json_encode($data);
$db_conn->close();
?>

关于php - 按非列元素对 mysql 表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44962073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com