Как написать PHP внутри HTML, когда HTML обернут PHP - PullRequest
0 голосов
/ 31 декабря 2011

Я помещаю весь HTML-контент в переменную PHP, и внутри этого содержимого я пытаюсь отобразить некоторые данные, извлекаемые из базы данных. Но проблема в том, что я не могу сделать запрос к базе данных и повторить результаты, так как все дело в PHP и HTML.

Есть ли способ сделать запрос к базе данных вне переменной PHP и повторить его. Хотя я уже пробовал запрашивать базу данных вне этой переменной, но, как оказалось на этот раз >> $row['examdate'] создает проблему. Показывает синтаксическую ошибку.

Я делаю все это для создания PDF с использованием DOMPDF. После получения переменной я передам ее контроллеру для генерации pdf.

 <?php $variable= " I need your help, I want to echo this <br>

<table id=\"table-6\" width=\"100%\">
<tr>
    <th>Exam Date</th>
    <th>Exam Type</th>
    <th>Subject</th>

</tr>

$this->db->select('*');
$this->db->from('marks');
$this->db->where('studentid', $studentid);
$this->db->where('examdate >=', $daterange1);
$this->db->where('examdate <=', $daterange2);
$this->db->order_by('examdate','DESC'); 
$query = $this->db->get(''); 


            if ($query->num_rows() > 0)
            {
               $row = $query->row_array();

    <tr>
        <td> echo $row['examdate']</td> ///****this line***** 

        <td>12</td>
        <td>12</td>
        <td>100</td>
    </tr>
    </table>
   "; ?>-<< variable ends here

1 Ответ

3 голосов
/ 31 декабря 2011

Вам нужно отделить заполнение вашей переменной от выполнения вашей логики PHP.

Добавьте данные на более поздней стадии, вместо того, чтобы пытаться назначить все за один шаг.

Вот модифицированный код:

<?php
$variable = " I need your help, I want to echo this <br>

<table id=\"table-6\" width=\"100%\">
    <tr>
        <th>Exam Date</th>
        <th>Exam Type</th>
        <th>Subject</th>

    </tr>
";

// now execute the database logic
$this->db->select('*');
$this->db->from('marks');
$this->db->where('studentid', $studentid);
$this->db->where('examdate >=', $daterange1);
$this->db->where('examdate <=', $daterange2);
$this->db->order_by('examdate','DESC'); 
$query = $this->db->get(''); 

if ($query->num_rows() > 0)
{
    $row = $query->row_array();

    // append the data to the existing variable using ".="
    // and include the examdate
    $variable .= "
        <tr>
            <td>{$row['examdate']}</td> ///****this line***** 

            <td>12</td>
            <td>12</td>
            <td>100</td>
        </tr>
    ";
}

// append the closing table tag to the variable using ".=" again
$variable .= "</table>";

// output $variable
echo $variable;

?>

1010 *

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