#php
#php
Вопрос:
у меня есть две базы данных, и мне нужно извлечь их в массив, а также посчитать количество одной строки, но когда я помещаю второй запрос внутрь цикла while, он вообще не работает, и когда я запускаю его вне цикла, то выдает мне только количество последней пасеки, моей 1db:
apiary_id , apiary_name
1 A
2 B
3 c
4 d
мои 2 дб:
hive_id, hive_number, apiary_id
1 01 1
2 02 2
3 02 1
4 04 2
5 05 4
мой php-код:
<?php
include 'db/db_connect.php';
//Query to select apiary id and apiary name
$query = "SELECT apiary_id, apiary_name, FROM apiaries";
$result = array();
$apiaryArray = array();
$response = array();
//Prepare the query
if($stmt = $con->prepare($query)){
$stmt->execute();
//Bind the fetched data to $apiaryId and $apiaryName
$stmt->bind_result($apiaryId,$apiaryName);
//Fetch 1 row at a time
while($stmt->fetch()){
//Populate the apiary array
$apiaryArray["apiary_id"] = $apiaryId;
$apiaryArray["apiary_name"] = $apiaryName;
$count = mysqli_num_rows(mysqli_query($con, "SELECT hive_id FROM hives WHERE hives.apiary_id".$apiaryId));
$apiaryArray["hive_count"] = $count;
$result[]=$apiaryArray;
}
$stmt->close();
$response["success"] = 1;
$response["data"] = $result;
}else{
//Some error while fetching data
$response["success"] = 0;
$response["message"] = mysqli_error($con);
}
//Display JSON response
echo json_encode($response);
?>
мне нужен результат, подобный этому:
Apiary ID - Apiary Name - Count of Hives
1 A 2
2 B 2
3 c 0
4 d 1
я буду рад, если кто-нибудь мне поможет.
Комментарии:
1. Я вижу множество проблем с вашим кодом. Моим советом было бы попытаться свести вашу логику к одному запросу, что выглядит возможным, по крайней мере, на первый взгляд.
2. результат будет в массиве json, верно?
3. -Нэнси Мури Да
4. Тим Бигелайзен, можно ли мне помочь lite??
5. Оставайтесь на месте, я работаю над этим
Ответ №1:
У вас опечатка,
hives.apiary_id =1".$apiaryId
должно быть
hives.apiary_id =".$apiaryId
Итак, весь оператор должен быть,
$count = mysqli_num_rows(mysqli_query($con, "SELECT count(*) FROM hives WHERE hives.apiary_id =".$apiaryId));
Комментарии:
1. спасибо, я исправил, но проблема та же. когда я удаляю второй запрос php, это работает, но когда я пишу внутри цикла while, это не работает