2017-06-14 10 views
1

Ich zeige Tabelle Datensätze mit unten Code.Die Datensätze werden angezeigt, aber nicht in der richtigen Reihenfolge (asc/desc).Anzeige Tabelle Datensätze Reihenfolge nach Zeit in absteigender Reihenfolge

// storing request (ie, get/post) global array to a variable 
$requestData= $_REQUEST; 


$columns = array( 
// datatable column index => database column name 
    0 =>'***', 
    1 => '***', 
    2=> '***', 
     3=> 'time', 
     4=> '***' 
); 

// getting total number records without any search 
$sql = "SELECT * "; 
$sql.=" FROM details where account_id=".$_SESSION['admin_id']; 

$query=mysqli_query($conn, $sql) or die("server_response.php: get details"); 
$totalData = mysqli_num_rows($query); 
$totalFiltered = $totalData; // when there is no search parameter then total number rows = total number filtered rows. 


$sql = "SELECT * "; 
$sql.=" FROM details where account_id=".$_SESSION['admin_id']; 
if(!empty($requestData['search']['value'])) { // if there is a search parameter, $requestData['search']['value'] contains search parameter 
    $sql.=" AND (*** LIKE '".$requestData['search']['value']."%' ";  
    $sql.=" OR *** LIKE '".$requestData['search']['value']."%' "; 
     $sql.=" OR *** LIKE '".$requestData['search']['value']."%' "; 
     $sql.=" OR time LIKE '".$requestData['search']['value']."%' "; 

    $sql.=" OR *** LIKE '".$requestData['search']['value']."%')"; 
} 
$query=mysqli_query($conn, $sql) or die("server_response.php: get details"); 
$totalFiltered = mysqli_num_rows($query); // when there is a search parameter then we have to modify total number filtered rows as per search result. 
$sql.=" ORDER BY ". $columns[$requestData['order'][0]['column']]." ".$requestData['order'][0]['dir']." LIMIT ".$requestData['start']." ,".$requestData['length']." "; 
/* $requestData['order'][0]['column'] contains colmun index, $requestData['dir'][0]['order'] contains order such as asc/desc */  
$query=mysqli_query($conn, $sql) or die("server_response.php: get details"); 

$data = array(); 
while($row=mysqli_fetch_array($query)) { // preparing an array 
    $nestedData=array(); 

    $nestedData[] = $row[""]; 
    $nestedData[] = $row[""]; 
    $nestedData[] = $row[""]; 
     $nestedData[] = $row["time"]; 
     $nestedData[] = $row[""]; 

    $data[] = $nestedData; 
} 



$json_data = array(
      "draw"   => intval($requestData['draw']), // for every request/draw by clientside , they send a number as a parameter, when they recieve a response/data they first check the draw number, so we are sending same number in draw. 
      "recordsTotal" => intval($totalData), // total number of records 
      "recordsFiltered" => intval($totalFiltered), // total number of records after searching, if there is no searching then totalFiltered = totalData 
      "data"   => $data // total data array 
      ); 

echo json_encode($json_data); // send data as json format 

?> 

Ich muss Aufzeichnungen in absteigender Reihenfolge nach Zeit anzeigen. Wie kann ich den Datensatz in absteigender Reihenfolge sortieren?

+1

Bitte eine Log-Anweisung, um Ihren Code hinzufügen, um zu zeigen, die letzte Abfragezeichenfolge, die ausgeführt wird, nachdem die Parameter angewendet wurden, und dann Ihre Frage bearbeiten, um uns diese Abfragezeichenfolge anzuzeigen. Und was die Parameter anbelangt: [** Verkette keine Request-Parameter in eine SQL-Zeichenfolge! **] (https://xkcd.com/327/) – nnnnnn

Antwort

0

Try mysql Abfrage zu schreiben, indem Zeit als absteigend

SELECT something , something FROM mytable ORDER BY time DESC; 
+0

Das funktioniert in diesem Fall nicht. Müssen Sie hier ändern. – priya

+0

funktioniert Ihre Abfrage und Sie haben den Ausgang ..? Sie möchten diese Ausgabe in absteigender Reihenfolge nach Zeit machen? – Thiwanka

+0

Ja. Ich gehe raus. Nur Datensätze sind nicht in der gewünschten Reihenfolge. Möchten Datensätze in Reihenfolge nach Zeit anzeigen. – priya

0

Versuchen Sie, mit dieser in Ihrem PHP zu bestellen Es ist hilfreich zu Ihnen

$json = '[{"date": "2011-08-07", "name": "bob"},{"date": "2011-07-07", "name": "jones"},{"date": "2011-09-03", "name": "blair"},{"date": "2009-01-01", "name": "test"}]'; 
$arr = json_decode($json, true); 
echo 'Before Sorting <br>'; 
print_r($arr); 
function cmp($a, $b) 
{ 
    return strcmp($a['date'], $b['date']); 
} 
usort($arr, "cmp"); 
echo "<br><br> After Sorting <br>"; 
print_r($arr); 
+0

OP versucht, in einer SQL-Abfrage zu sortieren. – nnnnnn

Verwandte Themen