gpt4 book ai didi

php - 在 MySQL php 中获取最小 ID 和最大 ID 值

转载 作者:行者123 更新时间:2023-11-28 23:39:39 25 4
gpt4 key购买 nike

我想知道如何从 MySQL php 到 android 获取具有最小 id 的 timeIn 和具有最大 id 的 timeOut

这是表 work_Details(id,project,percentage,timeIn,timeOut,twd)。现在我想检索 timeIn : 12:26:00timeOut 11:26:00

enter image description here

  public void RetrieveTotalHours( final String ID)  // Assume ID is 69
{
class GetHours extends AsyncTask<Void,Void,String> {
ProgressDialog loading;
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(getActivity(),"Fetching...","Wait...",false,false);
}

@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
showHours(s);
}

@Override
protected String doInBackground(Void... params) {
RequestHandler rh = new RequestHandler();
String s = rh.sendGetRequestParam(Configs.RETRIEVE_HOURS,ID);
return s;
}
}
GetHours ge = new GetHours();
ge.execute();

}
private void showHours(String json) {
try {
JSONArray array=new JSONArray(json);
JSONObject jsonObject = array.getJSONObject(array.length()-1);
String MiNtimeIn = jsonObject.optString(Configs.TAG_IN);
String MaXtimeOut=jsonObject.optString(Configs.TAG_OUT);
Log.e("A",MiNtimeIn);
Log.e("S", MaXtimeOut);
//total.setText(MiNtimeIn);

} catch (JSONException e) {
e.printStackTrace();
}
}

php

<?php
define('HOST','127.0.0.1:3307');
define('USER','root');
define('PASS','');
define('DB','androiddb');

$con = mysqli_connect(HOST,USER,PASS,DB) or die('unable to connect');

$twd= $_GET['id'];

$sql = "select timeIn, timeOut from work_details WHERE twd = '".$twd."' AND id IN
(SELECT MIN(id) FROM work_details WHERE twd ='".$twd."' UNION SELECT MAX(id) FROM work_details WHERE twd='".$twd."')";


$res = mysqli_query($con,$sql);

$result=array();

while($row=mysqli_fetch_array($res)){
array_push($result,array('timeIn'=>$row[0],'timeOut'=>$row[1]));
}

echo json_encode($result);

mysqli_close($con);

?>

错误的输出

01-12 12:43:41.540  22692-22692/com.example.project.myapplication E/A﹕ 20:26:00
01-12 12:43:41.540 22692-22692/com.example.project.myapplication E/S﹕ 11:26:00

它检索具有最大 id 的 timeIn 和 timeOut...

最佳答案

retrieves the timeIn and timeOut which has the max id...

这样做是为了从第一个 JSONObject 获取 MiNtimeIn 并从第二个 JSONObject 获取 MaXtimeOut:

String MiNtimeIn,MaXtimeOut;
JSONArray array=new JSONArray(json);
if(array.length()<2){
JSONObject jsonObject = array.getJSONObject(0);
MiNtimeIn = jsonObject.optString(Configs.TAG_IN);
MaXtimeOut=jsonObject.optString(Configs.TAG_OUT);
}else{
// get First Object from JSONArray
JSONObject oneObject = array.getJSONObject(0);
MiNtimeIn = oneObject.optString(Configs.TAG_IN); // get min from first row
// get Second Object from JSONArray
JSONObject twoObject = array.getJSONObject(array.length()-1);
MaXtimeOut = twoObject.optString(Configs.TAG_OUT); // get min from second row
}

关于php - 在 MySQL php 中获取最小 ID 和最大 ID 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34735760/

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