Добавление данных mysql в качестве атрибута td с помощью php - PullRequest
0 голосов
/ 02 июня 2018

Мне нужен этот код, чтобы получить немного другой вывод.

 <?php

$conn=mysqli_connect("localhost","root","","");

if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }


function print_tableA ($conn, $id) {
    $sql = "SELECT Value1, Value2, Value3, Value4, Value5, Value6, Value7, Value8 FROM mytable1";
    $result = $conn->query($sql);
    if ($result->num_rows > 0) {
        echo "<table id='$id'>";
        while($row = $result->fetch_assoc()) {
            echo '<tr><td>' . join('</td><td>', $row) . "</td></tr>\n" ;
        }
        echo "</table>";
    }
}  


$result = $conn->query("SELECT Date from mytable2");
while ($row = $result->fetch_assoc()) {
    print_tableA ($conn, $row['Date']);
}

?>

В настоящее время он печатает вывод в следующем формате: `

<tr>
<td>2</td> 
....
</tr>`

Мне нужно, чтобы он был напечатан вэтот формат:

<tr>
<td val="2">2</td>
....
</tr>

, поэтому в основном данные из mysql также должны повторяться как атрибут td.Я надеюсь, что это просто, и я был бы благодарен, если бы кто-то мог показать мне изменения, которые мне нужно сделать, чтобы получить этот результат.Благодарю.

Ответы [ 2 ]

0 голосов
/ 02 июня 2018

Замените цикл while следующим:

while($row = $result->fetch_assoc()) {
   $data = array_reduce($row, function($carry, $value) {
               $carry[] = "<td val='{$value}'>{$value}</td>";
               return $carry;
           }, []);

  echo '<tr>' . implode('', $data) . "</tr>\n" ;
}

выведет:

<tr><td val='10'>10</td><td val='11'>11</td></tr>

Пример отправки можно найти здесь .

Руководство по PHP для функции array_reduce.

0 голосов
/ 02 июня 2018

Вам нужно перебирать значения строк и выводить их так, как вы хотите:

while($row = $result->fetch_assoc()) {
    echo '<tr>';

    // Let's iterate through all the columns
    foreach ($row as $value) {
        echo "<td val='$value'>$value</td>";
    }

    echo "</tr>\n";
}

Как примечание: val не является допустимым атрибутом для td -элемент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...