Я пытаюсь создать систему поощрения значков в своем приложении для Android. Я создал 9 запросов и использовал вызов мультизапроса SQL в PHP. Запросы были созданы для вывода 1 или 0, чтобы упростить обработку стороны Java через "android studio". Эти единицы и нули заменят нулевой значок по умолчанию на заработанный значок. Как проще всего с этим справиться? Изначально я хочу создать просто массив или список 3x3, которые могут легче менять представления. Не уверен, что выходные данные массива должны быть переменной, а затем преобразованы в массив. В настоящее время я использую макет фрейма для переключения между представлениями в Android в большом проекте.
if (isset($_POST['BadgeLayout'])){
$UserID = mysqli_real_escape_string($conn,$_POST['UserID']);
echo ($UserID);
// значок определяется счетчиком 1 и 10
//Leve1Badge1
//if count 1 user earns badge- user connected 1` plant
$sql = "SELECT COUNT(PlantID) FROM Plant WHERE UserID = '$UserID';"
//Level1Badge2
//check if against stock if not = to stock url user earns badge
//does not equal stock image urls
$sql . = "SELECT GoogleProfileURL FROM User WHERE UserID = '$UserID';"
// User has fertlized their plants atleast twice
//Level1Badge3
$sql . = "SELECT COUNT(wofe.PlantID+p.Nickname+wofe.Occurrence+wofe.EventType)
FROM WaterOrFertilizeEvent AS wofe
JOIN Plant AS p
WHERE p.UserID = '$UserID'
AND p.PlantID = wofe.PlantID;"
//Level2Badge1
//If count = 1 ----> User has both GardenLocationLat and GardenLocationLng enabled
$sql . = "SELECT COUNT(GardenLocationLng+GardenLocationLat) FROM User WHERE UserID='$UserID' AND GardenLocationLng IS NOT NULL AND GardenLocationLat IS NOT NULL;"
//Level2Badge2
// if value count = 0 ---->All user plant id are FeedingTrackingEnabled
$sql . = "SELECT COUNT(PlantID) FROM Plant WHERE UserID = '$UserID' AND FeedingTrackingEnabled IS NULL;"
//Level2Badge3
//if all plants weather tracking enable count = 0 ----> All user PlantID are WeatherTrackingEnabled
$sql . = "SELECT COUNT(PlantID) FROM Plant WHERE UserID = '$UserID' AND WeatherTrackingEnabled IS NOT NULL;"
//Level3Badge1
//if true user earns badge
// exact species is still needed cactus as place holder
$sql . = "SELECT COUNT(UserID) FROM Plant WHERE UserID = '$UserID') AND Species = 'Florida Roseling'; "
//Level3Badge2
//If plantID count = 10 ---> UserID has 10 plants
$sql = "SELECT COUNT(PlantID) FROM Plant WHERE UserID = '$UserID';"
//Level3Badge3
//If User water all plant id a consecutive of 100x----->user earns badge
$sqk . = "SELECT COUNT(wofe.EventType)
FROM WaterOrFertilizeEvent AS wofe
JOIN Plant AS p
WHERE p.UserID = '$Userid'
AND p.PlantID = wofe.PlantID;
AND wofe.EventType = 'W';"
$result = mysqli_multi_query($conn, $sql) or die("Error in checking per badges per user " . mysqli_error($conn));
if (mysqli_multi_query($conn, $sql)) {
do {
// Store first result set
if ($result = mysqli_store_result($conn)) {
while ($row = mysqli_fetch_row($result)) {
printf("%s\n", $row[0]);
}
mysqli_free_result($result);
}
// if there are more result-sets, the print a divider
if (mysqli_more_results($conn)) {
printf("-------------\n");
}
//Prepare next result set
} while (mysqli_next_result($conn));
}
mysqli_close($conn);
?>
При чем здесь Android Studio?
mysqli_multi_query()




