ここにコードがあります。私が望むすべての要素を完璧に表示します。しかし、「登録」をクリックすると、選択した要素の要素が1つだけ登録されます。考えられる問題は何ですか?データベースにあるすべての要素にアクセスできません
は、ここでは、コードです:あなたが提出enroll
ボタンと一緒にスクリプトに希望のコースIDを送信していなかったので、
if(array_key_exists("id", $_SESSION)) {
include("connection.php");
$query = "SELECT * from `classes`";
echo '<div id="accordion" role="tablist" aria-multiselectable="true"> ';
$result = mysqli_query($link, $query);
$results = array();
$rows = array();
$queries = array();
while($row = mysqli_fetch_array($result)) {
array_push($rows, $row);
}
for ($i = 0; $i < count($rows); $i ++) {
$name = $rows[$i]["name"];
$start_time = $rows[$i]["begTime"];
$end_time = $rows[$i]["endTime"];
$price = $rows[$i]["price"];
$places = $rows[$i]["placesAvailable"];
if (array_key_exists("enroll", $_POST)) {
$queries[$i] = "UPDATE `users` SET sectionID = ".$rows[$i]["ID"]." WHERE id = ".mysqli_real_escape_string($link, $_SESSION['id'])." LIMIT 1";
$results[$i] = mysqli_query($link, $queries[$i]);
}
echo '
<div class="card">
<div id = "section" class="card-header" role="tab" id="headingOne">
<h5 class="mb-0">
<a data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
'.$name.'
</a>
</h5>
</div>
<div id="collapse" class="collapse in" role="tabpanel" aria-labelledby="headingOne">
<div class="card-block">
'.$name.'
<p> <strong> Time: </strong>'.$start_time.' - '.$end_time.' </p>
<p> <strong> Price: </strong>'.$price.' </p>
<p> <strong> Places available: </strong>'.$places.' </p>
<form action="" method = "post">
<input class="btn btn-success" type="submit" name = "enroll" value = "Enroll">
</form>
</div>
</div>
</div>
';
}
echo '</div>';
}
更新クエリで1つのアイテム(ユーザー)のみを更新します。 'あなたは何をしたいのか分かりませんが、あなたのフォームにデータを投稿する必要があります。 –
私は、コースに登録するユーザーを希望します。私は、コースのリストとそれぞれのボタンに「登録」するページがあります。ボタンを次にクリックした後特定のコースに、現在のユーザーがコースに登録したというデータベースを更新したいのですが、これを達成するためにコードを変更するにはどうすればよいですか? –