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
- Formules mathématiques de base - Télécharger - Études & Formations
- Enregistrement mp3 gratuit - Télécharger - Streaming audio
- Formules excel de base - Guide
- Enregistrement - Guide
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