さて、このスレッドにリストされているソリューションを使用してみましたが、一部は機能しましたが、すべてではありませんでした。個別の結果を表示し、返された結果の量で並べ替えようとしています。ID に 4 つの調査の結果があった場合、4 と表示されます。もちろん、これを行うこともできますがmyql_num_rows
、その金額で注文する方法がわからないため、次のように表示されます... 4 3 2 1 の代わりに.. 2 4 1 3
ここに私がこれまでに持っているものがあります.Selectステートメントは正しいと思います.正しくエコーアウトする必要があります.
<?php
$query_db = ("SELECT DISTINCT SGSID FROM SGresult WHERE SGFACemail = '$email'");
$result = mysql_query($query_db, $surveys) or die(mysql_error());
$i = 0;
while ($row = mysql_fetch_assoc($result)) {
$SGSID = $row['SGSID'];
//INSERTED MODIFIED SELECT STATEMENT HERE
$query_check = ("SELECT SGpID, count(*) AS numCount FROM SGresult WHERE SGFACemail = '$email' AND SGSID = '$SGSID' GROUP BY SGpID");
$result_c = mysql_query($query_check, $surveys) or die(mysql_error());
$row2 = mysql_fetch_array($result_c);
$SGpID = $row2[3];
echo $row2['numCount'];
//tried num_rows statement to return value of numCount
//$num_rows2 = mysql_num_rows($result_c, $row2['numCount']);
$num_rows = mysql_num_rows($result_c);
$query_name = ("SELECT * FROM SGsurveyID WHERE SGSID = '$SGSID'");
$result_F = mysql_query($query_name, $surveys) or die(mysql_error($surveys));
$name_row = mysql_fetch_row($result_F);
<?php echo $row2['numCount']; //this returns results, but not the amount of rows
$i++;?>
<tr>
<td><?php echo $i;?></td>
<td><?php echo $name_row[1];?></td>
<td><?php echo $num_rows; ?></td>
<td> <?php echo $row2['numCount']; ?></td>
</tr>
<?php
}
要約すると、基本的に、その DISTINCT 結果で返される行数を GROUP BY AND ORDER BY しようとしています。
いつもご協力とご指摘ありがとうございます。乱雑なコードをお許しください。