1

たとえば、画面に5つのレコードが表示されているとします。$ questionnumに数値5を表示させたいのですが、$ questionnumが0であると表示され続けます。画面に出力される行数と実際に一致する行数を取得するにはどうすればよいですか?たとえば、5行の場合は番号5が表示され、3行の場合は番号3などが表示されます。

以下はコードです:

 // Execute
    if (!$stmt->execute()) {
      die("Error executing statement: $stmt->error"); 
    }

    $stmt->store_result();

    // This will hold the search results
    $searchResults = array();
    $searchOption = array();

    // Fetch the results into an array
    if (!$stmt->num_rows()) {
      $stmt->bind_result($dbQuestionContent,$dbOptionType); 
      while ($stmt->fetch()) {
        $searchResults[] = $dbQuestionContent;
        $searchOption[] = $dbOptionType;
      }
    }

    if (isset($_GET['searchQuestion'])) {

      // If $terms is not empty we did a query
      if (!empty($terms)) {

          $questionnum = $stmt->num_rows;

        // If $searchResults is not empty we got results
        if (!empty($searchResults)) {
         echo"<p>Number of Questions Shown from the Search: <strong>$questionnum</strong></p>";
          echo "<table border='1' id='resulttbl'>
          foreach ($searchResults as $key=>$question) {
            echo '<tr class="questiontd"><td>'.htmlspecialchars($question).'</td>';
            echo '<td class="optiontypetd">'.htmlspecialchars($searchOption[$key]).'</td>';
    }
          echo "</table>";
    }
4

2 に答える 2

0

これを試して:

$questionnum = $stmt->num_rows;

まだ空の場合は、電話するのを忘れた可能性があります。

$stmt->store_result();

詳細については、マニュアルを参照してください。

于 2012-06-29T03:47:03.160 に答える
0

すでに結果を配列に保存しているので、そのまま実行してください

$questionnum = sizeof($searchOption);
于 2012-06-29T04:08:41.550 に答える