2016-11-16 1 views
2

私はHTMLページを作成してPHPを使用してデータベースからデータを取り出し、作成したテーブルに格納します。どのように私はそれを得ることができるので、ユーザーがボタンをクリックすると、それはphpを使用してテーブルの行に従って特定のタスクをプリフォームするでしょうか?PHPテーブルを作成し、ユーザーがテーブルから情報を取得できるようにします

私はデータベースから情報を取り出し、HTMLテーブルに新しい行を作成したいと考えています。それらの行にはデータベースからのデータがあり、各行にはボタンもあります。ユーザーがそのボタンをクリックすると、変数$ namで表される指定された '名前'を使用して関数を呼び出すようにします。

<?php 
    ob_start(); 
    session_start(); 
    require_once 'dbconnect.php'; 
    if(!isset($_SESSION['user'])) { 
     header("Location: index.php"); 
     exit; 
    } 
    $deny = array("222.222.222", "333.333.333"); 
    if (in_array ($_SERVER['REMOTE_ADDR'], $deny)) { 
     header("location: http://www.google.com/"); 
     exit(); 
    } 
    $res=mysqli_query($con,"SELECT * FROM users WHERE userId=".$_SESSION['user']); 
    $userRow=mysqli_fetch_array($res); 
?> 
<!DOCTYPE html> 
<html> 
    <?php header("Access-Control-Allow-Origin: http://www.py69.esy.es"); ?> 
    <head> 
     <title>ServiceCoin</title> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <link rel="stylesheet" href="assets/css/bootstrap.min.css" type="text/css" /> 
     <link rel="stylesheet" href="scripts/home/index.css" /> 
    </head> 
    <body> 
     <center> 
     <h3>Welcome, <?php echo $userRow['userName']; ?>. You Currently Have <span id="services"><?php echo $userRow['userServices']; ?></span> Services</h3> 
     <p id="error"></p> 
     <button onclick="send_coins()" class="button">Send Coins</button> 
     <button onclick="create_service()" class="button">Create A Service</button> 
     <button onclick="send_coins()" class="button">My Services</button> 
     <h3>View Services</h3> 
     <span><?php 
     $users = 1; 
     $num = 1; 
     echo "<center><table width=1000><th>Buy</th><th>Service Name</th><th>Service Cost</th><th>Service Description</th><th>Service Provider Name</th>"; 
     while($users < 100 && $num < 100){ 
      $res=mysqli_query($con,"SELECT * FROM users WHERE userId=".$users); 
      $userRow=mysqli_fetch_array($res); 
      $id = 0; 
      while($id != 10){ 
       $id = $id + 1; 
       if($userRow['userService'.$id] === 'null'){ 
       }else if(!empty($userRow['userService'.$id])){ 
        echo "<tr><td name=$num ><input type=submit value=buy ></td><td class=services width=250 align=center>".$userRow['userService'.$id]."</td><td class=services width=250 align=center>".$userRow['userServiceCost'.$id]."</td><td class=services class=services width=500 align=center>".$userRow['userServiceDes'.$id]."<td class=services width=500 align=center>".$userRow['userServiceName'.$id]."</tr>"; 
        //echo $id."Error: ".$con->error; 
        $num = $num + 1; 
        $id = $id + 1; 
       } 
      } 
      $users = $users + 1; 
     } 
     echo "All Services Loaded"; 
     echo "</table></center>"; 
     ?></span> 
      <span class="text-danger"><?php echo $msg; ?></span> 
     </center> 
    </body> 
    <script lang="text/javascript" src="scripts/home/index.js"></script>  
</html> 
<?php ob_end_flush(); ?> 
+0

かなり広いですが、本質的には、テーブル行にフォームを作成し、それらのフォームにサブミットボタンを配置することをお勧めします。フォームを送信するとPHPページが呼び出され、そのフォームのデータがPHPページに提供されます。 – David

+0

javascriptを使って 'task'や簡単なフォームの投稿を開始しますか? – RamRaider

+0

はい、あなたが言っているように、私はそれを更新して、できるだけ多くの情報を入れようとしています。 –

答えて

0

第1に、Ajaxという名前を使用せずにユーザーアクションでPHP関数を呼び出すことはできません。これは、HTMLコードがユーザーのWebブラウザーに提供されると、それはクライアント側であり、Javascriptを介して関数コードを含むphpファイルを呼び出さない限り、クリックするボタンはサーバーから情報を要求することを許可しない(新しいページでない限り) (Ajaxを使用して)。例えば

、「functions.js」ファイルを作成し、次のコードを挿入します。

function FuncName(NameOfRow){ 
       $.post('phpfunctionfile.php', {NameOfRow: NameOfRow}, function(data) { 
        if(data==1){ 
         //Some sort of code, maybe display a modal with some sort of control panel to do something. 
        } 
       } 
} 

そして、PHPファイルのコードで、あなたの関数や変数としてあなたが好きなエコーバック「データを」(エコー$データ;)。もちろん、このファイルの新しいページなどにリダイレクトすることができます。

userServiceName '。$ idに応じて各関数を呼び出すと仮定して、元のコードでは、この値をパラメータとして使用してJavascript関数を呼び出すテーブル内の一意のキーであれば$ idです。私は次のコードをテストしておらず、実際にあなたが望むものかどうかはわかりませんが、次のコードからそのアイデアを得て、それをあなたが作成しているものに適応できるようにしてください。

echo "<tr><td name=$num onClick="FuncName('".$userRow['userServiceName'.$id]."' ><input type=submit value=buy ></td><td class=services width=250 align=center>".$userRow['userService'.$id]."</td><td class=services width=250 align=center>".$userRow['userServiceCost'.$id]."</td><td class=services class=services width=500 align=center>".$userRow['userServiceDes'.$id]."<td class=services width=500 align=center>".$userRow['userServiceName'.$id]."</tr>"; 

これは明確な説明ではありません。私が以前にやったことをよりうまく示してくれるコードを喜んで提供します。

関連する問題