-3

次のページに進むたびに保存される複数ページのアンケートを作成しようとしています。彼らが離れて最初に戻ると、すべての情報がフィールドに自動入力されます。

まず、以前に保存したデータをすべて選択します。

$survey = $_GET['survey'];
$query = "SELECT * FROM data WHERE id='{$survey}'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);

その後、ループを使用してページ上のすべての質問を取得し、情報が $row 配列に存在する場合は自動入力します。

$query = "SELECT * FROM questions WHERE id in (1,2,3)";
$result = mysql_query($query);
    while ($items = mysql_fetch_array($result)){
        if($items['type'] == "text"){ 
        $value = $items['name']; ?>
        <p><?php echo $items['question']; ?> <input type="text" id="<?php echo $items['name']; ?>" name="<?php echo $items['name']; ?>" value="<?php echo $row['{$value}']; ?>" /></p>
        <?php }
    }

テーブルの例:

質問

ID、タイプ、名前、質問

1,text,first_name,あなたの名は?

2,text,last_name, あなたの名字は?

データ

id,first_name,last_name

1、ジョン、ドウ

以下を除いて、すべてが機能しているようです。

value="<?php echo $row['{$value}']; ?>"

前もって感謝します、

4

3 に答える 3

3

引用符を捨てて、変数ではなく文字列リテラルにします。(括弧もおそらく必要ありません):

value="<?php echo $row[$value]; ?>"
于 2013-01-28T14:59:47.540 に答える
0

問題の 1 つは、PHP の変数や関数を実行せずにテキストをそのまま受け取る単一引用符を使用していることです。二重引用符を使用すると、{$var} が変数として使用されます。ただし、この場合、引用符はまったく必要ありません。

使用する:

<?php echo $row[$value]; ?>
于 2013-01-28T15:05:04.477 に答える
0

これは必要ありません'

value="<?php echo $row[$value]; ?>"
于 2013-01-28T15:01:08.300 に答える