Данные MySQL не отображаются в соответствии с идентификатором в таблице HTML

0

У меня две таблицы 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". Остальное не появилось, потому что у них нет каких-либо "месячных" данных. Итак, как отобразить их все?

  • 0
    Было бы полезно, если бы вы опубликовали свою структуру таблицы тоже.
  • 0
    Вы пробовали SQL JOIN?
Показать ещё 3 комментария
Теги:

3 ответа

0
SELECT * FROM coi_system INNER JOIN monthly_saving ON 'monthly_saving.id' = 'coi_system.id'
  • 0
    попробуйте это получить данные обеих таблиц
  • 0
    $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?
Показать ещё 3 комментария
0
SELECT coi_system.*, monthly_saving.* FROM coi_system RIGHT JOIN monthly_saving ON monthly_saving.id=coi_system.id;

Правильное соединение решит вашу проблему, если ежемесячное сохранение равно null.

  • 0
    $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?
  • 0
    @lessy отредактировал запрос, синтаксис был неверным. Попробуй?? Было бы лучше, если бы вы попытались выполнить запрос непосредственно на php my admin вместо того, чтобы выполнять его на php. Это сэкономит время.
Показать ещё 1 комментарий
0

Попробуй это

SELECT * from coi_system, monthly_saving where monthly_saving.id=coi_system.id;
  • 0
    Оно работает! Но появилась новая проблема, только две строки результатов. В ней только те строки, которые имеют данные «month_saving». Как сделать так, чтобы все данные отображались, даже если строка в month_saving равна нулю?
  • 0
    Почему вы также хотите установить значение NULL, тогда ваш запрос снова выведет ненужные данные.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню