2012-02-23 12 views
0

私は製品のエントリのフォームを出力するために配列を使用しています。配列からPHPフォームを選択値を編集/保存

$labels = array(
    "category" => "Model", 
    "model_number" => "Model No.", 
    "description" => "Description"); 

カテゴリは、選択/オプションセットとして入力されます。これは、新製品を追加するときに簡単です。この問題は、製品を編集する必要があるときに発生します。カテゴリテーブルを照会して、使用可能なすべてのカテゴリを返して、選択/オプションセットを設定したいとします。同時に、保存されたモデル番号と説明を提供できるように、商品テーブルを照会する必要があります。

以下は、私がこれをどのように構成しているかを知るための追加フォームのコードです。

foreach($labels as $field => $label) { 
     if($field == "category") { 
      echo "<label>$label:</label>"; 
      echo "<select name=\"$field\">"; 
      while($row=mysqli_fetch_assoc($result)) { 
       extract($row); 
       echo "<option value=\"$category\">$category</option>"; 
      } 
      echo "</select>"; 
      echo "<br />"; 
     } 
     else { 
      echo "<label>$label:</label>"; 
      echo "<input type=\"text\" name=\"$field\" />"; 
      echo "<br />"; 
     } 

ありがとうございました。私はそれがシンプルだと確信していますが、私の脳は現時点で解決策を私に提供していません。

+1

カテゴリには多くの商品が含まれており、カテゴリを選択するとすぐに、そのカテゴリに属する​​すべての商品を一覧表示するry? '$ labels'多次元配列です。より多くの情報を提供すると役に立つでしょう。 –

答えて

-1

あなたは、このように、製品のテーブルを照会することができます:$ラベル配列は悪い考えである持っ

$sql = "SELECT * FROM products WHERE product_id = $product_id"; 

$q = mysql_query($sql); 

$row = mysql_fetch_assoc($q); 

$model_number = $row['model_number']; 

$description = $row['description']; 

$category = $row['category']; 
0
  1. すべてのデータを先に取得してください。製品データを配列に選択します。カテゴリを配列に選択します。
  2. あなたがPHP

<label>Model:</label> 
<select name="category"> 
<? foreach($cats as $category): ?> 
    <option<? if ($category == $row['category'])?> selected?>><?=$category?></option> 
<? endforeach ?> 
</select> 
<br /> 
<label>Model No.:</label> 
<input type="text" name="model_number" value="<?=$row['model_number']?>"/> 
<br /> 

とそうで作成し、他のHTMLはvalue属性

にそれらを配置する前に自分の価値観を htmlspecialchars()することを忘れないでくださいと、フォームを表示します
関連する問題