java - ArrayList<String> Android to PHP. Insert MySQL -


i have problems trying send arraylist android php , insert arraylist mysql table.

so, first of send list parameters.

list<namevaluepair> list = new arraylist<namevaluepair>();         list.add(new basicnamevaluepair("tag", "registercall"));         list.add(new basicnamevaluepair("hourmatch", hourmatch));         list.add(new basicnamevaluepair("datematch", datematch));         list.add(new basicnamevaluepair("listplayers", seleccionados                 .tostring())); //arraylist<string>         list.add(new basicnamevaluepair("idmatch", idmatch)); 

if print parameters list: [tag=registercall, hourmatch=0931, datematch=2013-08-07, listplayers=[8, 10], idmatch=7].

and in php, collect parameters , send function.

if ($tag == 'registercall') {      $hourmatch = $_post['hourmatch'];     $datematch = $_post['datematch'];     $idmatch = $_post['idmatch'];     $listplayers = $_post['listplayers'];       $call = $db->registercallmatch($datematch, $hourmatch, $idmatch, $listplayers);      if ($call != false) {          $response["success"] = 1;         $response["msg"] = "insertados";          echo json_encode($response);      } else {          $response["error"] = 1;         $response["error_msg"] = "error en la inserción";          echo json_encode($response);     }   } 

and function is:

public function registercallmatch($datecall, $timecall, $idmatch, $listplayers) {     $result = mysql_query("insert call_match (date_call, time_call, idmatch) values ('$datecall', '$timecall', '$idmatch')");      if ($result != null) {          $idcall = mysql_insert_id();          if (is_array($listplayers)) {              foreach ($listplayers $idplayer) {                  $result = mysql_query("insert call_player (idcall, idplayer) values ('$idcall','$idplayer')")or                 die ('unable' . mysql_error());                  return true;              }          } else {              return false;          }      } else {          return false;      }  } 

the problem php doesn't recognize arraylist can't insert strings database. if create array in php, function works well.

edit: ok. found problem. if sent string, can´t use array. have convert string , array. idea? string: [8, 10]. have put 8 , 10 in array.

edit: found solution.

we have arraylist , have create string. can use lot of methods use:

iterator = seleccionados.iterator();         stringbuilder listidplayers = new stringbuilder();         int = 0;         while (it.hasnext()) {             if (i > 0) {                 listidplayers.append(" ").append(it.next());                 i++;             } else {                 listidplayers.append(it.next());                 i++;             }         } 

with have string xx xx xx xx xx. space between words.

now go our php , use method explode(). explode() create array.

$players = explode(" ", $listplayers); 

and check result array , iterate it.

if ($result != null) {          $idcall = mysql_insert_id();          if (is_array($players)) {              foreach ($players $idplayer) {                  $result = mysql_query("insert call_player (idcall, idplayer) values ('$idcall','$idplayer')")or                 die ('unable' . mysql_error());              }              return true;           } 

very important put return out of foreach.

thank you

i think problem way send data server. send java object php , can't recognize it.

convert string special dividing characters , explode in php(bad practice).

or

i solved such problem in c# on following way (i pretty sure there in java similar way):

multipartformdatacontent form = new multipartformdatacontent(); form.add(new stringcontent(this.date_start), "data[datesearch][date_start]"); form.add(new stringcontent(this.date_end), "data[datesearch][date_end]"); 

you can see declaration "[...]" recognized array content. maybe can find way code:

multipartformdatacontent list = new multipartformdatacontent(); list.add("registercall","data[tag]")); list.add(hourmatch.tostring(), "data[hourmatch]")); ... 

Comments

Popular posts from this blog

image - ClassNotFoundException when add a prebuilt apk into system.img in android -

I need to import mysql 5.1 to 5.5? -

Java, Hibernate, MySQL - store UTC date-time -