Ну, на данный момент мое приложение для Android просто берет имя пользователя и страну и при отправке вставляет эти данные в mysql, связанный с httpclient в php, а в следующем упражнении (Android) оно считывает все данные из моей базы данных и отображает их. Проблема в том, что каждая вставка хранит 2 одинаковых значения в базе данных, тогда как в моем php-скрипте есть только один запрос. Я полностью не понимаю науку, стоящую за этим. Жду поддержки. Android-код вставки:
httpclient=new DefaultHttpClient();
httppost= new HttpPost("http://......./wp-mail.php");
//add your data
nameValuePairs = new ArrayList<NameValuePair>(2);
// Always use the same variable name for posting i.e the android side variable name and php side variable name should be similar,
nameValuePairs.add(new BasicNameValuePair("username",et.getText().toString().trim())); // $Edittext_value = $_POST['Edittext_value'];
nameValuePairs.add(new BasicNameValuePair("password",pass.getText().toString().trim()));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
код вставки php:
<?php
//echo 'this';
$hostname = "localhost";
$database = "...";
$username = "...";
$password = "xyz";
$cn = mysql_connect($hostname, $username, $password) or die(mysql_error());
mysql_select_db($database);
$name=$_POST['username'];
$country=$_POST['password'];
$insert="INSERT INTO `downloader_details`(id,name,country) VALUES (NULL,'$name','$country')";
$result1 = mysql_query($insert) or die(mysql_error());
echo "Done Loading";
mysql_close($cn);
exit();
?>
php Показать код:
<?php
//echo 'this';
$hostname = "localhost";
$database = "...........";
$username = "..........";
$password = ".........";
$cn = mysql_connect($hostname, $username, $password) or die(mysql_error());
mysql_select_db($database);
$query="SELECT * FROM `downloader_details` ORDER BY id DESC LIMIT 8";
$result = mysql_query($query) or die(mysql_error());
echo "Following people around the world downloaded this application";
while($row = mysql_fetch_assoc($result))
{
echo $row['name']. " From ". $row['country']."\n\n";
}mysql_close($cn);
exit();
?>
Код выглядит хорошо. Должно быть сделано только один раз. httpclient
может быть, запрашиваю два раза, я думаю ..
1. проверить это в Android.
2. Другая идея состоит в том, чтобы сделать оба столбца уникальными, если это не проблема, поэтому вставка не произойдет.
Других решений пока нет …