У меня есть запрос к базе данных mysql, он запрашивает все избранные курсы, но сначала мне нужно передать ему пользователя. Как я могу это сделать?
файл java:
public class FavoritosFragment extends Fragment {
RecyclerView recyclerView;
MyFavoritosRecyclerViewAdapter AdapterFavoritos;
List<Cursos>cursosList;
RequestQueue requestQueue;
// TODO: Customize parameters
private int mColumnCount = 1;
private OnListFragmentInteractionListener mListener;
public FavoritosFragment() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_favoritos_list, container, false);
// Set the adapter
if (view instanceof RecyclerView) {
Context context = view.getContext();
recyclerView = (RecyclerView) view;
if (mColumnCount <= 1) {
recyclerView.setLayoutManager(new LinearLayoutManager(context));
} else {
recyclerView.setLayoutManager(new GridLayoutManager(context, mColumnCount));
}
cursosList=new ArrayList<>();
ejecutarServicio();
obtenerCursos();
//asociamos el adaptador al recyclerview
AdapterFavoritos=new MyFavoritosRecyclerViewAdapter(cursosList, mListener);
recyclerView.setAdapter(AdapterFavoritos);
}
return view;
}
private void ejecutarServicio() {
StringRequest stringRequest = new StringRequest(Request.Method.POST, getResources().getString(R.string.URL_favo) , new Response.Listener<String>() {
@Override
public void onResponse(String response) {
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getActivity(), "Error de registro!"+error.toString(), Toast.LENGTH_SHORT).show();
}
}) {
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
final String usuario = "avo";
params.put("usu_usuario",usuario);
return params;
}
};
RequestQueue requestQueue= Volley.newRequestQueue(getActivity().getApplicationContext());
requestQueue.add(stringRequest);
}
public void obtenerCursos() {
RequestQueue requestQueue = Volley.newRequestQueue(getActivity().getApplicationContext());
StringRequest stringRequest = new StringRequest(Request.Method.POST, getResources().getString(R.string.URL_favo),
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray jsonArray = jsonObject.getJSONArray("Curso");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject1 = jsonArray.getJSONObject(i);
boolean add = cursosList.add(
new Cursos(
jsonObject1.getString("id_curso"),
jsonObject1.getString("titulo"),
jsonObject1.getString("descripcion"),
jsonObject1.getString("categoria"),
jsonObject1.getString("imagen")
)
);
}
AdapterFavoritos=new MyFavoritosRecyclerViewAdapter(cursosList, mListener);
recyclerView.setAdapter(AdapterFavoritos);
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
}
);
requestQueue.add(stringRequest);
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof OnListFragmentInteractionListener) {
mListener = (OnListFragmentInteractionListener) context;
} else {
throw new RuntimeException(context.toString()
+ " must implement OnListFragmentInteractionListener");
}
}
@Override
public void onDetach() {
super.onDetach();
mListener = null;
}
public interface OnListFragmentInteractionListener {
// TODO: Update argument type and name
void onListFragmentInteraction(Cursos item);
}
}
это мой php файл.
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
include 'conexion.php';
$usu_usuario=$_POST['usu_usuario'];
$miDato='';
$consultado="SELECT id_usuario FROM usuario WHERE usu_usuario='".$usu_usuario."'";
$result=mysqli_query($conexion,$consultado);
while($mostrar=mysqli_fetch_array($result)){
$miDato= $mostrar['id_usuario'];
}
// echo $miDato;
$consulta = " SELECT * FROM curso RIGHT JOIN favoritos ON curso.id_curso=favoritos.id_curso WHERE favoritos.id_usuario='".$miDato."'";
$resultado=$conexion->query($consulta);
$datos = array();
while($resultados = $resultado->fetch_assoc()) {
$datos[] = $resultados;
}
//echo json_encode($datos);
echo json_encode(array("Curso" => $datos));
mysqli_query($conexion,$consulta) or die (mysqli_error());
mysqli_close($conexion);
?>
вот мои два файла java и php к запросу базы данных .. Я в отчаянии, вы знаете, как злитесь, когда код не понимает меня хахаха;)
вот мои два файла java и php к запросу к базе данных .. Я в отчаянии, вы знаете, как злитесь, когда код не понимает меня, хахаха;)
что я хочу, это отправить пользователя на запрос, и залп возвращает результат, я знаю как это сделать отдельно, но я не понимаю, как это сделать в одном запросе