簡體   English   中英

來自數組的PHP表單選擇值編輯/保存

[英]PHP Form from Array Select Value Edit/Save

我正在使用數組輸出用於產品輸入的表單。

$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. 擁有$ labels數組是一個壞主意。
  2. 首先獲取所有數據。 將您的產品數據選擇到陣列中。 將您的類別選擇為數組。
  3. 與使用PHP創建的任何其他HTML一樣顯示表單

<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 />

等等

在將它們放入value屬性之前,請不要忘記對其值進行htmlspecialchars()

您可以這樣查詢產品表:

$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'];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM