因此,我正在制作一个练习场,目前显示了数百个练习。我从 MySQL 数据库中提取数据没有问题。我的问题是能够在单独的页面上查看每个练习。目前,所有练习都使用此功能进行:
//Category 1 is biceps
$cat = 1;
//$category is used for the case statement, to allow the form to submit and refresh to the case statement that it is on, for each instance of the function.
$category = 'biceps';
show_exercise($cat, $category);
这是函数本身:
//Show exercises based on exercise category
function show_exercise($cat, $category)
{
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$query = "SELECT * FROM exercises WHERE cat_id='$cat' ";
$result = mysqli_query($dbc, $query);
while($row = mysqli_fetch_array($result))
{
$output[] = '<div class="item">
<h2>'. $row['name'] .'</h2>
<img src="'. $row['image'] .'" alt="'. $row['name'] .'" />
<input class="button" type="submit" name="add" value="add" />
<a href="index.php?p=view"><input class="button" type="submit" name="view" value="view"/></a>
</div>';
}
echo join('', $output);
}
现在这只是将我所有不同的练习作为一个数组拉到一个页面上。我希望能够选择和查看每个单独的练习,但我不知道如何操作。一种方法是为每个练习创建一个页面,但我有数百个。上面代码中的按钮没有被使用,但想法是当有人单击“查看”按钮时,他们会被带到练习的单独页面,在那里他们可以阅读更多详细信息。数据库中上述代码中使用的所有数据都可以在各个练习页面上使用。
我的页面是用 switch 语句管理的,我想我会提到这一点,因为它可能会改变答案。这是我正在使用的 switch 语句:
// Validate what page to show:
if(isset($_GET['p']))
{
$p = $_GET['p'];
}
elseif(isset($_POST['p']))
{
// Forms
$p = $_POST['p'];
}
else
{
$p = NULL;
}
// Determine what page to display:
switch ($p)
{
case 'contact' :
$page = 'contact.php';
$page_title = 'Contact Us';
break;
case 'exercises' :
$page = 'exercises.php';
$page_title = 'Exercises';
break;
case 'routines' :
$page = 'routines.php';
$page_title = 'Your Routines';
break;
case 'arms' :
$page = 'arms.php';
$page_title = 'arms routine';
break;
}
此声明继续进行更多页面。我不知道我是否让这听起来比现在更难。如果有任何问题,我将准备发表评论。