بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
سوال خیلی مهم در ارتباط با کار با Arraylist و ارسال به سرور
با سلام به همه دوستان؛ من وقتی از Arraylist به صورت زیر استفاده می کنم و ارسال می کنم به سرور مشکلی نیست و تو دیتابیس درج میشه:
//سمت کلاینت
ArrayList<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("name", "ali"); params.add(new BasicNameValuePair("family", "rezaee"); sendData(params);
//تابع send data
private void sendData(ArrayList<NameValuePair> params) { String result = Webservice.readUrl("http://mydomain.ir/test/insert.php", params); }
//سمت سرور
<?php $con=mysqli_connect("localhost","user_root","123456","my_db"); $name = $_POST['name']; $family = $_POST['family']; $result=mysqli_query($con, "INSERT INTO mytb VALUES ('$name', '$family')" mysqli_close($con); ?>
ولی وقتی می خوام با یک حلقه به پارامترهای Arraylist مقادیر خودمو بدم و بفرستم به سرور ، تو جدول فقط رکوردهای خالی درج میشن، لطفا کمکم کنید. این هم از کدهاش:
//سمت کلاینت
ArrayList<NameValuePair> params = new ArrayList<NameValuePair>();
for(int i=0;i<20;i++){
params.add(new BasicNameValuePair("name[" + i + "]", "test_name");
params.add(new BasicNameValuePair("family[" + i + "]", "test_family");
sendData(params);
//تابع send data
private void sendData(ArrayList<NameValuePair> params) { String result = Webservice.readUrl("http://mydomain.ir/test/insert.php", params); }
//سمت سرور
<?php $con=mysqli_connect("localhost","user_root","123456","my_db"); $name[] = $_POST['name[]']; $family[] = $_POST['family[]']; for($i=0;$i<20;$i++) $result=mysqli_query($con, "INSERT INTO mytb VALUES ('$name[$i]', '$family[$i]')" mysqli_close($con); ?>
0
0
اون [] ها رو توی POST_$ ها حذف کن. (11 سال پیش)
0
0
اینکار رو هم کردم اما جواب نداد (11 سال پیش)
0
0
فعلا ثبت تو دیتابیس رو بزارین کنار، با تابع print_r آرایه POST رو چاپ کنید ببینید اصلاً اطلاعات درست ارسال میشه؟ (11 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
حمید زمانی
11 سال پیش
0
0
اول یه کلاس میسازی و عناصر مورد نیاز رو داخل اون میذاری (مثل کلاس Note در آموزش پروژه Note استاد - بخش دوازدهم) :
public class Person{
public String name;
public String family;
}
بعد کد ارسال اطلاعات رو به کد زیر تغییر میدی( بخش دوازدهم آموزش ها) :
//سمت کلاینت
for(int i=0; i<personList; i++){
Person person = personList.get(i);
ArrayList<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("name", person.name);
params.add(new BasicNameValuePair("family", person.family);
sendData(params);
}
البته قبل از ارسال آرایه باید اونو بوجود آورده باشی و اونو مقدار دهی کرده باشی ( بخش ششم آموزش ها) :
ArrayList<Person> personList = new ArrayList<Person>();
سمت سرور رو هم تغییر نده :
//سمت سرور
<?php
$con=mysqli_connect("localhost","user_root","123456","my_db");
$name = $_POST['name'];
$family = $_POST['family'];
$result=mysqli_query($con, "INSERT INTO mytb VALUES ('$name', '$family')"
mysqli_close($con);
?>
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .