У меня две таблицы mysql в одной базе данных. Первая таблица - "coi_system", а во-вторых, "month_saving", которую идентификатор ссылается на первую таблицу. Я хочу отобразить эти две таблицы данных в эту таблицу.
Таким образом, "month_saving" должен отображаться в столбце "Экономия затрат в месяц" html, ссылающемся на идентификатор "coi_system", но оказывается, что он отображает все данные столбца "Январь 17" в каждый результат, который отображает каждый результат двойной такой. Вот код,
<?php
$result = mysqli_query($conn,"SELECT * FROM coi_system, monthly_saving where monthly_saving.id=coi_system.id");
while ($row = mysqli_fetch_assoc($result)) {
$accountcode=$row['accountcode'];
$department=$row['department'];
$person_in_charge=$row['person_in_charge'];
$project_title=$row['project_title'];
$objective=$row['objective'];
$how_to_do=$row['how_to_do'];
$activities=$row['activities'];
$project_started=$row['project_started'];
$project_completed=$row['project_completed'];
$target_cost_saving=$row['target_cost_saving'];
$costsaving_afterjustification=$row['costsaving_afterjustification'];
$costsaving_monthly=$row['costsaving_monthly'];
$sum_of_month=$row['sum_of_month'];
$targetsaving_currentmonth=$row['targetsaving_currentmonth'];
$avg_monthly_saving=$row['avg_monthly_saving'];
$todays_date=$row['todays_date'];
$current_month=$row['current_month'];
$Jan=$row['Jan'];
$Feb=$row['Feb'];
$Mac=$row['Mac'];
$Apr=$row['Apr'];
$May=$row['May'];
$Jun=$row['Jun'];
$Jul=$row['Jul'];
$Aug=$row['Aug'];
$Sep=$row['Sep'];
$Oct=$row['Oct'];
$Nov=$row['Nov'];
$Dis=$row['Dis'];
$id=$row['id'];
?>
<div class="scroll">
<tr id="row1">
<td> </td>
<td id="accountcode_row1"><div> <?php echo $accountcode;?></div></td>
<td id="department_row1"><div> <?php echo $department;?></div></td>
<td id="pic_row1"><div> <?php echo $person_in_charge;?></div></td>
<td id="protitle_row1"><div> <?php echo $project_title;?></div></td>
<td id="objective_row1"><div> <?php echo $objective;?></div></td>
<td id="howtodo_row1"><div><?php echo $how_to_do;?></div></td>
<td id="activities_row1"><div> <?php echo $activities;?></div></td>
<td id="prostart_row1"><div> <?php echo $project_started;?></div></td>
<td id="procompl_row1"><div> <?php echo $project_completed;?></div></td>
<td id="targetcost_row1"><div> <?php echo $target_cost_saving;?></div></td>
<td id="costafter_row1"><div> <?php echo $costsaving_afterjustification;?></div></td>
<td><div><?php echo $Jan;?></div></td>
<td><div><?php echo $Feb;?></div></td>
<td><div><?php echo $Mac;?></div></td>
<td><div><?php echo $Apr;?></div></td>
<td><div><?php echo $May;?></div></td>
<td><div><?php echo $Jun;?></div></td>
<td><div><?php echo $Jul;?></div></td>
<td><div><?php echo $Aug;?></div></td>
<td><div><?php echo $Sep;?></div></td>
<td><div><?php echo $Oct;?></div></td>
<td><div><?php echo $Nov;?></div></td>
<td><div><?php echo $Dis;?></div></td>
<td><div><?php echo $sum_of_month; ?></div></td>
<td><div><?php echo $avg_monthly_saving; ?></div></td>
<td><div><?php echo $todays_date; ?></div></td>
<td><div><?php echo $current_month; ?></div></td>
<td><div></div></td>
<td><div> <?php echo $targetsaving_currentmonth;?></div></td>
Я не уверен, где ошибка, но я попытался написать ее так: $result = mysqli_query($conn,"SELECT * FROM coi_system, monthly_saving where id");
но это не решение. Мне действительно нужно, чтобы кто-то помог в этом, поскольку я не очень хорошо разбираюсь в mysqli. Заранее спасибо!
ОБНОВИТЬ
Это таблица month_saving и это из 'coi_system', где указан идентификатор. Решенная, но новая проблема, в настоящее время существует только 2 строки результатов, которые отображаются с данными "month_saving". Остальное не появилось, потому что у них нет каких-либо "месячных" данных. Итак, как отобразить их все?
SELECT * FROM coi_system INNER JOIN monthly_saving ON 'monthly_saving.id' = 'coi_system.id'
$result = mysqli_query($conn,"SELECT *.coi_system, *.monthly_saving FROM coi_system INNER JOIN monthly_saving ON monthly_saving.id=coi_system.id"); while ($row = mysqli_fetch_assoc($result)) { $accountcode=$row['accountcode'];
но я получил эту ошибку, mysqli_fetch_assoc () ожидает, что параметр 1 будет mysqli_result?
SELECT coi_system.*, monthly_saving.* FROM coi_system RIGHT JOIN monthly_saving ON monthly_saving.id=coi_system.id;
Правильное соединение решит вашу проблему, если ежемесячное сохранение равно null.
$result = mysqli_query($conn,"SELECT *.coi_system, *.monthly_saving FROM coi_system INNER JOIN monthly_saving ON monthly_saving.id=coi_system.id"); while ($row = mysqli_fetch_assoc($result)) { $accountcode=$row['accountcode'];
но я получил эту ошибку, mysqli_fetch_assoc () ожидает, что параметр 1 будет mysqli_result?
Попробуй это
SELECT * from coi_system, monthly_saving where monthly_saving.id=coi_system.id;