0

このコードがあり、選択した状態をサブキャット テーブルに入れようとしています。これまでのところ、空の値が返されます。これが明確かどうかはわかりませんが、私が望むのは、選択オプションから州を選択して送信することだけです。選択した州名をテーブルのサブキャットに取得したいと考えています。

enter <?php
include("connect.php");
$state = $row['states']; //Select name
if (isset($_POST[submit])){
$query = "INSERT INTO subcat (sub_name) VALUES ('$state')";
mysql_query($query) or die(mysql_error());
}
?>
<form action="" method="post" name="form">
<?php
$sql = mysql_query("SELECT * FROM   state");
echo "<select name='states'>
<option value=''>Select a state</option>";
while ($row = mysql_fetch_assoc($sql)) {
echo "<option value='$row[id]'>$row[name]</option>";
}
echo "</select>";
?>
<input type="submit" name="submit" value="Continue" />
</form> here

ありがとう

4

2 に答える 2

1

$state = $row['states']に変更$state = $_POST['states']

<?php

include("connect.php");    
if (isset($_POST[submit]))
{
   $state = $_POST['states']; //Select name
   $query = "INSERT INTO subcat (sub_name) VALUES ('$state')";
   mysql_query($query) or die(mysql_error());
}

?>
<form action="" method="post" name="form">
<?php
$sql = mysql_query("SELECT * FROM   state");
echo "<select name='states'>
<option value=''>Select a state</option>";
while ($row = mysql_fetch_assoc($sql)) {
echo "<option value='$row[id]'>$row[name]</option>"; // if you want to 
//get the name into table, then use like this 
//echo "<option value='$row[name]'>$row[name]</option>";  or  
//echo "<option>$row[name]</option>";
}
echo "</select>";
?>
<input type="submit" name="submit" value="Continue" />
</form>
于 2012-05-19T04:03:06.083 に答える
0

これを試して:

enter <?php
include("connect.php");
if (isset($_POST[submit])){
$state = $_POST['states'];
$query = "INSERT INTO subcat (sub_name) VALUES ('".mysql_real_escape_string($state)."')";
mysql_query($query) or die(mysql_error());
}
?>
<form action="" method="post" name="form">
<?php
$sql = mysql_query("SELECT * FROM   state");
echo '<select name="states" id="states">
<option value="">Select a state</option>';
while ($row = mysql_fetch_assoc($sql)) {
echo '<option value="'.$row['name'].'">'.$row['name'].'</option>';
}
echo '</select>';
?>
<input type="submit" name="submit" value="Continue" />
</form> here

SQL インジェクションを防ぐために mysql_real_escape_string を使用することを忘れないでください。$state = $row['states']; を置き換えました。with $state = $_POST['states'];

どこから $row を入手したのかわかりません...

上記は州名をデータベースに挿入します。

于 2012-05-19T04:09:31.257 に答える