Есть ли способ обновить таблицу mysql с помощью php, не зная заранее значений?

Я использую следующий код, чтобы захватить строки и заголовки моей таблицы MySQL, не зная их заранее, и отформатировав таблицу. Я создаю сервис, который позволяет пользователям генерировать таблицы и сохранять их в базе данных mysql, поэтому мне нужно иметь возможность получать данные таким образом.

Я пытаюсь обновить и отредактировать таблицу и сделать ее живой. Обычно это делается для каждого значения, которое обновляется индивидуально, зная все значения столбца.

Это мой код для получения значений

<?php
try {
$con= new PDO('mysql:host=localhost;dbname=xxx', "", "");
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = "SELECT * FROM ``
//first pass just gets the column names
print "<table>";
$result = $con->query($query);
//return only the first row (we only need field names)
$row = $result->fetch(PDO::FETCH_ASSOC);
print " <tr>";
foreach ($row as $field => $value){
print " <th>$field</th>";
} // end foreach
print " </tr>";
//second query gets the data
$data = $con->query($query);
$data->setFetchMode(PDO::FETCH_ASSOC);
foreach($data as $row){
print " <tr>";
foreach ($row as $name=>$value){
print " <td>$value</td>";
} // end field loop
print " </tr>";
} // end record loop
print "</table>";
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
} // end try
?>

Я пытаюсь использовать следующее для обновления значений:

foreach($_POST as $name=>$value)
{
if($value != '')
{
echo "$name: $value\n";
}
}

Однако значения строк не обновляются вообще. Можно ли как-нибудь сканировать таблицу и обновлять значения каждый раз, когда значение редактируется?

-1

Решение

Вам не нужно выполнять запрос дважды. Вы можете использовать columnCount() а также getColumnMeta() методы, чтобы получить все имена столбцов.

$result = $con->query($query);
$colCount = $result->columnCount();
echo "<tr>";
for ($i = 0; $i < colCount; $i++) {
$name = $result->getColumnMeta()["name"];
echo "<th>$name</th>";
}
echo "</tr>";
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector