Php 在mysql查询中选择$array[$id]

Php 在mysql查询中选择$array[$id],php,mysql,sql,arrays,select,Php,Mysql,Sql,Arrays,Select,现在,我知道这是一个糟糕的做法,但以下是我试图做的 这就是我现在拥有的: $max_str = "MAX(CASE WHEN p_list.p_name"; $case_str = "THEN (CASE WHEN check_box = '2' THEN '2' WHEN check_box = '1' THEN '1' WHEN check_box = '0' THEN '0' WHEN checkbox = '1' THEN '1' WHEN checkbox = '0' THEN '0'

现在,我知道这是一个糟糕的做法,但以下是我试图做的

这就是我现在拥有的:

$max_str = "MAX(CASE WHEN p_list.p_name";
$case_str = "THEN (CASE WHEN check_box = '2' THEN '2' WHEN check_box = '1' THEN '1' WHEN check_box = '0' THEN '0' WHEN checkbox = '1' THEN '1' WHEN checkbox = '0' THEN '0' END) ELSE '-' END)";

@$result = MYSQL_QUERY("SELECT ID, Description, checkbox,

  $max_str = '$row[0]' $case_str '$row[0]',
  $max_str = '$row[1]' $case_str '$row[1]',
  $max_str = '$row[2]' $case_str '$row[2]',
  $max_str = '$row[3]' $case_str '$row[3]'


FROM p_list
JOIN $databasetable
        ON $databasetable.P_ID = p_list.P_ID
LEFT JOIN udata_store 
        ON $databasetable.C_ID = udata_store.C_ID

WHERE p_list.J_ID = $jid and $databasetable.J_ID = $jid
GROUP BY ID");
$row[$id]
包含从不同表中提取的行值,它们可以随时更改。基本上,
$id
可以从
0
n

我现在的查询工作正常,只是我必须输入
$max_str='$row[0+n]'$case_str'$row[0+n]',
多次(其中n是我放的行数)以避免行数不足

我想知道如何将循环合并到查询中,例如:

@$result = MYSQL_QUERY("SELECT ID, Description, checkbox,

$i=0;
while($i<$num_of_rows_from_table){
echo "$max_str = '$row[$i]' $case_str '$row[$i]',"
$i++;
}

...
@$result=MYSQL\u查询(“选择ID、说明、复选框、,
$i=0;

而($i请删除最后一个逗号

$str = '';
$i=0;
while($i<$num_of_rows_from_table){
   $str .= "$max_str = '$row[$i]' $case_str '$row[$i]',";
   $i++;
}

$str = substr($str, 0, -1);
echo $str;
$str='';
$i=0;
而($i简单解决方案:

$i = 0;
while($i<$num_of_rows_from_table)
{
    // prepend a comma for every element after the first
    if ($i > 0)
        echo ", ";

    echo "$max_str = '$row[$i]' $case_str '$row[$i]'";

    $i++;
}
$i=0;
而(i)(0元)
回声“,”;
echo“$max_str='$row[$i]'$case_str'$row[$i]'”;
$i++;
}

太棒了!非常感谢您。