Привет, у меня возникла проблема с вставкой моих данных через базу данных, и я просто отправляю только один элемент в recylerview
вот мой код корзины и php, что я использовал его
komen.php
<?php require_once 'index.php';if ($_SERVER['REQUEST_METHOD'] =='POST'){
$nama = $_POST['nama'];
$komen = $_POST['komen'];
$sql = "INSERT INTO komen_table (nama, komen) VALUES ('$nama', '$komen')";
if ( mysqli_query($conn, $sql) ) {
$result["success"] = "1";
$result["message"] = "success";
echo json_encode($result);
mysqli_close($conn);
} else {
$result["success"] = "0";
$result["message"] = "error";
echo json_encode($result);
mysqli_close($conn);
}}?>
Keranjang.java
public class KeranjangFragment extends Fragment {
private EditText product,prices;
TextView total;
Button btnpesan;
String tr;
private static String URL_pesan ="http://mercyshopper.000webhostapp.com/product.php";
public KeranjangFragment() {
}
public static List<Product> example = new ArrayList<>();
ProductAdapter madapter;
public String title;
public int productImage;
public double price;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View krnjg =inflater.inflate(R.layout.fragment_keranjang,container,false);
RecyclerView rec = krnjg.findViewById(R.id.rc1);
LinearLayoutManager aw1 =new LinearLayoutManager(getActivity(),LinearLayoutManager.VERTICAL,false);
rec.setLayoutManager(aw1);
total = krnjg.findViewById(R.id.vtotal);
madapter = new ProductAdapter(getContext(), example, getLayoutInflater(), total);
rec.setAdapter(madapter);
product = krnjg.findViewById(R.id.barang);
prices = krnjg.findViewById(R.id.hrga);
btnpesan = krnjg.findViewById(R.id.btnpsn);
Locale locale = new Locale("in","ID");
NumberFormat formatrupiah = NumberFormat.getCurrencyInstance(locale);
total.setText(formatrupiah.format(madapter.getTotalPrice()));
btnpesan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
placeorder();
final String mtotal = total.getText().toString();
Intent intent = new Intent(getActivity(), CheckoutActivity.class);
intent.putExtra("total",mtotal);
startActivity(intent);
}
});
return krnjg;
}
этот порядок размещения только для ввода элемента на сервер, который я могу просто ввести один элемент не может два или многие из них
private void placeorder() {
final ProgressDialog pDial = new ProgressDialog(getActivity());
pDial.setMessage("Loading...");
pDial.show();
final String product = madapter.getproduct();
final String prices = madapter.getprice();
StringRequest stringRequest = new StringRequest(Request.Method.POST, URL_pesan,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonObject = new JSONObject(response);
String success = jsonObject.getString("success");
if (success.equals("1")){
Intent intent = new Intent(getActivity(), CheckoutActivity.class);
intent.putExtra("product", product);
intent.putExtra("price", prices);
Toast.makeText(getActivity(), "Data Tersimpan", Toast.LENGTH_SHORT).show();
pDial.dismiss();
}
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(getActivity(), "Gagal Menyimpan", Toast.LENGTH_SHORT).show();
pDial.dismiss();
}
}
},new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getActivity(), "Tidak Dapat Menyimpan", Toast.LENGTH_SHORT).show();
pDial.dismiss();
}
})
{
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put("product",product);
params.put("price",prices);
return params;
}
};
RequestQueue requestQueue= Volley.newRequestQueue(getActivity());
requestQueue.add(stringRequest);
}
так что я должен сделать, потому что просмотрщик, который я использовал, я изменил текстовое представление, стал редактируемым текстом, который не может изменить его пользователь.а также, если я использовал строку, элемент, который входит в базу данных, является нулевым или "".если я добавил строковый запрос для (int i = 0; i
Product prod = new Product; prod.setTitle(jsonObject.getString(product)); example.add(prod);
, то значение, которое может быть в базе данных, может быть многократным, но один и тот же элемент, такой как зацикливание одного и того же элемента, но всегда идти в ловушку, что будет ошибкой. Мне нужнорешил и знаю, в чём виновата моя благодарность