как отделить php от html?

198
14 мая 2018, 22:50

Собственно, как выполнять подобные скрипты в отдельных файлах, чтобы разметка отдельно, php код отдельно?

<select class="selectpicker selectpicker_patient form-control" name="patient" title="Выберите пациента" data-live-search="true" data-size="7">
  <?php  
  include($_SERVER['DOCUMENT_ROOT'].'/php/lib/connect.php');
  $query = "SELECT * FROM Patient ORDER BY Lastname ASC";
  if ($result = mysqli_query($link,$query)) {
      while ($row = mysqli_fetch_assoc($result)) {
          echo '<option value= '.$row['ID_Patient'].'>
               '.$row['Lastname'].' 
               '.$row['Firstname'].' 
               '.$row['Fathername'].'
               </option>';
      }
  }
  ?>
</select>
Answer 1

А зачем так сложно делать? Сформируйте ваш выпадающий список посредством php в отдельном файле, а потом выводите его в нужном месте в html. Вот пример

файл select.php

$res = query("SELECT id, name FROM `names`");
if(!$res) exit("Ошибка запроса: ".mysqli_error());
    if(mysqli_num_rows($res)>0){ 
        $select = '<select name="idname"  class="form-control input-sm" id="nameselect">'; 
        while($row = mysqli_fetch_assoc($res)){ 
            $select.= "<option value=".$row['id'].">".$row['name']."</option>";
        } 
        $select.="</select>";
    }

файл main.php

<?php  
  include(__DIR__.'/../template/select.php');
  echo $select;
?>
Answer 2

Как то так:

mian.php

  <select class="selectpicker selectpicker_patient form-control" name="patient" title="Выберите пациента" data-live-search="true" data-size="7">
  <?php  
      include 'file-with-query.php';
  ?>
</select>

file-with-query.php

<?php  
  include($_SERVER['DOCUMENT_ROOT'].'/php/lib/connect.php');
$option = "";
  $query = "SELECT * FROM Patient ORDER BY Lastname ASC";
    if ($result = mysqli_query($link,$query)) {
      while ($row = mysqli_fetch_assoc($result)) {
          $option .= '<option value= '.$row['ID_Patient'].'>
               '.$row['Lastname'].' 
               '.$row['Firstname'].' 
               '.$row['Fathername'].'
               </option>';
      }
  }
  echo $option;
  ?>
READ ALSO
Создание сервера с базой данный [требует правки]

Создание сервера с базой данный [требует правки]

Есть прога-Simple Chat написанная на php она требует сервера,а на сервере соответственно должна быть база данных Загуглил,нашёл прогу Denver,создал...

175
Почему не работает header()? [дубликат]

Почему не работает header()? [дубликат]

На данный вопрос уже ответили:

157
migration magento. Problem with css/js

migration magento. Problem with css/js

Всем приветМигрировал magento на 2рую версию

176
Замена темы на работающем сайте

Замена темы на работающем сайте

Всем привет подскажите как правильно выполнить замену темы на работающем новостном портале, меня интересует именно логика действий так...

224