0

ドロップダウン メニューを 1 回選択して、Mysql に 2 つの値を挿入する方法はありますか?

フォーム値を挿入するための mysql 構文の例は次のとおりです。

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO menu (food, image_extension) VALUES (%s, %s)",
GetSQLValueString($_POST['food'], "text"),
GetSQLValueString($_POST['image_extension'], "text"),

mysql_select_db($database_menu, $menu);
$Result1 = mysql_query($insertSQL, $menu) or die(mysql_error());

$insertGoTo = "menu.php?status=choosen";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}

次のドロップダウン リストの選択した各タグから 2 列 (food & image_extension) の値を MySql に挿入しようとしていますが、image_extension 列にデータを挿入できません。食べ物の列のみを更新します。

<select name="food, image extension" class="dropdownmenu" input id="food" value="<?php echo $_POST['food'].$_POST['image_extension']; ?>"> 
<option value="selected="selected">Select Food</option>
<option value="Pizza, pizza.jpg">Pizza</option>
<option value="French Fry' frenchfry.jpg">French Fry</option>
</select>

この場合、上記のドロップダウン リストの次の 3 つの属性に適切に値を入力する方法について混乱していますか?

1. <select name="food, image extension" 
2. <select value="<?php echo $_POST['food'].$_POST['image_extension']; ?>" 
3. <option value="Pizza, pizza.jpg">Pizza</option>

どんなガイドラインでも大歓迎です。

4

2 に答える 2

0

選択に2つの異なる名前を使用する代わりに、選択メニューから値を取得して配列に変換するだけです。

<?php

$food = explode (",", $_POST['food']);

//$food[0] will equal Pizza, $food[1] will equal pizza.jpg
$insertSQL = "INSERT INTO menu (food, image_extension) VALUES ({$food[0]}, {$food[1]})";

?>

<select name="food" class="dropdownmenu" id="food">
<option value="Pizza, pizza.jpg">Pizza</option>
<option value="French Fry, frenchfry.jpg">Pizza</option>
</select>
于 2012-04-21T15:34:22.897 に答える
0

この問題は、www.phpbuilder.com のエキスパート フェローの正確なガイドラインでとにかく解決されました。解決されたシナリオ全体を以下に示します。

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { 

//("," Comma within the double quote shall be used as delimiter here) 
$food=explode(",",$_POST['food']); 
$insertSQL = sprintf("INSERT INTO menu (food, image_extension) VALUES (%s, %s)", 

// The column names in the following string should be replaced by the newly created 
// array elements along with trim function to remove any unexpected white space.       

GetSQLValueString (trim($food[0]), "text"), 
GetSQLValueString (trim($food[1]), "text");

mysql_select_db($database_menu, $menu); 
$Result1 = mysql_query($insertSQL, $menu) or die(mysql_error()); 

$insertGoTo = "menu.php?status=choosen"; 
if (isset($_SERVER['QUERY_STRING'])) { 
$insertGoTo .= (strpos($insertGoTo, '?')) ? "" : "?"; 
$insertGoTo .= $_SERVER['QUERY_STRING']; 
} 
header(sprintf("Location: %s", $insertGoTo)); 
} 

html 部分を次のように変更する必要があります。

 <select name="food" class="dropdownmenu" input id="food" 
 value="<?php echo  $_POST['food']; ?>">
 <option value="selected="selected">Select Food</option>
 <option value="Pizza, pizza.jpg">Pizza</option>
 <option value="French Fry' frenchfry.jpg">French Fry</option>
 </select>
于 2012-04-23T08:39:14.087 に答える