Хотя цикл внутри SELECT

0

Я новичок в php и html, поэтому мне нужна помощь с проблемой: я пытаюсь создать форму, в которой вы можете выбрать из dropbox, но данные thae из dropbox должны быть извлечены из базы данных sql. Если я сохраню код ниже, как php, будет создан dropbox и будет извлекать данные из sql, но затем исчезает кнопка отправки (вместе со всем остальным, который я помещаю после цикла while). Если я сохраню его как html файл, кнопка формы и отправки будет работать, но он не будет извлекать данные из базы данных sql.

благодаря

<form action="Techniques.php" method="post">
        <p>Which Disease?
        <select name="disease" >
            <option value="" >--Select--</option>
        <?php
          require_once("dbconnect.php");

          $sql = "SELECT * FROM diseases";
          $result = mysql_query($sql)or die (mysql_error());
                while($row = mysql_fetch_array($result) or die (mysql_error()))
                {
        ?>
                 <option value ="<?php echo($row['Disease']);?>"><?php echo($row['Disease']);?></option>
        <?php
                }
        ?>        

        </select>
        </p>
        <input type="submit" value="Copmlete"/>
    </form>
  • 1
    "<" ?? отсутствует в -> input type = "submit" value = "Copmlete" />
  • 1
    Copmlete -> Complete ?
Показать ещё 2 комментария
Теги:
select
forms
while-loop

3 ответа

0
Лучший ответ

Если вы сохраните файл как.html файл, код PHP не будет выполнен.

Расширение.html, которое вы видите на многих веб-сайтах на файлах, содержащих PHP, получается путем перезаписи URL-адресов.

  • 0
    Спасибо за ответ! Поэтому я сохраню его как php.file, но вывод все еще останавливается после цикла while. Что-нибудь, что я добавляю после цикла while, не отображается в выводе? Таким образом, кнопка отправки не появляется, если я сохраняю как php, но появляется, если я сохраняю как html.
  • 0
    Я заметил, что вы написали <?php echo($row['Disease']);?> Echo не нужно (), поэтому это будет <?php echo $row['Disease'];?> Вы, вероятно, получаю ошибку разбора, отсюда прекращаем вывод. Также не используйте or die(mysql_error()) в цикле while.
Показать ещё 1 комментарий
1

попробуйте

<form action="Techniques.php" method="post">
  <p>Which Disease?
    <select name="disease" >
      <option value="" >--Select--</option>
      <?php
        require_once("dbconnect.php");

        $sql = "SELECT * FROM diseases";
        $result = mysql_query($sql)or die (mysql_error());
          while($row = mysql_fetch_array($result) or die (mysql_error()))
          {
      ?>
        <option value="<?php echo($row['Disease']);?>" ><?php echo($row['Disease']);?></option>

      <?php } ?>        

      </select>
    </p>
    <input type="submit" value="Complete"/>
</form>
1

ваш

    </select>
  </p>
  input type="submit" value="Copmlete"/>
</form>

должно быть

    </select>
  </p>
  <input type="submit" value="Complete"/>
</form>

Лучшее кодирование:

<?php
   require_once("dbconnect.php");
   $sql = "SELECT * FROM diseases";
   $result = mysql_query($sql)or die (mysql_error());
?>
<form action="Techniques.php" method="post">
  <p>Which Disease?
    <select name="disease" >
      <option value="" >--Select--</option>
      <?php
        while($row = mysql_fetch_array($result) or die (mysql_error()))
        {
      ECHO "<option value='disease'>$row['Disease']</option>"
        }
      ?>        
    </select>
  </p>
  <input type="submit" value="Copmlete"/>
</form>
  • 0
    В Edit 2 отсутствует закрывающий символ ?> Перед запуском <form> .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню