2017-01-14 1 views
0

У меня есть одна таблица mysql с несколькими столбцами. Использование php Я хотел бы показать результаты в таблице html. пока что так хорошо, но я хотел бы показать имя_о_оценки и сумму в одной строке, но в разных колонках в зависимости от месяца_оплаты.положив результаты из mysql в ту же строку

MySQL код/​​PHP:

<html> 
<head> 
<title>Monatsübersicht</title> 
<link href="design.css" type="text/css" rel="stylesheet"> 
</head> 
<?php 
include 'connect.php'; 
// Check connection 
if($link === false){ 
die("ERROR: Could not connect. " . mysqli_connect_error()); 
} 
$sql = "SELECT name_of_insurance, amount, month_of_payment FROM insurance  where active = 'on'"; 
$result = mysqli_query($link, $sql); 

if (mysqli_num_rows($result) > 0) { 
// output data of each row 
echo "<table><tr><th>Name</th><th>Jan</th><th>Feb</th><th>März</th><th>Apr</th><th>Mai</th><th>Jun</th><th>Jul</th><th>Aug</th><th>Sep</th><th>Okt</th><th>Nov</th><th>Dez</th></tr>"; 
// output data of each row 
while($row = $result->fetch_assoc()) { 
    echo "<tr><td>" . $row["name_of_insurance"]. "</td><td>" .  $row["amount"]. "</td></tr>"; 
} 
echo "</table>";  
} else { 
echo "0 results"; 
} 
mysqli_close($link); 

?> 

</html> 

как я могу поместить результаты в Diferent столбцы withut, имеющие более чем один запрос или $ результат?

Заранее спасибо. BR Флориан

+2

Какой формат значения в 'строки [«month_of_payment»] '? –

+0

Привет, u_mulder, формат varchar и содержимое столбца jan.feb.mar, ... и т. Д. – Florian

ответ

0

Предполагая, что month_of_payment значения столбцов в Jan, Feb, März и т.д. формате, Решение вашей проблемы будет выглядеть так:

Создать месяц массив, состоящий из всех возможных месяц значения от month_of_payment колонки, как это:

$monthArr = array('Jan', 'Feb', 'März', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'); 

Теперь в каждой итерации while цикла, создать for цикл, чтобы проверить, какой месяц $row["month_of_payment"] значения попадет и его отображение в соответствующей ячейке таблицы, например:

while($row = $result->fetch_assoc()) { 
    echo "<tr><td>" . $row["name_of_insurance"]. "</td>"; 
    for($i = 0; $i < $count; ++$i){ 
     echo "<td>"; 
     if($row["month_of_payment"] == $monthArr[$i]){ 
      echo $row["amount"]; 
     } 
     echo "</td>"; 
    } 
    echo "</tr>"; 
} 

Где $count это число элементов/месяцев в $monthArr массиве т.е. $count = count($monthArr);

Вот полный код:

<html> 
<head> 
    <title>Monatsübersicht</title> 
    <link href="design.css" type="text/css" rel="stylesheet"> 
</head> 
<body> 
<?php 
    include 'connect.php'; 
    // Check connection 
    if($link === false){ 
    die("ERROR: Could not connect. " . mysqli_connect_error()); 
    } 
    $sql = "SELECT name_of_insurance, amount, month_of_payment FROM insurance where active = 'on'"; 
    $result = mysqli_query($link, $sql); 

    $monthArr = array('Jan', 'Feb', 'März', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'); 
    $count = count($monthArr); 
    if (mysqli_num_rows($result) > 0) { 
     // output data of each row 
     echo "<table><tr><th>Name</th><th>Jan</th><th>Feb</th><th>März</th><th>Apr</th><th>Mai</th><th>Jun</th><th>Jul</th><th>Aug</th><th>Sep</th><th>Okt</th><th>Nov</th><th>Dez</th></tr>"; 
     while($row = $result->fetch_assoc()) { 
      echo "<tr><td>" . $row["name_of_insurance"]. "</td>"; 
      for($i = 0; $i < $count; ++$i){ 
       echo "<td>"; 
       if($row["month_of_payment"] == $monthArr[$i]){ 
        echo $row["amount"]; 
       } 
       echo "</td>"; 
      } 
      echo "</tr>"; 
     } 
     echo "</table>";  
    } else { 
     echo "0 results"; 
    } 
    mysqli_close($link); 
?> 
</body> 
</html> 
+0

Hey Rajdeep Paul, спасибо, человек ... Это было очень полезно. Это решило мою проблему! Ваше предположение reg. month_of_payment не был неправильным, но для этого потребовалась небольшая коррекция. ;-) Но в конце это было очень полезно! Спасибо, человек! – Florian

0

Благодаря Rajdeep Павла: Правильный ответ на мой вопрос ниже:

<html> 
<head> 
<title>Monatsübersicht</title> 
<link href="design.css" type="text/css" rel="stylesheet"> 
</head> 
<body> 
<?php 
include 'connect.php'; 
// Check connection 
if($link === false){ 
die("ERROR: Could not connect. " . mysqli_connect_error()); 
} 
$sql = "SELECT name_of_insurance, amount, month_of_payment FROM insurance where active = 'on'"; 
$result = mysqli_query($link, $sql); 

$monthArr = array('jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'); 
$count = count($monthArr); 
if (mysqli_num_rows($result) > 0) { 
    // output data of each row 
    echo "<table><tr><th>Name</th><th>Jan</th><th>Feb</th><th>März</th><th>Apr</th><th>Mai</th><th>Jun</th><th>Jul</th><th>Aug</th><th>Sep</th><th>Okt</th><th>Nov</th><th>Dez</th></tr>"; 
    while($row = $result->fetch_assoc()) { 
     echo "<tr><td>" . $row["name_of_insurance"]. "</td>"; 
     for($i = 0; $i < $count; ++$i){ 
      echo "<td>"; 
      if($row["month_of_payment"] == $monthArr[$i]){ 
       echo $row["amount"]; 
      } 
      echo "</td>"; 
     } 
     echo "</tr>"; 
    } 
    echo "</table>";  
} else { 
    echo "0 results"; 
} 
mysqli_close($link); 
?> 
</body> 
</html> 
Смежные вопросы