少し問題があります。これが私が達成したいことです: 2 つの mysql テーブル (カテゴリ、チャネル) があり、チャネル テーブルには cat_id があります。製品を更新/編集して別のカテゴリに配置したいのですが、製品の親 ID (cat_id) が 5 であっても、作成したコードには 1 つのカテゴリ (id=1) しか表示されません。
try {
//prepare query
$query = "select channel_id, name, category_id from channels where channel_id = ? limit 0,1";
$stmt = $pdo->prepare( $query );
//this is the first question mark
$stmt->bindParam(1, $_REQUEST['id']);
//execute our query
$stmt->execute();
//store retrieved row to a variable
$row = $stmt->fetch(PDO::FETCH_ASSOC);
//values to fill up our form
$channel_id = $row['channel_id'];
$name = $row['name'];
$category_id = $row['category_id'];
}catch(PDOException $exception){ //to handle error
echo "Error: " . $exception->getMessage();
}
$query2 = "SELECT * FROM categories";
$stmt2 = $pdo->prepare( $query2 );
$stmt2->execute();
$results = $stmt2->fetchAll(PDO::FETCH_ASSOC);
?>
<!--we have our html form here where new user information will be entered-->
<form action='#' method='post' border='0'>
<table>
<tr>
<td>Channel Name</td>
<td><input type='text' name='name' value='<?php echo $name; ?>' /></td>
</tr>
<tr>
<td>Category</td>
<td>
<?php foreach($results as $rows) {?>
<select name="fileselect">
<option name='cat_id' value=" <?php echo $rows['category_id']; ?>"> <?php echo $rows['name']; ?></option>
<!-- <input type='text' name='category_id' value='<?php //echo $category_id; ?>' /> -->
<?php } ?>
</select>
</td>
</tr>
<tr>
<td></td>
<td>
<!-- so that we could identify what record is to be updated -->
<input type='hidden' name='channel_id' value='<?php echo $channel_id ?>' />
<!-- we will set the action to edit -->
<input type='hidden' name='action' value='update' />
<input type='submit' value='Edit' />
</td>
</tr>
</table>
</form>