ترتیب بر اساس دیتابیس در پروژه مارکت
سلام .....هر کی می دونه تو رو خدا کمکم کنه..
من می خوام تو لیستم هر چی تو دیتابیس می زارم بر اساس دیتا بیس بیاد ...الان هر چی تو دیتابیس میریزم میره اخر لیست .ولی من می خوام اول لیست بیاد .. منون .تو اموزش ها هم نگاه کردم ولی استاد دکمه گذاشتن واسه هر کدوم من می خوام خودش بدون دکمه هر چی تو دیتابیس بزارم اول لیست بیاد ممنون ..اینم کدش ..اگه میشه بگین چی بنویسم که بر اساس دیتابیس نمایش داده بشه.....اولی کد پی اچ پی هست ...دومی کد لیستم......
header('Content-Type: text/html; charset=utf-8');
if (isset($_REQUEST['action'])){
$action = $_REQUEST['action'];
} else {
echo "Invalid Data";
exit;
}
if ($action=="read"){
read();
}
/**
*
*/
function connectToDatabase(){
$connection=mysqli_connect("localhost", "dani_star2", "60507746s", "dani_star2");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_set_charset($connection,"UTF8");
return $connection;
}
/**
*
*/
function read(){
$connection = connectToDatabase();
$result = mysqli_query($connection, "SELECT * FROM app");
$output = array();
while($row = mysqli_fetch_array($result)) {
$record = array();
$record['app_id'] = $row['app_id'];
$record['app_name'] = $row['app_name'];
$record['app_price'] = $row['app_price'];
$record['app_logoUrl'] = $row['app_logoUrl'];
$record['app_ratingValue'] = $row['app_ratingValue'];
$record['app_author'] = $row['app_author'];
$record['app_votes'] = $row['app_votes'];
$record['app_file'] = $row['app_file'];
$record['app_filesize'] = $row['app_filesize'];
$record['app_versionName'] = $row['app_versionName'];
$record['app_installs'] = $row['app_installs'];
$record['app_description'] = $row['app_description'];
$record['app_phoneNumber'] = $row['app_phoneNumber'];
$record['app_email'] = $row['app_email'];
$output[] = $record;
}
#echo "
";
#print_r($output);
#echo "
";
echo json_encode($output);
mysqli_close($connection);
}
*****************************************************************************************
*****************************************************************************************
*****************************************************************************************
*****************************************************************************************
package ir.starqeshm.starqeshm;
import java.util.ArrayList;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.os.Bundle;
import android.widget.ListView;
public class starqeshm2 extends EnhancedActivity {
private ListView list;
private starqeshm3 adapter;
private ArrayList applications = new ArrayList();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.starqeshm_2);
list = (ListView) findViewById(R.id.list);
adapter = new starqeshm3(applications);
list.setAdapter(adapter);
// populateFakeDate();
// populateFromDatabase();
populateFromServer();
}
private void populateFromServer() {
String result = Webservice.readUrl("http://starqeshm.ir/market-server/service.php?action=read", null);
if (result != null) {
try {
applications.clear();
JSONArray apps = new JSONArray(result);
for (int i = 0; i < apps.length(); i++) {
JSONObject object = apps.getJSONObject(i);
StrucApplication application = new StrucApplication();
application.name = object.getString("app_name");
application.Price = object.getInt("app_price");
application.ratingValue = (float) object.getDouble("app_ratingValue");
application.author = object.getString("app_author");
application.description = object.getString("app_description");
application.email = object.getString("app_email");
application.phoneNumber = object.getString("app_phoneNumber");
application.filesize = object.getLong("app_filesize");
application.installs = object.getInt("app_installs");
application.versionName = object.getString("app_versionName");
application.votes = object.getInt("app_votes");
applications.add(application);
}
adapter.notifyDataSetChanged();
}
catch (JSONException e) {
e.printStackTrace();
}
}
}
سلام ، برای این کار میشه تو قسمت سرور توی query ترتیب رو صعودی یا نزولی کنید ، البته فکر کنم حداقل باید یدونه فیلد داشته باشین که این امکان رو فراهم کنه ، یعنی یه فیلد با نوع عدد. این لینک رو ببینید خیلی واضح این مبحث رو آموزش داده :
http://www.tutorialspoint.com/sqlite/sqlite_order_by.htm
البته فکر کنم خود خود آرایه رو هم میشه ترتیب بندی کرد (بدون نیاز به تغییر سمت سرور) ، من بلد نیستم فعلا.
این خط رو با پایینی جایگزین کد به احتمال زیاد حل بشه (اصلاح شد) :
$result = mysqli_query($connection, "SELECT * FROM app");
$result = mysqli_query($connection, "SELECT * FROM app ORDER BY app_id DESC");
خودم پیدا کردم ممنون ولی اگه کمک شماها نبود نمی تونستم
$result = mysqli_query($connection, "SELECT * FROM app ORDER BY app_id DESC");
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .