Mysql 数据库设计建议

Mysql 数据库设计建议,mysql,database-design,Mysql,Database Design,我正在尝试从数据库中的列表中填充训练 例如,二头肌卷曲机具有以下设置和重复: bicep curl machine sets 1 reps 50 bicep curl machine sets 2 reps 25 bicep curl machine sets 3 reps 15 bicep curl machine sets 4 reps 10 bicep curl machine sets 1 reps 100 但也有不同的锻炼计划。例如体重减轻或肌肉增加。这些计划由计

我正在尝试从数据库中的列表中填充训练

例如,二头肌卷曲机具有以下设置和重复:

bicep curl machine  sets 1  reps 50
bicep curl machine  sets 2  reps 25
bicep curl machine  sets 3  reps 15
bicep curl machine  sets 4  reps 10
bicep curl machine  sets 1  reps 100
但也有不同的锻炼计划。例如体重减轻或肌肉增加。这些计划由计划id确定。因此,二头肌卷曲机可能有不同的设置或重复,具体取决于所选的计划

计划2

bicep curl machine  sets 1  reps 20
bicep curl machine  sets 2  reps 15
bicep curl machine  sets 3  reps 10
bicep curl machine  sets 4  reps 5
bicep curl machine  sets 1  reps 30
我想随机选择其中一行并将其推送到我的站点。现在有一个SetsRepsWeight表,其中包含set_id、set、reps和weight

然后是一个包含machine_id和set_id的setMaster表,其中machine_id来自一个包含所有可用机器的表

因此,如果我的SetRepsWight表如下所示:

setMaster包含:

所以二头肌旋度可以是任意一组的1-5。我想随机选取行并将其填充到数据库中,但我需要一个关于设置此行的建议。现在,集合、重复和权重都在一个数组中。我怎样才能实现我的目标

这是我现在的代码:

$machine_atts = array(
'bicep curl' => array( 'sets' => 1, 'reps' => 50, 'weight' => 25 ),
'cable chest press' => array( 'sets' => 1, 'reps' => 100, 'weight' => 40 ),
'lat pulldown' => array( 'sets' => 2, 'reps' => 25, 'weight' => 20 ),
'tricep extension' => array( 'sets' => 3, 'reps' => 25, 'weight' => 30 ),
);

$sql1 = "SELECT m1.machine_id, m2.* FROM userPlanDetail AS m1 LEFT JOIN machines AS m2 ON m1.machine_id = m2.machine_id WHERE `user_id` = '$user_id1' AND `cardio` = 0";
$retval1 = mysql_query( $sql1, $conn );
$array = array();

$i=0;
while ($row = mysql_fetch_array($retval1, MYSQL_ASSOC)) {
  $i++;
  $sets = $machine_atts[$row['machine_name']]['sets'];
  $reps = $machine_atts[$row['machine_name']]['reps'];
  $weight = $machine_atts[$row['machine_name']]['weight'];
  $array[] = '<tr><td width="50"><img src="client workout page/round_'.$i.'.jpg"></td><td><img src="'.$row["picture"].'" style="width:200px;height:200px;display:block;margin:20px auto;"/></td><td>'.$row['machine_name'].' <span class="blue">#'.$i.'</span><br>sets <span class="blue">'.$sets.'</span> reps <span class="blue">'.$reps.'</span><br>weight <span class="blue">'.$weight.'</span></td></tr><tr><td></td><td><a class="demo" href="'.$row["link"].'" rel="group1"><img src="client workout page/click to play video.jpg" style="width:186px;height:14px;margin:0 auto;"></a></td></tr>';
}

我需要以某种方式更改此代码,以便为每个机器id选择一个随机行,并输出集合和重复。

请不要使用文本数据的屏幕截图。您可以使用order by rand limit 1选择一个随机行。集合和重复来自两个不同的表,因此我如何在while循环中访问它们