Enregistrement dans base de donnes
sk
-
sk -
sk -
bonjour
je essayé de faire un programme d'enregistrement
un liste dans la base de donne .
il n'y a aucun erreur au niveau de programme mais il n'enregistre pas dans la base .
merci en avance
voila code en android
package com.example.ecole;
et code php
je essayé de faire un programme d'enregistrement
un liste dans la base de donne .
il n'y a aucun erreur au niveau de programme mais il n'enregistre pas dans la base .
merci en avance
voila code en android
package com.example.ecole;
import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.R.integer; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.provider.ContactsContract.Data; import android.text.format.Time; import android.util.Log; import android.view.View; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; public class classe extends choisir_classe { choisir_classe C1=new choisir_classe(); ListView listView; Button btnSave; TextView t1; String EXTRA_CLASSE="user classe"; ArrayAdapter<assiduite> adapter; List<assiduite> list = new ArrayList<assiduite>(); public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.assiduite); Intent intent = getIntent(); t1=(TextView)findViewById(R.id.nomClasse); listView = (ListView) findViewById(R.id.my_list); btnSave = (Button)findViewById(R.id.btnSave); t1.setText(intent.getStringExtra(EXTRA_CLASSE)); adapter = new assiduite_classe(this,getModel()); listView.setAdapter(adapter); btnSave.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { for (int i = 0; i < list.size(); i++) { enregistrer(list.get(i).getName(),list.get(i).isSelected(),list.get(i).getrtard()); } } }); } private List<assiduite> getModel(){ final String strURL = "http://10.0.2.2/webservice/slect.php"; JSONArray jArray; JSONObject json_data; String result =null; InputStream is = null; StringBuilder sb = new StringBuilder(); ArrayList<NameValuePair> nameValuePairs=new ArrayList<NameValuePair> (); nameValuePairs.add(new BasicNameValuePair("c",t1.getText().toString())); try{ HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(strURL); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); is = entity.getContent(); }catch(Exception e){ Log.e("log_tag", "Error in http connection " + e.toString()); } try{ BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); result=sb.toString(); }catch(Exception e){ Log.e("log_tag", "Error in http connection " + e.toString()); } String essai=result.substring(0, 4) ; try { if (result.matches("<br >")){ essai=result.substring(0, 2) ; } jArray = new JSONArray(result); for(int j=0;j<jArray.length();j++){ json_data=jArray.getJSONObject(j); int num=json_data.getInt("num"); String nom=json_data.getString("nom").toString(); String prenom=json_data.getString("prenom").toString(); list.add(new assiduite(num+" "+nom+" "+prenom)); } }catch(JSONException e){ // Log.e("log_tag", "Error parsing data " + e.toString()); } return list; } private void enregistrer(String name,boolean pre,String ret){ final String strURL1 = "http://10.0.2.2/webservice/save.php"; String result1 =null; InputStream is1 = null; StringBuilder sb1 = new StringBuilder(); ArrayList<NameValuePair> nameValuePairs=new ArrayList<NameValuePair> (); StringTokenizer st = new StringTokenizer(name); Toast.makeText(classe.this,(st.nextElement()).toString(), Toast.LENGTH_LONG).show(); nameValuePairs.add(new BasicNameValuePair("nu",(st.nextElement()).toString())); if(pre){ nameValuePairs.add(new BasicNameValuePair("p","vrai"));} else{nameValuePairs.add(new BasicNameValuePair("p","faux"));} if((!(pre))&&(ret!= null)){ nameValuePairs.add(new BasicNameValuePair("a","vrai"));} else{nameValuePairs.add(new BasicNameValuePair("a","faux"));} nameValuePairs.add(new BasicNameValuePair("r",ret)); try{ HttpClient httpclient1 = new DefaultHttpClient(); HttpPost httppost1 = new HttpPost(strURL1); httppost1.setEntity(new UrlEncodedFormEntity(nameValuePairs)); HttpResponse response1 = httpclient1.execute(httppost1); HttpEntity entity1 = response1.getEntity(); is1 = entity1.getContent(); }catch(Exception e){ Log.e("log_tag", "Error in http connection " + e.toString()); } try{ BufferedReader reader1 = new BufferedReader(new InputStreamReader(is1,"iso-8859-1"),8); String line1 = null; while ((line1 = reader1.readLine()) != null) { sb1.append(line1 + "\n"); } is1.close(); result1=sb1.toString(); }catch(Exception e){ Log.e("log_tag", "Error in http connection " + e.toString()); } String essai1=result1.substring(0, 4) ; try { if (result1.matches("<br >")){ essai1=result1.substring(0, 2) ; } JSONArray jArray = new JSONArray(result1); int b=jArray.length(); JSONObject json_data = jArray.getJSONObject(0); }catch(JSONException e){ Toast.makeText(classe.this, "l'assiduite enregistre ", Toast.LENGTH_LONG).show(); } } }
et code php
<?php $dat=date('Y-m-d'); $heure=date('H:i:s'); $num1=$_REQUEST['nu']; $pr1=$_REQUEST['p']; $ab1=$_REQUEST['a']; $re1=$_REQUEST['r']; mysql_connect("localhost","root","");//connecte seveur mysql_select_db("ecole");// connecte base de donnes $sql=mysql_query("insert into assiduite values ('$dat','$heure','$pr1','$ab1','$re1','$num1');"); while ($row=mysql_fetch_assoc($sql))//tantque ilya reponse $output[]=$row;//tableau print(json_encode($output));// json_encode methode permet de faira liason entre php et android mysql_close(); ?>
A voir également:
- Enregistrement dans base de donnes
- Base de registre - Guide
- Enregistrement mp3 gratuit - Télécharger - Streaming audio
- Formules mathématiques de base - Télécharger - Études & Formations
- Formules excel de base - Guide
- Tnt base de données vide ✓ - Forum TNT / Satellite / Réception
1 réponse
Hello,
Est-ce que la requête http est bien formattée? Est-ce qu'elle part bien? Est-ce que tu la reçois côté serveur? Sous quelle forme?
Voici autant de questions que tu dois te poser avant de dire "ça ne marche pas".
En passant, quelques remarques:
- éviter les valeurs en dur: créer des constantes pour l'url et tes valeurs "vrai", "faux" notamment
-
- si tu as 30000 éléments dans ta liste, tu lances 30000 requêtes!?
- n'hésites pas à mettre des logs et à tester en mode debug
Est-ce que la requête http est bien formattée? Est-ce qu'elle part bien? Est-ce que tu la reçois côté serveur? Sous quelle forme?
Voici autant de questions que tu dois te poser avant de dire "ça ne marche pas".
En passant, quelques remarques:
- éviter les valeurs en dur: créer des constantes pour l'url et tes valeurs "vrai", "faux" notamment
-
list.get(i).getName()si tu n'as pas d'éléments dans ta liste, tu as un beau crash, non?
- si tu as 30000 éléments dans ta liste, tu lances 30000 requêtes!?
- n'hésites pas à mettre des logs et à tester en mode debug
-ArrayList<NameValuePair> n'accepte pas le valeur boolean seulement le chaîne pour ça
j'utilise les valeurs "vrai" et"faux"
-qu'elle est la problème de lance plusieurs requête
je suis débutant et je ne comprit pas ces problème