jQuery + PHP exec
Есть простой пример в котором вызывается exec
<table border="1">
<tr>
<td><?echo "Сервер";?></td>
<td><?$result = exec ('uptime'); echo $result;?></td>
</tr>
Как обернуть второе поле в ссылку чтоб возвращала значение exec не перезагружая всю страницу ?
Ответы (2 шт):
Автор решения: Gosha
→ Ссылка
Вам нужно делать ajax запрос на сервер и ответ писать в выбранную ячейку.
Простой пример:
файл index.php
<table border="1">
<tr>
<td>Сервер</td>
<td><button id="btn-uptime">get uptime</button></td>
<td id="result"></td>
</tr>
</table>
<script>
const tdResult = document.querySelector('#result');
document.querySelector('#btn-uptime').addEventListener('click', () => {
fetch('/uptime.php')
.then(res => res.text())
.then(time => tdResult.innerHTML = time);
});
</script>
файл uptime.php
<?php
echo exec('uptime');
Автор решения: mouserok
→ Ссылка
Не удается включить в цикле index.php
<?php
$file_name = "data.txt";
$data = file( $file_name );
?>
<table border="1">
<tr>
<td>Сервер</td>
<td>push button</td>
<td>value</td>
</tr>
<?php
foreach( $data as $value ):
$value = explode( "|", $value );
?>
<tr>
<td>Сервер</td>
<td><button id="btn-uptime">echo row</button></td>
<td id="<?=trim($value[0])?>"><?=trim($value[0])?></td>
</tr>
<script>
const tdResult = document.querySelector('#<?=trim($value[0])?>');
document.querySelector('#btn-uptime').addEventListener('click', () => {
fetch('echo_row.php')
.then(res => res.text())
.then(time => tdResult.innerHTML = time);
});
</script>
<?php
endforeach;
?>
</table>
echo_row.php
<?php
echo exec('echo R_'.$_POST["row_name"]);
data.txt
row1
row2
row3
Предполагается что нажатие на каждую кнопку будет возвращать результат скрипта который отработал с соответствующем значением для каждого поля из цикла. Прошу помочь в решении.