-1
ドロップダウンリストで選択したプライマリキーを新しいテーブルの外部キーとして挿入しようとしています。私はPHPとMySQLを使用しています。新しいテーブルの外部キーとしてドロップダウンリストとして選択されたプライマリキーを使用
私はnotice:undefined index
を得続けます。私はすでに3つのテーブル(タイプ,ブランドとモデル)を作成しました。モデルテーブルは、タイプとブランドモデルからの外部キーで構成されています。
私はデータを挿入するために使用されるHTML/PHP:私が使用
<div class="modal fade" id="addVehicleModel" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="panel panel-danger">
<div class="panel-heading">
<h4>Add New Vehicle Model</h4>
</div>
<div class="panel-body">
<form role="form-horizontal" action="addVehicleModel.php" method="post">
<div class="form-group">
<label>Vehicle Model:</label>
<input class="form-control" type="text" id="vehicleModel" name="vehicleModel" placeholder="Enter New Vehicle Model" />
</div>
<div class="form-group">
<label for="vehicleType">Vehicle Type:</label>
<div>
<select class="form-control" onchange="change_vehicleType()" name="vehicleType" id="vehicleTypeID">
<option value="">Select Vehicle Type</option>
<?php
$res=mysqli_query($link,"Select * from vehicleType");
while ($row=mysqli_fetch_array($res)) { ?>
<option value=<?php echo $row[ 'id_vehicleType'];?>>
<?php echo $row['vehicle_Type'];?>
</option>
<?php
} ?>
</select>
</div>
</div>
<div class="form-group">
<label for="vehicleType">Vehicle Brand:</label>
<div>
<select class="form-control" onchange="change_vehicleBrand()" name="vehicleBrand" id="vehicleBrandID">
<option value="">Select Vehicle Brand</option>
<?php
$res=mysqli_query($link,"Select * from vehicleBrand");
while ($row=mysqli_fetch_array($res)) { ?>
<option value="<?php echo $row['id_vehicleBrand'];?>">
<?php echo $row['vehicle_Brand'];?>
</option>
<?php
} ?>
</select>
</div>
</div>
<br>
<button type="submit" class="btn btn-danger">Submit</button>
<button type="submit" class="btn btn-primary" data-dismiss="modal">Close</button>
</form>
</div>
<!--class panel body end-->
</div>
<!--class panel danger end-->
</div>
<!--class modal content end-->
</div>
<!--class modal dialog end-->
</div>
<!--class modal ADD VEHICLE MODEL end-->
PHPのアクション:
<?php
$mysqli = new mysqli("localhost", "root", "root", "vms");
if ($mysqli === false) {
die("ERROR: Could not connect. " . $mysqli->connect_error);
}
$vehicleModel = $mysqli->real_escape_string($_REQUEST['vehicleModel']);
$vehicleTypeID = $mysqli->real_escape_string($_REQUEST['id_vehicleType']);
$vehicleBrandID = $mysqli->real_escape_string($_REQUEST['id_vehicleBrand']);
$sql = "INSERT INTO vehiclemodel (vehicle_Model, id_FKvehicleType, id_FKvehicleBrand) VALUES ('$vehicleModel', '$id_vehicleType', '$id_vehicleBrand')";
if ($mysqli->query($sql) === true) {
echo "Records inserted successfully.";
} else {
echo "ERROR: Could not able to execute $sql. " . $mysqli->error;
}
$mysqli->close();
?>
私は
Notice: Undefined index: id_vehicleType in
C:\xampp\htdocs\vms\addVehicleModel.php on line 13
Notice: Undefined index: id_vehicleBrand in
C:\xampp\htdocs\vms\addVehicleModel.php on line 14
Notice: Undefined variable: id_vehicleType in
C:\xampp\htdocs\vms\addVehicleModel.php on line 17
Notice: Undefined variable: id_vehicleBrand in
C:\xampp\htdocs\vms\addVehicleModel.php on line 17 ERROR: Could not
able to execute INSERT INTO vehiclemodel (vehicle_Model,
id_FKvehicleType, id_FKvehicleBrand) VALUES ('Saga', '', ''). Cannot
add or update a child row: a foreign key constraint fails
(`vms`.`vehiclemodel`, CONSTRAINT `vehiclemodel_ibfk_1` FOREIGN KEY
(`id_FKvehicleType`) REFERENCES `vehicletype` (`id_vehicleType`))Yes,
vehicleModel is setN0, id_vehicleBrand is not setN0, id_vehicleType is
not set
を提出してください:'あなたは '名= "id_vehicleType"'、あなただけですべてのフォームフィールドを持っていないコードをhave value = "id_vehicleType" ' – JapanGuy
私はあなたが最初にPHPの構文を学ぶことをお勧めします。それほど難しくはありません。 – JapanGuy
MVC(モデル、ビュー、コントローラ)にコードをうまく整理するためのPHPフレームワークの使用をお勧めします。フレームワークはまた、データベースアクセスのようなタスクを非常に簡単にする素敵なあらかじめ書かれたライブラリへのアクセスを提供します。 LaravelとCakephpは私が以前使ったことのある人気のあるものです。 –