Intereting Posts
PHP ZipArchive не-английские имена файлов возвращают фанковые имена файлов в архиве Есть ли какой-либо возможный способ, которым посетитель может получить доступ к тому, что отправлено POST? fetch_array с подготовленным заявлением? PHP MYSQL? Выполнение команд оболочки с использованием скрипта PHP socket_create vs. fsockopen php php header Откуда сразу? предотвращать предупреждения об ошибках, если соединение не может быть установлено PHP Curl upload, post значения в порядке, заданном в массиве Запуск и получение команды на экране через PHP Канонический URL-адрес связан с Facebook, а не с реальным URL-адресом. Динамические теги OpenGraph Загрузка, извлечение и повышение производительности PHP Как отправить значение HTTP POST на страницу (PHP) с помощью Python? Сохранить текущую страницу как HTML для сервера Есть ли способ отключить ссылку href при щелчке на n дней использовать файлы cookie в JavaScript Отображение данных из двух таблиц с отношением «многие ко многим» с использованием PHP / CodeIgniter

Получите максимальный ID и минимальный идентификатор из определенного столбца в MySQL php

Я новичок в php и теперь пытаюсь извлечь данные из MySQL в Android.

Это моя таблица work_details

введите описание изображения здесь

В функции RetrieveTotalHours я хочу получить минимальное время ожидания и максимальное время ожидания от MySQL до android через php и, наконец, использовать код ниже, чтобы получить общее количество часов.

Предположим, что ID равен 3, поэтому я хочу получить timeIn, где id=3 , timeOut, где id=25 . Это то, что я пробовал до сих пор.

  public void RetrieveTotalHours( final String ID) // ID(twd)=3 { 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 { JSONObject jsonObject = new JSONObject(json); JSONArray result = jsonObject.getJSONArray(Configs.TAG_JSON_ARRAY); JSONObject c = result.getJSONObject(0); String MiNtimeIn = c.getString(Configs.TAG_IN); String MaXtimeOut=c.getString(Configs.TAG_OUT); long difference = 0; if (MiNtimeIn > MaXtimeOut) { difference = (MaXtimeOut + (24 * 60) - MiNtimeIn) - (1 * 60); minutes = (int) (difference % 60); hours = (int) ((difference / 60) % (24 * 60)); totalHours.setText(("Total hours : " + hours + ":" + minutes)); } else { // ..... } total.setText(hours); } catch (JSONException e) { e.printStackTrace(); } } 

Retrieve_hours.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('id'=>$row[0],'timeIn'=>$row[1],'timeOut'=>$row[2])); } echo json_encode($res); mysqli_close($con); ?> в <?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('id'=>$row[0],'timeIn'=>$row[1],'timeOut'=>$row[2])); } echo json_encode($res); mysqli_close($con); ?> - <?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('id'=>$row[0],'timeIn'=>$row[1],'timeOut'=>$row[2])); } echo json_encode($res); mysqli_close($con); ?> 

Configs

  public static final String TAG_IN="timeIn"; public static final String TAG_OUT="timeOut"; 

ошибка

 01-10 19:31:47.355 1298-1298/com.example.project.myapplication W/System.err﹕ org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject 01-10 19:31:47.355 1298-1298/com.example.project.myapplication W/System.err﹕ at org.json.JSON.typeMismatch(JSON.java:111) 01-10 19:31:47.355 1298-1298/com.example.project.myapplication W/System.err﹕ at org.json.JSONObject.<init>(JSONObject.java:159) 01-10 19:31:47.355 1298-1298/com.example.project.myapplication W/System.err﹕ at org.json.JSONObject.<init>(JSONObject.java:172) 01-10 19:31:47.355 1298-1298/com.example.project.myapplication W/System.err﹕ at com.example.project.myapplication.GUI.Edit_WorkDetails.showHours(Edit_WorkDetails.java:248) 01-10 19:31:47.355 1298-1298/com.example.project.myapplication W/System.err﹕ at com.example.project.myapplication.GUI.Edit_WorkDetails.access$000(Edit_WorkDetails.java:46) 01-10 19:31:47.355 1298-1298/com.example.project.myapplication W/System.err﹕ at com.example.project.myapplication.GUI.Edit_WorkDetails$1GetHours.onPostExecute(Edit_WorkDetails.java:232) 01-10 19:31:47.355 1298-1298/com.example.project.myapplication W/System.err﹕ at com.example.project.myapplication.GUI.Edit_WorkDetails$1GetHours.onPostExecute(Edit_WorkDetails.java:220) 01-10 19:31:47.355 1298-1298/com.example.project.myapplication W/System.err﹕ at android.os.AsyncTask.finish(AsyncTask.java:632) 01-10 19:31:47.355 1298-1298/com.example.project.myapplication W/System.err﹕ at android.os.AsyncTask.access$600(AsyncTask.java:177) 01-10 19:31:47.355 1298-1298/com.example.project.myapplication W/System.err﹕ at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645) 01-10 19:31:47.355 1298-1298/com.example.project.myapplication W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:102) 01-10 19:31:47.355 1298-1298/com.example.project.myapplication W/System.err﹕ at android.os.Looper.loop(Looper.java:146) 01-10 19:31:47.355 1298-1298/com.example.project.myapplication W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:5602) 01-10 19:31:47.360 1298-1298/com.example.project.myapplication W/System.err﹕ at java.lang.reflect.Method.invokeNative(Native Method) 01-10 19:31:47.360 1298-1298/com.example.project.myapplication W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:515) 01-10 19:31:47.360 1298-1298/com.example.project.myapplication W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 01-10 19:31:47.360 1298-1298/com.example.project.myapplication W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 01-10 19:31:47.360 1298-1298/com.example.project.myapplication W/System.err﹕ at dalvik.system.NativeStart.main(Native Method) 01-10 19:31:47.380 1298-1298/com.example.project.myapplication D/AbsListView﹕ Get MotionRecognitionManager 

отредактированный

введите описание изображения здесь

  String MiNtimeIn = c.getString(Configs.TAG_IN); String MaXtimeOut=c.getString(Configs.TAG_OUT); 

Предположим, что ID (twd) равен 8, я должен получить 21:52 во времениIn и 1:52 вовремя. MiNtimeIn должен отображать 21:52 (id 3), MaXtimeOut должен отображать 1:52 (id 4)