0

テーブルをクエリし、次のようなループを介してテーブル内の一致するレコードを表示する既存の結果ページがあります。

<table class="WADAResultsTable" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <th class="WADAResultsTableHeader">clientID:</th>
  </tr>
  <?php do { ?>
    <tr class="<?php echo $WARRT_AltClass1->getClass(true); ?>">

      <td class="WADAResultsTableCell">
      <?php echo($row_WADAsys_visits['clientID']); ?></td>
    </tr>
  <?php } while ($row_WADAsys_visits = mysql_fetch_assoc($WADAsys_visits)); ?>
</table>

問題は、clientID が視聴者にとって何の意味もないことです。テーブル sys_client との結合を実行して名前を取得するレコードセットを作成しました。

mysql_select_db($database_redcross, $redcross);
$query_idToClient = "SELECT clientLName, clientFName FROM sys_client LEFT JOIN sys_visits USING (clientID)";
$idToClient = mysql_query($query_idToClient, $redcross) or die(mysql_error());
$row_idToClient = mysql_fetch_assoc($idToClient);
$totalRows_idToClient = mysql_num_rows($idToClient);

ループですでにエコーされている既存の clientID と一致する JOIN で見つかった clientFName と clientLName をエコーするようにループを変更するにはどうすればよいですか?

sys_visits コードは次のとおりです。

$maxRows_WADAsys_visits = 25;
$pageNum_WADAsys_visits = 0;
if (isset($_GET['pageNum_WADAsys_visits'])) {
  $pageNum_WADAsys_visits = $_GET['pageNum_WADAsys_visits'];
}
$startRow_WADAsys_visits = $pageNum_WADAsys_visits * $maxRows_WADAsys_visits;

mysql_select_db($database_redcross, $redcross);
$query_WADAsys_visits = "SELECT pid, clientID, address, city, state, zip, latitude, longitude, FROM sys_visits ORDER BY pid ASC";
setQueryBuilderSource($query_WADAsys_visits,$WADbSearch1,false);
$query_limit_WADAsys_visits = sprintf("%s LIMIT %d, %d", $query_WADAsys_visits, $startRow_WADAsys_visits, $maxRows_WADAsys_visits);
$WADAsys_visits = mysql_query($query_limit_WADAsys_visits, $redcross) or die(mysql_error());
$row_WADAsys_visits = mysql_fetch_assoc($WADAsys_visits);

if (isset($_GET['totalRows_WADAsys_visits'])) {
  $totalRows_WADAsys_visits = $_GET['totalRows_WADAsys_visits'];
} else {
  $all_WADAsys_visits = mysql_query($query_WADAsys_visits);
  $totalRows_WADAsys_visits = mysql_num_rows($all_WADAsys_visits);
}
$totalPages_WADAsys_visits = ceil($totalRows_WADAsys_visits/$maxRows_WADAsys_visits)-1;
4

1 に答える 1

0

完全なスキーマを見ないと、次のことしか推測できません。

SELECT pid, clientID, address, city, state, zip, latitude, longitude, clientLName, clientFName FROM sys_visits join sys_client USING( clientID ) ORDER BY pid ASC

次に、この行を変更します。

<td class="WADAResultsTableCell">
  <?php echo($row_WADAsys_visits['clientID']); ?></td>

に:

<td class="WADAResultsTableCell">    
  <?php echo($row_WADAsys_visits['clientLName']); ?>   
  <?php echo($row_WADAsys_visits['clientFName']); ?></td>
于 2012-10-11T16:32:06.530 に答える