2017-09-08 73 views
2

我尝试将数组放入数据库中。在编辑文本中,我编写例如大蒜,西红柿,洋葱,但是当我将数据保存到数据库并转到我的php数据库时,而不是该文本时,它只会说成分。如果我手动添加文本(我手动添加数字而不是成分,但它是相同的)数据库它看起来不错,并创建良好的JSON文件。我怎样才能解决这个问题?如何将数组保存到PHP数据库中

MainActivity.java

String id; 
    ArrayList<String> ingredients = new ArrayList<String>(); 

    @BindView(R.id.etId) EditText etId; 
    @BindView(R.id.etIngredients) EditText etIngredients; 



    id = etId.getText().toString(); 
    ingredients = etIngredients.getText().toString(); 

Recipes.java

public class Recipes { 
    String id; 
    List<String> ingredients; 

    public String getId() { 
     return id; 
    } 

    public void setId(String id) { 
     this.id = id; 
    } 

    public List<String> getIngredients() { 
     return ingredients; 
    } 

    public void setIngredients(List<String> ingredients) { 
     this.ingredients = ingredients; 
    } 
} 

,以及如何检索列中的成分?

我使用它来从JSON文件返回它,但它在一排[1,3,4,5,6]

Reipes rec = recipes.get(position); 
    holder.textViewId.setText(rec.getId()); 
    holder.textViewIngredients.setText(rec.getIngredients().toString()); 

my online database

首先4个食谱手动添加返回成分,以及在Android应用中添加成分的地方。

how it looks when get data in android

+0

类型成分的开始为什么你是否将逗号分隔的值保存到单个字段中?这是一对多关系和外键的用途。开始正确地规范你的数据库。然后,如果您说PHP仍未正确保存,那么我们需要准确知道您从Java发送到PHP的数据字符串的格式。如果你很高兴字符串是正确的,那么我们需要看看正在执行保存的PHP代码。 – ADyson

+0

其次,如果您从PHP服务器以JSON形式返回一组成分标识,并且您希望以不同方式显示它们,则必须遍历它们并单独处理它们,而不是仅将数据作为字符串转储到你的屏幕(这是你现在正在做的)。 – ADyson

+0

你可以简单地发送你的成分作为一个可变串,为什么把它作为ArrayList

回答

0

你将不得不更换

ArrayList<String> ingredients = new ArrayList<String>(); 

通过

String ingredients; 

,并在您recipies类尝试改变

String ingredients; 
public String getIngredients() { 
    return ingredients; 
} 

public void setIngredients(String ingredients) { 
    this.ingredients = ingredients; 
} 
相关问题