gpt4 book ai didi

php - 如何使用 MySQL 将值从一个微调器获取到另一个微调器?

转载 作者:行者123 更新时间:2023-11-29 19:15:17 25 4
gpt4 key购买 nike

我使用微调器和 MySQL 数据库,我的 Android XML 文件中有两个微调器。我需要当我从第一个微调器中选择一个项目时,第二个微调器将自动从数据库中获取相应的 id 值。

主要 Activity.Java

 public class MainActivity extends Activity implementsOnItemSelectedListener {

private Spinner spinnerFood;
private Spinner spinner;

private ArrayList<Category> categoriesList;
private ArrayList<Category> categoriesList1;

private String URL_CATEGORIES = "http://yyyyy/users.php";
private String URL_CAT = "http://yyy/Category.php";


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

spinnerFood = (Spinner) findViewById(R.id.spinFood);
categoriesList = new ArrayList<Category>();
spinnerFood.setOnItemSelectedListener(this);
new GetCategories().execute();

spinner = (Spinner) findViewById(R.id.spinner);
categoriesList1 = new ArrayList<Category>();
spinner.setOnItemSelectedListener(this);
new GetCategories1().execute();
}

private void populateSpinner() {
List<String> lables = new ArrayList<String>();
for (int i = 0; i < categoriesList.size(); i++) {
lables.add(categoriesList.get(i).getCrop());
}
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, lables);

// Drop down layout style - list view with radio button
spinnerAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spinnerFood.setAdapter(spinnerAdapter);
}

private void populateSpinner1() {
List<String> lables1 = new ArrayList<String>();

for (int i = 0; i < categoriesList1.size(); i++) {
lables1.add(categoriesList1.get(i).getCrop());
}

ArrayAdapter<String> spinnerAdapter1 = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, lables1);

spinnerAdapter .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spinner.setAdapter(spinnerAdapter1);
state = spinner.getSelectedItem().toString();
Log.e(Tag,"spinner "+ state );

}

private class GetCategories extends AsyncTask<Void, Void, Void> {


@Override
protected Void doInBackground(Void... arg0) {
ServiceHandler jsonParser = new ServiceHandler();
String json = jsonParser.makeServiceCall(URL_CATEGORIES, ServiceHandler.GET);

Log.e("Response: ", "> " + json);

if (json != null) {
try {
JSONObject jsonObj = new JSONObject(json);
if (jsonObj != null) {
JSONArray categories = jsonObj
.getJSONArray("agriculture");

for (int i = 0; i < categories.length(); i++) {
JSONObject catObj = (JSONObject) categories.get(i);
Category cat = new Category(catObj.getString("state"));
categoriesList.add(cat);
}
}

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

} else {
Log.e("JSON Data", "Didn't receive any data from server!");
}

return null;
}

@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
populateSpinner();
}

}


@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
}

private class GetCategories1 extends AsyncTask<Void, Void, Void> {

@Override
protected void onPreExecute() {

}

@Override
protected Void doInBackground(Void... arg0) {
ServiceHandler jsonParser1 = new ServiceHandler();
String json1 = jsonParser1.makeServiceCall(URL_CAT, ServiceHandler.GET);

Log.e("Response: ", "> " + json1);

if (json1 != null) {
try {
JSONObject jsonObj1 = new JSONObject(json1);
if (jsonObj1 != null) {
JSONArray categories1 = jsonObj1
.getJSONArray("agriculture");

for (int i = 0; i < categories1.length(); i++) {
JSONObject catObj1 = (JSONObject) categories1.get(i);
Category cat1 = new Category(catObj1.getString("category"));
categoriesList1.add(cat1);

}
}

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

} else {
Log.e("JSON Data", "Didn't receive any data from server!");
}

return null;
}

@Override
protected void onPostExecute(Void result1) {
super.onPostExecute(result1);
populateSpinner1();
}

用户.php

 $sql = "select id,state from agriculture where id=id"; 
$result = mysql_query($sql);
$json = array();

if(mysql_num_rows($result)){
while($row=mysql_fetch_assoc($result)){
$json['agriculture'][]=$row;
}
}

mysql_close($con);
echo json_encode($json);

类别.php

  $sql = "select agriculture.id,category.state_id from        agriculture     JOIN category using(state_id) where agriculture.id='id'"; 
$result = mysql_query($sql);
$json = array();

if(mysql_num_rows($result)){
while($row=mysql_fetch_assoc($result)){
$json['category'][]=$row;
}
}

mysql_close($con);
echo json_encode($json);

最佳答案

在 onItemSelected() 方法中这样写

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long l)
{
if (parent.getId() == R.id.spinner)
{
//download spinner list item for second spinner from Internet, **you may need position value**
}
if (parent.getId() == R.id.spinFood)
{
//do something
}
}

关于php - 如何使用 MySQL 将值从一个微调器获取到另一个微调器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42759214/

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