私は私の中にこの機能を持っていますactions.class.php
:
public function executeIndex(sfWebRequest $request) {
$id_empresa = $this->getUser()->getGuardUser()->getSfGuardUserProfile()->getIdempresa();
$this->records = Doctrine_Core::getTable('SdrivingRegistrosEmisores')
->createQuery('re')
->leftJoin('re.SdrivingTurno t')
->leftJoin('re.SdrivingMaquinaEmisor me')
->leftJoin('me.SdrivingMaquina m')
->leftJoin('re.SdrivingOperador o')
->leftJoin('re.SdrivingDetalleEmisores de')
->where('o.idempresa = ?', $id_empresa)
->execute();
}
このビューをレンダリングするもの:
<table class="table table-condensed table-striped table-hover table-bordered pull-left" id="data-table">
<thead>
<tr>
<th><?php echo __('Turno') ?></th>
<th><?php echo __('ID Máquina') ?></th>
<th><?php echo __('Operador') ?></th>
<th><?php echo __('Semáforo') ?></th>
<th> </th>
</tr>
</thead>
<tbody>
<?php foreach ($records as $record): ?>
<tr>
<td><?php echo $record->SdrivingTurno->getTipo(); ?></td>
<td><?php echo $record->SdrivingMaquinaEmisor->SdrivingMaquina->getPatente(); ?></td>
<td><?php echo $record->SdrivingOperador->getNombre() ?></td>
<td>
<?php
if (count($record->SdrivingDetalleEmisores) > 0):
if ($record->SdrivingDetalleEmisores->getFirst()->getRevisado() == 0):
echo image_tag('bullet_red.png');
elseif ($record->SdrivingDetalleEmisores->getFirst()->getRevisado() == 1):
echo image_tag('bullet_orange.png');
endif;
else:
echo image_tag('bullet_green.png');
endif;
?>
</td>
<td><?php echo link_to('Ver detalles', 'ver-detalles/' . $record->getIdregistros(), 'class="btn btn-success btn-mini"') ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
タイトルにあるように、テーブルのコンテンツを 10 秒ごとにリロードする必要があるため、ここで Stackoverflow と Google を掘り下げると、jQuery コードを取得できるこのトピックが見つかりましたが、私の質問は、テーブル HTML 要素の各行を更新するにはどうすればよいですか?
編集
推奨事項を読んだ後、ユーザーが私をここに残しました。これは、これまでのところ成功せずに試したことです。
actions.class.php
public function executebuildAjax(sfWebRequest $request) {
$id_empresa = $this->getUser()->getGuardUser()->getSfGuardUserProfile()->getIdempresa();
$records = Doctrine_Core::getTable('SdrivingRegistrosEmisores')
->createQuery('re')
->leftJoin('re.SdrivingTurno t')
->leftJoin('re.SdrivingMaquinaEmisor me')
->leftJoin('me.SdrivingMaquina m')
->leftJoin('re.SdrivingOperador o')
->leftJoin('re.SdrivingDetalleEmisores de')
->where('o.idempresa = ?', $id_empresa)
->execute();
echo '<table class="table table-condensed table-striped table-hover table-bordered pull-left" id="data-table">';
echo '<thead>';
echo '<tr>';
echo '<th>' . __('Turno') . '</th>';
echo '<th>' . __('ID Máquina') . '</th>';
echo '<th>' . __('Operador') . '</th>';
echo '<th>' . __('Semáforo') . '</th>';
echo '<th></th>';
echo '</tr>';
echo '<tbody>';
foreach ($records as $record):
echo '<tr>';
echo '<td>' . $record->SdrivingTurno->getTipo() . '</td>';
echo '<td>' . $record->SdrivingMaquinaEmisor->SdrivingMaquina->getPatente() . '</td>';
echo '<td>' . $record->SdrivingOperador->getNombre() . '</td>';
echo '<td>';
if (count($record->SdrivingDetalleEmisores) > 0):
if ($record->SdrivingDetalleEmisores->getFirst()->getRevisado() == 0):
echo image_tag('bullet_red.png');
elseif ($record->SdrivingDetalleEmisores->getFirst()->getRevisado() == 1):
echo image_tag('bullet_orange.png');
endif;
else:
echo image_tag('bullet_green.png');
endif;
echo '</td>';
echo '<td>' . link_to('Ver detalles', 'ver-detalles/' . $record->getIdregistros(), 'class="btn btn-success btn-mini"') . '</th>';
echo '</tr>';
endforeach;
echo '</tbody>';
echo '</thead>';
echo '</table>';
}
indexSuccess.php
見る:
<div id="dt_example" class="example_alt_pagination"></div>
<script>
$(document).ready(function() {
setInterval(function() {
$.ajax({
type: 'get',
url: '<?php echo url_for('dashboard/buildAjax') ?>',
datatype: 'html',
success: function(data) {
$("#dt_example").html(data);
},
error: function() {
alert('<?php echo __('Error loading data!!!') ?>');
}
});
}, 10000);
});
</script>
しかし、私は常に警告ボックスError loading data!!! を取得しています!!! なぜ?なにが問題ですか?