2017-06-28 8 views
3

合計をHTMLフォームページ自体に表示する必要があります。私はtotalボタンを持っている私のHTMLフォームで別のPHPファイルの結果をHTMLページに表示するにはどうすればいいですか?

<?php 
    while($row = mysqli_fetch_array($search_result)):?> 
    <?php 
     $sum=$sum+$row['value']; 
    ?> 
    <tr> 
     <td><?php echo $row['id'];?></td> 
     <td><?php echo $row['time'];?></td> 
     <td><?php echo $row['value'];?></td> 
    </tr> 
<?php endwhile;?> 

:コードの一部は、私のPHPファイルに以下の通りです。それをクリックすると、私は合計値を表示する必要があります。どうやってやるの?

<form action="php_html_table_data_filter3.php" method="post"> 
    From:<input type="text" name="valueToSearch1"><br><br> 
    To:<input type="text" name="valueToSearch2"><br><br> 
    <input type="submit" name="search" value="Filter"><br><br> 
    <button type="button">Total</button><br><br> 
</form> 
+0

の.html&.phpファイルは別のものですか? – pAsh

+0

@pAshファイルは別々です – Navya

+0

隠しフィールドに値を割り当てます。 「Total」ボタンをクリックすると、隠しフィールドから値を取得し、必要な場所に表示します。 – vijay

答えて

0

私はそれが正しい場合は、ページをリロードせずに結果を表示したい場合は、メソッド

$sum = 0; 

    while($row = mysqli_fetch_array($search_result)):?> 

     $sum+= $row['value']; 

    <?php endwhile;?> 

    echo $sum; 

または

下に従って、あなたは合計を表示することを前提としていたよう。あなたはajaxリクエストでコーディングする必要があります。

+0

しかし、私は同じフォームのページ自体にそれを表示したい – Navya

+0

その後、jQueryを使ってonclick ajaxリクエストをコーディングする必要があります。 –

0

私たちは、PHPページからコンテンツにアクセスするために、HTMLページにAJAXを使用します。

HTML: 
<html> 
<script src="jquery.min.js"></script> // script download 
<form action="php_html_table_data_filter3.php" method="post"> 
    From:<input type="text" name="valueToSearch1"><br><br> 
    To:<input type="text" name="valueToSearch2"><br><br> 
    <input type="submit" name="search" value="Filter"><br><br> 
    <button type="button" id="total">Total</button><br><br> 
    Your sum:<span id="sum"></span> 
</form> 
</html> 
<script> 
$("#total").click(function() { 
    $.ajax({ 
     url : "phptest.php", 
     type: "POST", 
     success: function(data) 
     { 
      $('#sum').html(data); 
     } 
    }); 
}); 
</script> 

PHP: here your php code 
<?php 
echo "10"; 
?> 
0

あなたはPHP SESSIONsを使用して、あなたはPOSTリクエストで送信している情報を再生する必要があります。基本的には、両方のボタンが両方ともプロセス(process.php)にリクエストを送信するように、両方のボタンがsubmit型である必要があります。その後、セッションを使用して結果を設定できます。

この方法でそれを実行します。

のindex.php

<?php session_start(); ?> 
<form action="process.php" method="post"> 
    From:<input type="text" name="valueToSearch1"><br><br> 
    To:<input type="text" name="valueToSearch2"><br><br> 
    <input type="submit" name="search" value="Filter"><br><br> 
    <button name="total_btn" type="submit">Total</button> 
</form> 

<div id="results"> 
    <?= (!empty($_SESSION["table"])) ? $_SESSION["table"] : "" ?> 
    <br> 
    <?= (!empty($_SESSION["sum"])) ? "Sum: " . $_SESSION["sum"] : "" ?> 
</div> 
<?php 
session_destroy(); 

process.php

<?php 
session_start(); 

$sum = 0; 
$table = "<table>"; 
while ($row = mysqli_fetch_array($search_result)) { 
    $sum += $row['value']; 
    $table .= "<tr> 
        <td>{$row['id']}</td> 
        <td>{$row['time']}</td> 
        <td>{$row['value']}</td> 
       </tr>"; 
} 
$table .= "</table>"; 

if (isset($_POST['total_btn'])) { 
    $_SESSION["sum"] = $sum; 
} 
$_SESSION["table"] = $table; 
header('Location: index.php'); 
-1

を私が正しくあなたの問題を理解していれば、uはAjax呼び出しを必要とします。 GETまたはPOSTあなたのpreferences.onに基づいてあなたのHTMLコードはPHPコードから基本的にPHPコードは、Ajaxの呼び出しに応答し、あなたを与えるとは別になります。

Test.htmlという コード - 修正

<form action="php_html_table_data_filter3.php" method="post"> 
     From:<input type="text" name="valueToSearch1"><br><br> 
     To:<input type="text" name="valueToSearch2"><br><br> 
     <input type="submit" name="search" value="Filter"><br><br> 
     <button type="button" id="gettotal">Total</button><br><br> 

    </form> 

<script> 

$("#gettotal").click(function(e) { 
    e.preventDefault(); 
    $.ajax({ 
    type: 'GET',//based on your choice or requirement 
    url: 'calculate.php', 
    success: function(response) { 
     //here u decide where to show output value 

     alert(response); 

    }, 
    error: function(result) { 
      alert('error'); 
     } 
    }); 
}); 

</script> 

calculate.php

<?php 
$sum = 0; 
    while($row = mysqli_fetch_array($search_result)) 
    { 
    //calculate your total and send back as JSON obj. 
     $sum=$sum+$row['value']; 
    } 
echo json_encode($sum); 
?> 
+0

合計は次のページに表示されます – Navya

関連する問題