2016-03-26 9 views
3

タイトルは最適ではありませんが、これは私が考えることができる最高のものです。 EDITをお勧めします。PHP + HTMLテーブル:テーブルの各セルから適切なMySqlクエリを起動

概要:

私は、データベースから様々な項目のグリッドを表示するためにRecyclerViewを使用しているAndroidの開発から来ています。そこではonClickListener()Positionを使用して、RecyclerViewの商品(1,2,3番目..)をクリックして処理を進めることができます。

設定します。

私はウェブ開発に新しいですし、はるかに私がHTMLテーブルを作成するために管理していると私は、データベースから項目を取得するために適切なクエリを発射しています。私はその後、各テーブルセルのデータベースからこれらのデータを表示しています。データは、画像リンク(同じディレクトリ内のフォルダから)と、その画像に関する他のテキストデータで構成されます。私のテーブルは、このようなものに見えます。 Click here

問題:

私は、ユーザーがその上でクリックしたときに、クエリの火災はDBにその項目ブールisAcceptedを設定するようなテーブルの各セルにAcceptのようなオプションを追加したいです真実として。私はクエリ部分を管理することができますが、私はこれを私のPHPスクリプトで設定する方法に問題に直面しています。

私はどうしますか?

準備が整ったコードを手に入れないと、それは絶対に問題ありません。私は、使用する技術と、可能であればガイドチュートリアルへのリンクとして導かれたいと思っています。私はそれがPHPとHTMLだけusngを行うことができることを願っています。

私のPHPスクリプト:

<table id="customers"> 
<?php 

$MAX_COLS = 5; 

$query = "select * FROM `complaints`"; 
$result = mysqli_query($conn,$query); 

$i = 0; 
while($row = mysqli_fetch_row($result)){ 
    if($i % $MAX_COLS == 0){ 
     echo "<tr>"; 
    } 
    echo "<td>"; 
    echo "<img src='SCB2/Images/temp2.jpg' alt='Sample image' style='width:200px;height:200px;' >"; 
    echo "<br>"."Image ID: ".$row[0]; 
    echo "<br>"."Latitude: ".$row[2]; 
    echo "<br>"."Longitude: ".$row[3]; 
    echo "<br>"."Zip: ".$row[4]; 
    echo "<br>"."Done by: ".$row[8]; 
    echo "<td>"; 
    $i++; 
    if($i % $MAX_COLS == 0){ 
     echo "</tr>"; 
    } 
} 
?> 
</table> 
+2


」は有効なHTMLではありません。 「
」または単に「
」のいずれかである必要があります。また、なぜあなたはそのような文字列を連結していますか?
Image ID:{$ row [0]} "; ' –

+0

@ SverriM.Olsenこの連結は間違っていますか?私はオンラインチュートリアルに従っていて、私に指示されました。 –

+0

すべてのブラウザで動作します –

答えて

2

あなたが出力され、HTMLへのリンクを追加することができます。

echo "<td>"; 
// ... 
echo "<br><a href='/some/path/to/accept.php?imageid={$row[0]}'>Accept</a>"; 
echo "<td>"; 

そして受け入れるファイルにあなたはそれに対処することができます

// /some/path/to/accept.php 

// Get the image id from the query string 
$imageid = filter_input(INPUT_GET, 'imageid', FILTER_VALIDATE_INT); 

try { 
    // Create a database connection 
    $db = new PDO(
     'mysql:dbname=databaseName;host=localhost', 
     'username', 'pa55w0rd', 
     array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION) 
    ); 
    // Create a prepared statement and bind the image id to it 
    $stmt = $db->prepare('UPDATE complaints SET isAccepted = 1 WHERE Id = :id'); 
    $stmt->bindValue(':id', $imageid, PDO::PARAM_INT); 

    // Execute the statement 
    if ($stmt->execute()) { 
     die('SUCCESS!'); 
    } else { 
     die($stmt->error); 
    } 
} 
catch (\PDOException $e) { 
    die('PDO Exception: ' . $e->getMessage()); 
} 

ユーザーが画像を受け入れることが許可されているかどうかを確認する必要があります。

+0

お返事ありがとうございます。私はこれを実装しようとします。さて、ページを更新することなく、テキストが「Not accepted」から「Accepted」に変わる各イメージの下にフィールドを追加することはできますか? –

+0

そうするためには、JavaScriptを書く必要があります。 StackOverflowには既にそれに関する多くの疑問があると確信しています。右上の検索ボックスを使用します。 –

関連する問題