2

食料品店の CRUD をビューに配置する方法がわかりません。

コントロール内の関数は次のようになります。

function folio()
{
$crud = new grocery_CRUD();
$crud->set_table('rfid');
$crud->columns('rfid','timestamp');
$data['output'] = $crud->render();      
$data['title'] = 'Control Escolar - Folio';
$this->db->where('id', $this->uri->segment(3));
$data['query'] = $this->db->get('alumnos');
$this->load->view('folio_view', $data);
}

私のビューファイルのコードは次のようになります。

        <?php foreach($query->result() as $row) { ?>
    Datos Vitales - <B>Status:</b> <?=$row->status?><hr>
    <B>Nombre:</b> <?=$row->nombre?> <B>Fecha de Nac:</B> <?=$row->fecha_nac?></br>
    <B>Edad:</b> <?=$row->edad?> <B>Sexo:</B> <?=$row->sexo?> <B>Lugar de Nac:</B> <?=$row->lugar_nac?>
    <B>Nacionalidad:</B> <?=$row->nacionalidad?><br><br>
    Datos Escolar<hr>
    <B>Folio:</b> <?=$row->folio?> <B>Grado:</b> <?=$row->grado?> <B>Grupo:</b> <?=$row->grupo?> <B>Turno:</b> <?=$row->turno?> <B>RFID:</b> <?=$row->rfid?><br><br>
    Datos Generales<hr>
    <B>Domicilio:</b> <?=$row->domicilio?> <B>Colonia:</b> <?=$row->colonia?> <B>Codigo Postal:</b> <?=$row->cpostal?></br>
    <B>Telefono Particular:</b> <?=$row->telepart?> <B>Municipio:</b> <?=$row->municipio?></br>
    <B>Telefono de Emergencia:</b> <?=$row->tele_emer?> <B>Tutor:</b> <?=$row->tutor?><br><br>
    Datos Medicos<hr>
    <B>Tipo de Sangre:</b> <?=$row->tipo_de_sangre?></br>
    <B>Condiciones Conocidas:</b> <?=$row->condiciones?></br></br>
    <hr>
    <B>Entradas/Salidas Registradas:</b>
    <?php echo $output; ?>
    <?php } ?>

これはうまく機能しますが、実行すると、CRUD が表示される場所に次のように表示されます。

A PHP Error was encountered
Severity: 4096
Message: Object of class stdClass could not be converted to string
Filename: views/folio_view.php
Line Number: 65

私が実際に達成しようとしているのは、CRUD が学生に一致する RFID フィールドに一致する RFID エントリのみを表示することです。

4

1 に答える 1

3

実際、エラーは何が間違っているかを正確に説明しています。問題は、オブジェクトをエコーし​​ようとすることです。

$output が次のようなオブジェクトであると想像してください。

stdClass Object
(
    [output] => Your output will appear here....
    [js_files] => Array
        (
            ...
        )

    [css_files] => Array
        (
            ...
        )

)

したがって、問題の解決策は次のとおりです。

echo $output->output;

また、食料品の CRUD に必要なのは、どこかに js_files と css_files を表示することだけであることを考慮してください。そのため、これをテンプレートまたはビューに含めることを忘れないでください。

<?php foreach($output->css_files as $file): ?>
        <link type="text/css" rel="stylesheet" href="<?php echo $file; ?>" />
<?php endforeach; ?>

<?php foreach($output->js_files as $file): ?>
    <script src="<?php echo $file; ?>"></script>
<?php endforeach; ?>

より「読みやすく」したい場合は、次のようにするだけです。

$data['gcrud'] = $crud->render();

そして、あなたのビュー/テンプレートに次のようなものがあります:

<?php foreach($gcrud->css_files as $file): ?>
        <link type="text/css" rel="stylesheet" href="<?php echo $file; ?>" />
<?php endforeach; ?>

<?php foreach($gcrud->js_files as $file): ?>
    <script src="<?php echo $file; ?>"></script>
<?php endforeach; ?>

...

<?php echo $gcrud->output; ?>

最後になりましたが、1 つのページに複数の CRUD が必要であることを理解したので、あなたがしようとしていることがそもそも機能しないことを考慮してください。

<?php foreach($query->result() as $row) { ?>
    ...
    <B>Entradas/Salidas Registradas:</b>
    <?php echo $output->output; ?>
<?php } ?>

ただし、当面は食料品の CRUD は 1 ページで複数の CRUD フォームをサポートしていないため、うまく機能しないことに気付くでしょう。したがって、実際に食料品 CRUD を使用したい場合は、ビューがそれを表示するロジックを変更する必要があります

于 2012-11-08T21:04:30.173 に答える