$iTotal, "iTotalDisplayR-6ren">
gpt4 book ai didi

java - 在数据表中自动添加行 ID (jQuery)

转载 作者:行者123 更新时间:2023-12-02 08:16:01 25 4
gpt4 key购买 nike

这是给出的 PHP 代码

   <?php

$aColumns = array( 'engine', 'browser', 'platform', 'version', 'grade' );

$sTable = "ajax";
$gaSql['user'] = "";
$gaSql['password'] = "";
$gaSql['db'] = "";
$gaSql['server'] = "localhost";

include( $_SERVER['DOCUMENT_ROOT']."/datatables/mysql.php" );
$gaSql['link'] = mysql_pconnect( $gaSql['server'], $gaSql['user'], $gaSql['password'] ) or
die( 'Could not open connection to server' );

mysql_select_db( $gaSql['db'], $gaSql['link'] ) or
die( 'Could not select database '. $gaSql['db'] );

$sLimit = "";
if ( isset( $_GET['iDisplayStart'] ) && $_GET['iDisplayLength'] != '-1' )
{
$sLimit = "LIMIT ".mysql_real_escape_string( $_GET['iDisplayStart'] ).", ".
mysql_real_escape_string( $_GET['iDisplayLength'] );
}

$sOrder = "";
if ( isset( $_GET['iSortCol_0'] ) )
{
$sOrder = "ORDER BY ";
for ( $i=0 ; $i<intval( $_GET['iSortingCols'] ) ; $i++ )
{
if ( $_GET[ 'bSortable_'.intval($_GET['iSortCol_'.$i]) ] == "true" )
{
$sOrder .= $aColumns[ intval( $_GET['iSortCol_'.$i] ) ]."
".mysql_real_escape_string( $_GET['sSortDir_'.$i] ) .", ";
}
}

$sOrder = substr_replace( $sOrder, "", -2 );
if ( $sOrder == "ORDER BY" )
{
$sOrder = "";
}
}

$sWhere = "";
if ( isset($_GET['sSearch']) && $_GET['sSearch'] != "" )
{
$sWhere = "WHERE (";
for ( $i=0 ; $i<count($aColumns) ; $i++ )
{
$sWhere .= $aColumns[$i]." LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ";
}
$sWhere = substr_replace( $sWhere, "", -3 );
$sWhere .= ')';
}

/* Individual column filtering */
for ( $i=0 ; $i<count($aColumns) ; $i++ )
{
if ( isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == "true" && $_GET['sSearch_'.$i] != '' )
{
if ( $sWhere == "" )
{
$sWhere = "WHERE ";
}
else
{
$sWhere .= " AND ";
}
$sWhere .= $aColumns[$i]." LIKE '%".mysql_real_escape_string($_GET['sSearch_'.$i])."%' ";
}
}
$sQuery = "
SELECT SQL_CALC_FOUND_ROWS id, ".str_replace(" , ", " ", implode(", ", $aColumns))."
FROM $sTable
$sWhere
$sOrder
$sLimit
";
$rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());

$sQuery = "
SELECT FOUND_ROWS()
";
$rResultFilterTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
$aResultFilterTotal = mysql_fetch_array($rResultFilterTotal);
$iFilteredTotal = $aResultFilterTotal[0];

/* Total data set length */
$sQuery = "
SELECT COUNT(".$sIndexColumn.")
FROM $sTable
";
$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
$aResultTotal = mysql_fetch_array($rResultTotal);
$iTotal = $aResultTotal[0];

$output = array(
"sEcho" => intval($_GET['sEcho']),
"iTotalRecords" => $iTotal,
"iTotalDisplayRecords" => $iFilteredTotal,
"aaData" => array()
);

while ( $aRow = mysql_fetch_array( $rResult ) )
{
$row = array();

// Add the row ID and class to the object
$row['DT_RowId'] = 'row_'.$aRow['id'];
$row['DT_RowClass'] = 'grade'.$aRow['grade'];

for ( $i=0 ; $i<count($aColumns) ; $i++ )
{
if ( $aColumns[$i] == "version" )
{
$row[] = ($aRow[ $aColumns[$i] ]=="0") ? '-' : $aRow[ $aColumns[$i] ];
}
else if ( $aColumns[$i] != ' ' )
{
$row[] = $aRow[ $aColumns[$i] ];
}
}
$output['aaData'][] = $row;
}

echo json_encode( $output );
?>

我需要用java开发一个程序,就像PHP代码一样(我无法理解PHP代码),这是我的java代码(部分)。

public class DTSerializedObject implements java.io.Serializable
{
public int iTotalRecords;
public int iTotalDisplayRecords;
public ArrayList<Object> aaData;
}

函数内部

    ArrayList<Object> jsonarray = new ArrayList<Object>();
DTSerializedObject dts = new DTSerializedObject();
dts.iTotalRecords = dts.iTotalDisplayRecords = 30;
String category=null;
while(rs.next())
{
category="Normal";
ArrayList<Object> ja = new ArrayList<Object>();
int topicno=rs.getInt("topicno");
ja.add(topicno);
ja.add(rs.getString("filename"));
ja.add(rs.getString("letterno"));
ja.add(rs.getString("date"));
if((rs.getString("category")).equals("2"))
category="Urgent";
ja.add("<center>"+category+"</center>");
ja.add(rs.getString("office"));
ja.add(rs.getString("subject")+"....");
ja.add("<center><a class='anc' href=\"/Spandana2/specifiedTopicDetailsAndReplies.do?topicno="+topicno+"&purpose=view&jsessionid="+java.util.UUID.randomUUID().toString().replace("-","").toUpperCase()+"\">View</a></center>");
jsonarray.add(ja);
}
dts.aaData = jsonarray;

如何将 DT_RowId、DT_RowClass 选项添加到我的 java 代码中。上述 PHP 代码的预期 JSON 输出格式是什么?

提前致谢

最佳答案

像这样创建一个对象

class Bean{
public String col1;
public String col2;
public String DT_RowClass;
}

在从数据库获取数据时,创建了一个对象(Bean)并将值分配给每一行的该对象属性。

ArrayList al = new ArrayList();    
while(rs.next){
Bean b = new Bean();
b.col1(rs.getString(1));
b.col2(rs.getString(2));
if(rs.getString(3))
b.DT_RowClass = "class1";
else
b.DT_RowClass = "class2";
al.add(b);
}

创建了一个类,表示在网页中显示数据所需的 json 格式。创建该类的对象 (obj) 并将适当的值分配给 iTotalRecords & iTotalDisplayRecords & aaData = al;

public class DTSerializedObject implements java.io.Serializable
{
public int iTotalRecords;
public int iTotalDisplayRecords;
public ArrayList<Object> aaData;
}

最后使用 flexjson 序列化该对象.

 String result = new flexjson.JSONSerializer().exclude("class").serialize(obj);
response.setContentType("application/json");
response.setHeader("Cache-Control", "no-store");
response.getWriter().print(result);

关于java - 在数据表中自动添加行 ID (jQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6437248/

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