Json et sql

lolittakey Messages postés 2 Date d'inscription mardi 26 janvier 2016 Statut Membre Dernière intervention 26 janvier 2016 - Modifié par BunoCS le 26/01/2016 à 10:16
jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 - 26 janv. 2016 à 17:01
Bonjour,
je travaille sur application android et c'est la premiere fois que je touche au java
mon application est connéctée a une bdd sql distante, mon application doit recuperer les données de la table produit qui se trouve dans ma base et les afficher dans une liste ou spinner dans l'interface android. le probleme c'est que suand j'essaye de rajouter une condition WHERE il veut pas laccepter et ma liste est vide, je sais pas si c la syntaxe de json qui est fausse ou autre chose
voici mon code php et svp si quelqun qui a deja rencontré ce problem qu'il me donne une piste
merci


  <?php
                include("Connection.php");

                $result=mysqli_query($connect,"SELECT  nom FROM produit WHERE mat-act = 1");

                while($e=mysqli_fetch_array($result, MYSQLI_ASSOC))
     $output[]=$e; 
                {
                    ?>

                <?php }
  print(json_encode($output)); 
  $mysqli->close(); 


    ?>

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ICI

Merci d'y penser dans tes prochains messages.
A voir également:

2 réponses

BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
26 janv. 2016 à 10:19
Hello,

J'ai déplacé ta demande dans la section PHP car ton souci n'est pas lié à Java.
J'ai, de plus, édité ton message pour rajouter les balises 'code'. Plus d'infos dans l'encadré que j'ai ajouté. N'oublie pas de les ajouter la prochaine fois.
0
jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 344
26 janv. 2016 à 15:56
Bonjour,


Beaucoup d'erreurs dans ton code.
Des choses placées en dehors de tes accolades dans ta boucle while ... ???
L'utilisation de l'écriture OBJET ET de l'écriture PROCEDURALE pour mysqli ...
Aucun débogage en cas d'erreur....
Un nom de champ avec un tiret ... ( A EVITER ABSOLUMENT. )
-->> Mais si tu tiens à l'utiliser... mets des back-quotes autour.
-->> Dans l'idéal... mettre un underscrore à la place du tirer

Enfin bon...
Testes ceci :
//Connexion à la BDD
require_once("Connection.php");

//Requete
$sql = "SELECT  nom 
        FROM produit 
        WHERE `mat-act` = 1";
				
$result=mysqli_query($connect,$sql) or die( "<br><b>ERROR ! </b>".mysqli_error($connect) ." <u>Dans la requête :</u><br>".$sql);

//On stocke le résultat dans un Array :
$output = mysqli_fetch_all($result);

//fermeture de la connexion
mysqli_close($connect); 

//Renvoie en JSON
print(json_encode($output)); 


0
lolittakey Messages postés 2 Date d'inscription mardi 26 janvier 2016 Statut Membre Dernière intervention 26 janvier 2016
26 janv. 2016 à 16:19
merci pour ta reponse , mais mon code marche bien il recupere tous les données mais le seul probleme que j'ai , c'est qu il recupere pas le contenu de la requete sql avec condition WHERE
je vous rappel que je travaille sur une application android, et les données s'affiche bien sur fichier php meme avec condition WHERE mais elles saffichent pas dans mon interface android cest comme si il naccepte pas la condition WHERE; je suppose que cest json qui est le probleme ,
voici le code du fichier qui recupere les données dans l interfae android



public class produit extends ActionBarActivity {

ArrayList<String> listItems=new ArrayList<String>();
ArrayAdapter<String> adapter;
HttpURLConnection urlConnection = null;
Spinner sp1;
Button button2;


protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_matiere);
sp1=(Spinner)findViewById(R.id.spinner6);

adapter=new ArrayAdapter<String>(this,R.layout.spin_layout,R.id.text,listItems);
sp1.setAdapter(adapter);
button2=(Button)findViewById(R.id.button10);


button2.setOnClickListener(new Button.OnClickListener(){

public void onClick(View arg0) {

String message1=sp1.getSelectedItem().toString();
Intent intent=new Intent();
intent.putExtra("MESSAGE",message1);

setResult(3,intent);


finish();


}
});


}
public void onStart(){
super.onStart();
BackTask bt=new BackTask();
bt.execute();
}
private class BackTask extends AsyncTask<Void,Void,Void> {
ArrayList<String> list;
protected void onPreExecute(){
super.onPreExecute();
list=new ArrayList<String>();
}
protected Void doInBackground(Void...params){
InputStream is=null;
String result="";
try{



URL url = new URL("http://xxxx/yyyy");
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.connect();
is = urlConnection.getInputStream();



}catch(IOException e){
e.printStackTrace();
}

//convert response to string
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8"));
String line = null;
while ((line = reader.readLine()) != null) {
result+=line;
}
is.close();
//result=sb.toString();
}catch(Exception e){
e.printStackTrace();
}
// parse json data
try{
JSONArray jArray =new JSONArray(result);
for(int i=0;i<jArray.length();i++){
JSONObject jsonObject=jArray.getJSONObject(i);
// add interviewee name to arraylist
list.add(jsonObject.getString("nom"));





}
}
catch(JSONException e){
e.printStackTrace();
}
return null;
}
protected void onPostExecute(Void result){
listItems.addAll(list);
adapter.notifyDataSetChanged();
}
}

}
0
jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 344 > lolittakey Messages postés 2 Date d'inscription mardi 26 janvier 2016 Statut Membre Dernière intervention 26 janvier 2016
26 janv. 2016 à 17:01
1 **** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

.
2 - As tu testé le code que je t'ai donné au moins ??
0
Rejoignez-nous