0

選択ドロップダウンのあるHTMLフォームがあります。MySQLDBからドロップダウンにデータを入力したいと思います。HTMLフォームには、datepickerを処理するためのいくつかのJavaスクリプトと、フォームのフィールドの1つに現在の日付がすでに含まれています。

選択用のフォームを手動でコーディングできますが、MySQLから取得したいと思います。私が使用しているphpは、正しく機能することを確認するために、独自のファイルname.phpを挿入しました。phpにいくつかのechoステートメントを追加して、フォームと選択範囲を作成し、選択範囲にデータを入力して閉じます。これは、スタンドアロンのphpとしては問題なく機能しました。

選択定義の下のフォームにphpを追加すると、選択がまったく入力されず、空白/空のままになります。選択オプションの形式で出力情報にいくつかのエコーステートメントを追加すると、最初のエコーは表示されず、後続のエコーは表示されますが、変数は変数名として表示されます。

<form id="form1" name="form1" method="post" action="/db_log.php">
Field:<select name="id">

<?php

    require_once dirname(__FILE__) . '/db_connect.php';
$db = new DB_CONNECT();

$query="SELECT id, name FROM file order by name";
$result=mysql_query($query);

while ($row = mysql_fetch_array($result)) {
  $id = $row['id'];
  $name =$row['name'];
  echo "<option value=\"$id\"> $name </option>";
  }
?>

</select><br />
</form>

上記は空の選択ドロップダウンを示しています。しかし、これはPHPファイルとしてはうまく機能します。

<?php
echo "<form id=\"form1\" name=\"form1\" method=\"post\" action=\"/db_log.php\">";
    echo "Select:<select name=\"id\">";
    require_once dirname(__FILE__) . '/db_connect.php';
$db = new DB_CONNECT();

$result=mysql_query("SELECT id, name FROM file order by name");

while ($row = mysql_fetch_array($result)) {
  $id = $row['id'];
  $name =$row['name'];
  echo "<option value=\"$id\"> $name </option>";
  }

    echo "</select><br />";
    echo "</form>";
?>

他のエコーの前にテストエコーのようにHTMLフォームにエコーを追加すると、無視されます。

<form id="form1" name="form1" method="post" action="/db_log.php">
Field:<select name="id">

<?php
  echo "<option value=\"1\"> Test-name </option>";

    require_once dirname(__FILE__) . '/db_connect.php';
$db = new DB_CONNECT();

$query="SELECT id, name FROM file order by name";
$result=mysql_query($query);

while ($row = mysql_fetch_array($result)) {
  $id = $row['id'];
  $name =$row['name'];
  echo "<option value=\"$id\"> $name </option>";
  }
?>

</select><br />
</form>

これから表示されるのは、$nameを選択するオプションだけです。

4

2 に答える 2

0

A have a combo box that feeds from my mysql database.

I goes like this:

 <tr>
                    <td>Emergency service</td>
                    <td><?php 
                            $nombreEmergencia;
                            $idEmergencia;
                            $sql4 = "SELECT  `idEmergencias`, `nombre` FROM  `emergencias` WHERE 1";
                            $iterador = $conn->consulta($sql4);

                            echo '<select name="idEmergencia" id="idEmergencia" style="width:228px">
                            <option value="-1" selected>(please select:)</option>';
                            while($iterador->hayElemento()){
                                    $nombreEmergencia = $iterador->getElemento("nombre");
                                    $idEmergencia = $iterador->getElemento("idEmergencias");
                                    echo '<option value="'.$idEmergencia.'">'.utf8_encode($nombreEmergencia).'</option>';
                            }
                            echo '</select>'; ?></td>
                  </tr>

as you can see you have to use an "iterator" variable with a function that checks the database for more elements and brings 'em.

That auxiliary function looks like this:

<?php
class Iterador{
    private $ultimoDato;
    private $id;

    public function __construct($id){
        $this->id = $id;
    }

    public function hayElemento(){
        $dato = mysql_fetch_array($this->id);
        $this->ultimoDato = $dato;
        return !empty($dato);
    }

    public function getElemento($columnas){
        return $this->ultimoDato[$columnas];
    }

    public function inicializar(){
        $dato = mysql_fetch_array($this->id);
        $this->ultimoDato = $dato;
    }

    public function hay(){
        return !empty($this->ultimoDato);
    }

    public function siguiente(){
        $dato=mysql_fetch_array($this->id);
        $this->ultimoDato=$dato;
    }


}
?>

hope this helps!!

于 2012-09-24T15:13:18.057 に答える
0

Based on this question and the previous questions and the comments you've gotten and made I'm going to guess that you're trying to run php from a .html file. You need to save your code (including the html) in a .php file for it to work.

于 2012-09-24T15:25:57.827 に答える