php - Can't display image in listview from database mysql -


i display image in listview android mysql database using php, json image can't displayed. link_image should show location of image not display valid location. please me. thank you

status.php <?php     //  array json response      $response = array();       //  include file koneksi.php      include_once("connect.php");       $query = mysql_query("select * status order id_status desc");  if (mysql_num_rows($query) > 0) { $response["data_status"] = array();  while($baris = mysql_fetch_array ($query)) {     $id_status=$baris['id_status'];     $status=$baris['status'];     $id1=$baris['id_user'];     $id2=$baris['id_user_tujuan'];     $tanggal=$baris['tgl'];     $awalan = substr($id1, 0,2);     $awalan2 = substr($id2, 0,2);     switch($awalan)     {         case 'ad':             $name=mysql_query("select * admin id_user = '$id1'"); //        echo $nama;             while($baris2 = mysql_fetch_array ($name))             {                 $nama2= $baris2['nama'];             }             break;          case 'al':             $name=mysql_query("select * alumni id_user = '$id1'"); //        echo $nama;             while($baris2 = mysql_fetch_array ($name))             {         $name2= $baris2['name'];         $link_image=$baris2['foto'];          $query_foto1 = mysql_query("select foto alumni foto = '$link_image'");         $foto1 = mysql_fetch_array ($query_foto1);         if($foto1 == "belum upload")                        {          $image = 'http://localhost/portalalumnisd/img/default.png';           }         else         {          $image = "http://localhost/portalalumnisd/photo/".$baris2['foto'];                     }             }             break;          case 'pd':             $nama=mysql_query("select * admin id_user = '$id1'"); //        echo $nama;             while($baris2 = mysql_fetch_array ($nama))             {                 $nama2= $baris2['nama'];             }             break;          case 'pl':             $nama=mysql_query("select * alumni id_user = '$id1'"); //        echo $nama;             while($baris2 = mysql_fetch_array ($nama))             {                 $nama2= $baris2['nama'];                 $link_image=$baris2['foto'];                  $query_foto1 = mysql_query("select foto alumni foto = '$link_image'");                     $foto1 = mysql_fetch_array ($query_foto1);                     if($foto1 == "belum upload")                        {                        $image = 'http://localhost/portalalumnismp/img/default.png';                        }                     else                     {                        $image = "http://localhost/portalalumnismp/photo/".$baris2['foto'];                     }             }             break;          case 'md':             $nama=mysql_query("select * admin id_user = '$id1'"); //        echo $nama;             while($baris2 = mysql_fetch_array ($nama))             {                 $nama2= $baris2['nama'];             }             break;          case 'ml':             $nama=mysql_query("select * alumni id_user = '$id1'"); //        echo $nama;             while($baris2 = mysql_fetch_array ($nama))             {                 //$data_status["nama_alumni"] = stripslashes($baris2["nama"]);                 $nama2= $baris2['nama'];                 //$data_status["nama_alumni"] = $nama2;                 $link_image=$baris2['foto'];                  $query_foto1 = mysql_query("select foto alumni foto = '$link_image'");                     $foto1 = mysql_fetch_array ($query_foto1);                     if($foto1 == "belum upload")                        {                        $image = 'http://localhost/portalalumnisma/img/default.png';                        }                     else                     {                        $image = "http://localhost/portalalumnisma/photo/".$baris2['foto'];                     }             }             break;     }      switch($awalan2)     {         case 'ad':             $nama_tujuan=mysql_query("select * admin id_user = '$id2'"); //        echo $nama;             while($baris_nama1 = mysql_fetch_array ($nama_tujuan))             {                 $nama3= $baris_nama1['nama'];             }             break;          case 'al':             $nama_tujuan=mysql_query("select * alumni id_user = '$id2'"); //        echo $nama;             while($baris_nama1 = mysql_fetch_array ($nama_tujuan))             {                 //$nama3= $baris_nama1['nama'];                 //$data_status["nama_alumni"] = $nama2;                                  $nama3= $baris_nama1['nama'];                 //$data_status["nama_alumni_tujuan"] = $nama3;                 $link_image=$baris_nama1['foto'];                  $query_foto1 = mysql_query("select foto alumni foto = '$link_image'");                     if($foto1 == "belum upload")                        {                        $image = 'http://localhost/portalalumnisd/img/default.png';                        }                     else                     {                        $image = "http://localhost/portalalumnisd/photo/".$baris2['foto'];                     }             }             break;          case 'pd':             $nama_tujuan=mysql_query("select * admin id_user = '$id2'"); //        echo $nama;             while($baris_nama1 = mysql_fetch_array ($nama_tujuan))             {                 $nama3= $baris_nama1['nama'];             }             break;          case 'pl':             $nama_tujuan=mysql_query("select * alumni id_user = '$id2'"); //        echo $nama;             while($baris_nama1 = mysql_fetch_array ($nama_tujuan))             {                            $nama3= $baris_nama1['nama'];                 $link_image=$baris_nama1['foto'];                  $query_foto1 = mysql_query("select foto alumni foto = '$link_image'");                     $foto1 = mysql_fetch_array ($query_foto1);                     if($foto1 == "belum upload")                        {                        $image = 'http://localhost/portalalumnismp/img/default.png';                        }                     else                     {                        $image = "http://localhost/portalalumnismp/photo/".$baris2['foto'];                     }             }             break;          case 'md':             $nama_tujuan=mysql_query("select * admin id_user = '$id2'"); //        echo $nama;             while($baris_nama1 = mysql_fetch_array ($nama_tujuan))             {                 $nama3= $baris_nama1['nama'];             }             break;          case 'ml':             $nama_tujuan=mysql_query("select * alumni id_user = '$id2'"); //        echo $nama;             while($baris_nama1 = mysql_fetch_array ($nama_tujuan))             {                                $nama3= $baris_nama1['nama'];                 $link_image=$baris_nama1['foto'];                  $query_foto1 = mysql_query("select foto alumni foto = '$link_image'");                     $foto1 = mysql_fetch_array ($query_foto1);                     if($foto1 == "belum upload")                        {                        $image = 'http://localhost/portalalumnisma/img/default.png';                        }                     else                     {                        $image = "http://localhost/portalalumnisma/photo/".$baris2['foto'];                     }             }             break;      }       $jum=mysql_query("select * komen id_status='$id_status'");     $total= mysql_num_rows($jum);      if($id1==$id2){             $data_status["nama_alumni"] = $nama2;             $data_status["link_image"] = $image;       }else if($id1!=$id2){             $data_status["nama_alumni"] = $nama2;             $data_status["nama_alumni_tujuan"] = $nama3;             $data_status["link_image"] = $image;      }          // temp user array $data_status = array();         $data_status["id_user"] = $baris["id_user"];          $data_status["id_status"] = $baris["id_status"];          $data_status["id_user_tujuan"] = $baris["id_user_tujuan"];          $data_status["status"] = stripslashes($baris["status"]);         $data_status["date"] = stripslashes($baris["tgl"]);          $data_status["jml"] = $total;          // menampilkan hasil query dalam bentuk array          array_push($response["data_status"], $data_status);         }          // success          $response["success"] = 1;          // echoing json response          echo json_encode($response);      }else {         // tidak ada data          $response["success"] = 0;         $response["message"] = "tidak ada data";          // echoing json response          echo json_encode($response);     } ?> 

display json

{"data_status":[{"nama_alumni":"susa","link_image":"http:\/\/localhost\/portalalumnismp\/photo\/","id_user":"plsusa@mail.com","id_status":"40","id_user_tujuan":"plsusa@mail.com","status":"ko","date":"april 2, 2014, 11:00 pm","jml":0,"nama_alumni_tujuan":"cumin"},{"nama_alumni":"susa","link_image":"http:\/\/localhost\/portalalumnismp\/photo\/","id_user":"plsusa@mail.com","id_status":"36","id_user_tujuan":"plsusa@mail.com","status":"dfdsg","date":"april 2, 2014, 9:19 pm","jml":0,"nama_alumni_tujuan":"cumin"},{"nama_alumni":"cumin","link_image":"http:\/\/localhost\/portalalumnisd\/photo\/","id_user":"altest@mail.com","id_status":"35","id_user_tujuan":"alcandramarlina@ymail.com","status":"hhg","date":"april 2, 2014, 2:49 pm","jml":0,"nama_alumni_tujuan":"candra kasih"},{"nama_alumni":"cumin","link_image":"http:\/\/localhost\/portalalumnisd\/photo\/","id_user":"altest@mail.com","id_status":"33","id_user_tujuan":"alcandra.ratri@gmail.com","status":"","date":"april 2, 2014, 2:41 pm","jml":1,"nama_alumni_tujuan":"kasih"},{"nama_alumni":"cumin","link_image":"http:\/\/localhost\/portalalumnisd\/photo\/","id_user":"altest@mail.com","id_status":"29","id_user_tujuan":"alcandramarlina@ymail.com","status":"ayoo","date":"march 22, 2014, 6:49 am","jml":0,"nama_alumni_tujuan":"candra kasih"},{"nama_alumni":"kasih","link_image":"http:\/\/localhost\/portalalumnisd\/photo\/","id_user":"alcandra.ratri@gmail.com","id_status":"13","id_user_tujuan":"alcandra.ratri@gmail.com","status":"retertert","date":"march 5, 2014, 2:06 pm","jml":0,"nama_alumni_tujuan":"candra kasih"}],"success":1} 

this code app in android :

import java.util.arraylist; import java.util.hashmap; import java.util.list; import org.apache.http.namevaluepair; import org.apache.http.message.basicnamevaluepair; import org.json.jsonarray; import org.json.jsonexception; import org.json.jsonobject;  import com.portalalumni.loginactivity.userlogintask;  import android.app.activity; import android.app.fragment; import android.app.progressdialog; import android.app.searchmanager; import android.content.context; import android.content.intent; import android.content.res.configuration; import android.database.cursor; import android.os.asynctask; import android.os.bundle; import android.support.v4.app.actionbardrawertoggle; import android.support.v4.view.gravitycompat; import android.support.v4.widget.drawerlayout; import android.util.log; import android.view.layoutinflater; import android.view.menu; import android.view.menuinflater; import android.view.menuitem; import android.view.view; import android.view.viewgroup; import android.widget.adapterview; import android.widget.listview; import android.widget.searchview; import android.widget.textview; import android.widget.toast;  public class mainactivity extends activity {      private listview mdrawerlist;     private drawerlayout mdrawer;     private customactionbardrawertoggle mdrawertoggle;     private string[] menuitems;     private arraylist<nsmenuitemmodel> nsmenuitemmodel;     sessionmanager session;      // progress dialog         private progressdialog pdialog;          // creating json parser object          jsonparser jparser = new jsonparser();         arraylist<hashmap<string, string>> datastatus;          // url           private static string url_data_status = "http://10.0.2.2/alumni/status.php";          // json node names         public static final string tag_success = "success";          public static final string tag_data_status = "data_status";          public static final string tag_id_user = "id_user";         public static final string tag_id_status = "id_status";         public static final string tag_id_user_tujuan = "id_user_tujuan";         public static final string tag_date = "date";         public static final string tag_nama_alumni = "nama_alumni";         public static final string tag_nama_alumni_tujuan = "nama_alumni_tujuan";         //public static final string tag_nama_alumni_tujuan3 = "nama_alumni_tujuan";         public static final string tag_status = "status";         public static final string tag_total = "jml";         public static final string tag_link_image = "link_image";         public static final string tag_link_image1 = "link_image1";          // daftar_rs jsonarray          jsonarray data_status = null;         listview list;         string id_user,email,success;         liststatus adapter;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);          session = new sessionmanager(getapplicationcontext());         toast.maketext(getapplicationcontext(),                 "user login status: " + session.isloggedin(), toast.length_long)                 .show();          session.checklogin();          //hashmap login         hashmap<string, string> user = session.getuserdetails();          email = user.get(sessionmanager.key_email);         id_user = user.get(sessionmanager.key_iduser);          // hashmap listview         datastatus = new arraylist<hashmap<string,string>>();          // loading daftar rumah sakit in background thread         new loadstatusactivity().execute();          // listview         list = (listview) findviewbyid(r.id.list);         list.setadapter(new liststatus(this, datastatus));          // react user clicks on item         list.setonitemclicklistener(new adapterview.onitemclicklistener() {              public void onitemclick(adapterview<?> parentadapter, view view, int position,                     long id) {                  hashmap<string, string> selecteditem = datastatus.get(position);                    //to-do data itemdetails getter                   // selecteditem.get()                   //  send data using intent when opening activity                    intent intent = new intent(mainactivity.this, commentactivity.class);                   intent.putextra("id_status",selecteditem.get(tag_id_status));                    startactivity(intent);               }            });          // enable actionbar app icon behave action toggle nav drawer         getactionbar().setdisplayhomeasupenabled(true);         getactionbar().sethomebuttonenabled(true);          mdrawer = (drawerlayout) findviewbyid(r.id.drawer_layout);          // set custom shadow overlays main content when drawer         // opens         mdrawer.setdrawershadow(r.drawable.drawer_shadow, gravitycompat.start);          _initmenu();         mdrawertoggle = new customactionbardrawertoggle(this, mdrawer);         mdrawer.setdrawerlistener(mdrawertoggle);      }      private void _initmenu() {         nsmenuadapter madapter = new nsmenuadapter(this);          // add first block          menuitems = getresources().getstringarray(                 r.array.menu);         string[] menuitemsicon = getresources().getstringarray(                 r.array.menu_items_icon);          nsmenuitemmodel = new arraylist<nsmenuitemmodel>();          // adding nav drawer items array         nsmenuitemmodel.add(new nsmenuitemmodel(menuitems[0], menuitemsicon.length));         nsmenuitemmodel.add(new nsmenuitemmodel(menuitems[1], menuitemsicon.length));         nsmenuitemmodel.add(new nsmenuitemmodel(menuitems[2], menuitemsicon.length));         nsmenuitemmodel.add(new nsmenuitemmodel(menuitems[2], menuitemsicon.length));          int res = 0;         (string item : menuitems) {              int id_title = getresources().getidentifier(item, "string",                     this.getpackagename());             int id_icon = getresources().getidentifier(menuitemsicon[res],                     "drawable", this.getpackagename());              nsmenuitemmodel mitem = new nsmenuitemmodel(id_title, id_icon);             //if (res==1) mitem.counter=12; //it example...             //if (res==3) mitem.counter=3; //it example...             madapter.additem(mitem);             res++;         }          mdrawerlist = (listview) findviewbyid(r.id.drawer);         if (mdrawerlist != null)             mdrawerlist.setadapter(madapter);          mdrawerlist.setonitemclicklistener(new draweritemclicklistener());      }      @override     protected void onpostcreate(bundle savedinstancestate) {         super.onpostcreate(savedinstancestate);         // sync toggle state after onrestoreinstancestate has occurred.         mdrawertoggle.syncstate();     }      @override     public void onconfigurationchanged(configuration newconfig) {         super.onconfigurationchanged(newconfig);         mdrawertoggle.onconfigurationchanged(newconfig);     }      @override     public boolean oncreateoptionsmenu(menu menu) {         menuinflater inflater = getmenuinflater();         inflater.inflate(r.menu.main, menu);         return super.oncreateoptionsmenu(menu);     }      /* called whenever call invalidateoptionsmenu() */     @override     public boolean onprepareoptionsmenu(menu menu) {         // if nav drawer open, hide action items related content view         boolean draweropen = mdrawer.isdraweropen(mdrawerlist);         menu.finditem(r.id.action_search).setvisible(!draweropen);         menu.finditem(r.id.action_new_status).setvisible(!draweropen);         return super.onprepareoptionsmenu(menu);     }      @override     public boolean onoptionsitemselected(menuitem item) {         /*          * action bar home/up should open or close drawer.          * actionbardrawertoggle take care of this.          */         if (mdrawertoggle.onoptionsitemselected(item)) {             return true;         }                  // handle action bar actions click                 switch (item.getitemid()) {                 case r.id.action_search:                     search();                     return true;                 case r.id.action_new_status:                     newstatus();                     return true;                 default:                     return super.onoptionsitemselected(item);                 }     }      private void newstatus() {         // todo auto-generated method stub             intent = null;             = new intent(mainactivity.this, newstatusactivity.class);             startactivity(i);     }      private void search() {         // todo auto-generated method stub             intent = null;             = new intent(mainactivity.this, searchalumniactivity.class);             startactivity(i);     }      private void profile() {         // todo auto-generated method stub             intent = null;             = new intent(mainactivity.this, profileactivity.class);             startactivity(i);     }      private void home() {         // todo auto-generated method stub             intent = null;             = new intent(mainactivity.this, mainactivity.class);             startactivity(i);     }      private void inbox() {         // todo auto-generated method stub             intent = null;             = new intent(mainactivity.this, inboxactivity.class);             startactivity(i);     }      private void logout() {         // todo auto-generated method stub         session.logoutuser();         finish();     }      private class customactionbardrawertoggle extends actionbardrawertoggle {          public customactionbardrawertoggle(activity mactivity,drawerlayout mdrawerlayout){             super(                 mactivity,                 mdrawerlayout,                  r.drawable.ic_drawer,                 r.string.menu_open,                  r.string.menu_close);         }          @override         public void ondrawerclosed(view view) {             getactionbar().settitle(getstring(r.string.menu_close));             invalidateoptionsmenu(); // creates call onprepareoptionsmenu()         }          @override         public void ondraweropened(view drawerview) {             getactionbar().settitle(getstring(r.string.menu_open));             invalidateoptionsmenu(); // creates call onprepareoptionsmenu()         }     }      private class draweritemclicklistener implements listview.onitemclicklistener {          @override         public void onitemclick(adapterview<?> parent, view view, int position,                 long id) {             // highlight selected item, update title, , close drawer             // update selected item , title, close drawer             mdrawerlist.setitemchecked(position, true);             switch (position) {             case 0:                 profile();                 break;             case 1:                 home();                 break;             case 2:                 inbox();                 break;             case 3:                 logout();                 break;             default:                 break;             }             mdrawer.closedrawer(mdrawerlist);          }      }      public static void unbinddrawables(view view) {         if (view != null) {             if (view.getbackground() != null) {                 view.getbackground().setcallback(null);             }             if (view instanceof viewgroup) {                 (int = 0; < ((viewgroup) view).getchildcount(); i++) {                     unbinddrawables(((viewgroup) view).getchildat(i));                 }                 try {                     ((viewgroup) view).removeallviews();                 } catch (unsupportedoperationexception e) {                     // no problem, nothing here                 }             }         }     }      /***    updating parsed json data listview *   */      public void setlistviewadapter(arraylist<hashmap<string, string>> status) {         adapter = new liststatus(this, status);          list.setadapter(adapter);     }      @override     protected void onactivityresult(int requestcode, int resultcode, intent data) {         super.onactivityresult(requestcode, resultcode,data);          // if result code 100         if (resultcode == 100) {          //  if result code 100 received          //  means user edited/deleted record          //  reload screen again           intent intent = getintent();          finish();          startactivity(intent);         }     }      /***    background async task load record data making http request *  */      class loadstatusactivity extends asynctask<string, string, string> {     /***    before starting background thread show progress dialog *    */      @override     protected void onpreexecute() {          super.onpreexecute();         pdialog = new progressdialog(mainactivity.this);          pdialog.setmessage("loading...");          pdialog.setindeterminate(false);          pdialog.setcancelable(false);         pdialog.show();     }      /***    getting record data url *  */       protected string doinbackground(string... args) {      // building parameters          list<namevaluepair> params = new arraylist<namevaluepair>();      // getting json string url          jsonobject json = jparser.makehttprequest(url_data_status, "get", params);      // check log cat json reponse          log.d("status: ", json.tostring());      try {     // checking success tag     int success = json.getint(tag_success);      if (success == 1) {         //  ada record data (success = 1)          //  getting array of data_alumni          data_status = json.getjsonarray(tag_data_status);      // looping through data_alumni     (int = 0; < data_status.length(); i++) {          jsonobject c = data_status.getjsonobject(i);          //  storing each json item in variable          string id_user = c.getstring(tag_id_user);         string id_status = c.getstring(tag_id_status);         string id_user_tujuan = c.getstring(tag_id_user);         string date = c.getstring(tag_date);         string jml = c.getstring(tag_total);         string nama_alumni = c.getstring(tag_nama_alumni);         string nama_alumni_tujuan = c.getstring(tag_nama_alumni_tujuan);         //string nama_alumni_tujuan3 = c.getstring(tag_nama_alumni_tujuan3);         string status = c.getstring(tag_status);         string link_image = c.getstring(tag_link_image);          string link_image1 = c.getstring(tag_link_image1);            //  creating new hashmap          hashmap<string, string> map = new hashmap<string,string>();          //  adding each child node hashmap key => value          map.put(tag_id_user, id_user);         map.put(tag_id_status, id_status);         map.put(tag_id_user_tujuan, id_user_tujuan);          map.put(tag_date, date);         map.put(tag_total, jml);         map.put(tag_nama_alumni, nama_alumni);         map.put(tag_nama_alumni_tujuan, nama_alumni_tujuan);         //map.put(tag_nama_alumni_tujuan3, nama_alumni_tujuan3);         map.put(tag_status, status);         map.put(tag_link_image, link_image);         map.put(tag_link_image1, link_image1);          //  adding hashlist arraylist          datastatus.add(map);      }     } else {         //  tidak ada record data (success = 0)          super.oncancelled();     }     } catch (jsonexception e) {          e.printstacktrace();     }     return null;     }      /***    after completing background task dismiss progress dialog *  **/      protected void onpostexecute(string file_url) {         // dismiss dialog after getting record data alumni         pdialog.dismiss();          // updating ui background thread          runonuithread(new runnable() {          public void run() {             // updating listview              setlistviewadapter(datastatus);          }         });     }     }      /**@override     public void onbackpressed() {         android.os.process.killprocess(android.os.process.mypid());         system.exit(1);     } **/  } 

according json, image's url: http://localhost/portalalumnismp/photo/. referring localhost, work on pc (assuming web server). not work on android device though.

localhost refers current device - i.e. when open via desktop browse looks image on pc (and indeed there). when open via smartphone looks image on gsm - not pc. can't find it.

you need publish web application somewhere - either host on own web server or use hosting provider / cloud service. refer images via domain name instead of "localhost".


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -