2016-05-05 9 views
1

テーブルからdbのデータが入力されたときに、各クエリのチェックボックスをオンにしたい場合は、各クエリ結果の予約を確認するチェックボックスもあります。データベースからデータをフェッチするテーブルにチェックボックスを含むPHPファイルですか?

picture of what I wish to do

私も一度、単一のチェックボックスが選択されているスクリプトを作成する方法を知りたい、私が提出をクリックして、それが値(route_no、to_city、from_cityと価格を表示する別のページに私を取ります)を選択し、そのチェックボックスに対応するroute_noを選択します。 route_noはauto_incrementingであり、主キー(0から49までのroute_noの範囲の値)です。

これは私のHTMLフォーム

<html> 
<head> 
<script> 
function showUser(str) { 
    if (str == "") { 
     document.getElementById("txtHint").innerHTML = ""; 
     return; 
    } else { 
     if (window.XMLHttpRequest) { 
      // code for IE7+, Firefox, Chrome, Opera, Safari 
      xmlhttp = new XMLHttpRequest(); 
     } else { 
      // code for IE6, IE5 
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     xmlhttp.onreadystatechange = function() { 
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
       document.getElementById("txtHint").innerHTML = xmlhttp.responseText; 
      } 
     }; 
     xmlhttp.open("GET","display.php?q="+str,true); 
     xmlhttp.send(); 
    } 
} 
</script> 
</head> 
<body> 

<form> 
<select name="to_city" onchange="showUser(this.value)"> 
    <option value="">Select a person:</option> 
    <option value="Sydney">Sydney</option> 
    <option value="Brisbane">Brisbane</option> 
    <option value="Adelaide">Adelaide</option> 
    <option value="Newcastle">Newcastle</option> 
    </select> 
</form> 
<br> 

</body> 
</html> 

以下は、私がacheiveにしたいかを示したテキストを持っている私のPHPファイル、です。テキストはコメントアウトされています。

<!DOCTYPE html> 
<html> 
<head> 
<style> 
table { 
    width: 100%; 
    border-collapse: collapse; 
} 

table, td, th { 
    border: 1px solid black; 
    padding: 5px; 
} 

th {text-align: left;} 
</style> 
</head> 
<body> 

<?php 
$q = strval($_GET['q']); 

$con = mysqli_connect('localhost','root','','mydb'); 
if (!$con) { 
    die('Could not connect: ' . mysqli_error($con)); 
} 

mysqli_select_db($con,"flights"); 
$sql="SELECT * FROM flights WHERE to_city = '".$q."'"; 
$result = mysqli_query($con,$sql); 

echo "<table> 
<tr> 
<th>Route_no</th> 
<th>to_city</th> 
<th>from_city</th> 
<th>price</th> 
<th>Confirm</th> 
</tr>"; 
while($row = mysqli_fetch_array($result)) { 
    echo "<tr>"; 
    echo "<td>" . $row['route_no'] . "</td>"; 
    echo "<td>" . $row['to_city'] . "</td>"; 
    echo "<td>" . $row['from_city'] . "</td>"; 
    echo "<td>" . $row['price'] . "</td>"; 
/// I want a checkbox here for each query that way when the table is populated with data from the db, there is also a checkbox to confirm that booking for each query result. 
    echo "</tr>"; 
} 
echo "</table>"; 
mysqli_close($con); 
?> 
</body> 
</html> 

答えて

1

あなたのPHPコードの本文セクションを編集します。さてあなたは既に適切な場所に注釈を持って

$("input:checkbox").change(function(){ 
    var group = ":checkbox[name='"+ $(this).attr("name") + "']"; 
    if($(this).is(':checked')){ 
     $(group).not($(this)).attr("checked",false); 
    } 
}); 
+0

に入力タイプを変更することが表示されます。エラー解析:「」期待し、構文エラー、予期しない「のチェックボックス」(T_STRINGを)または 『;』 C:\ wamp64 \ www \ display.php 29行目 –

+0

答えを編集しました。今すぐ確認してください。@ Novice_29 – Bhugy

+0

構文解析エラー:予期しない 'echo'(T_ECHO)、 '、'または ';' C:\ wamp64 \ www \ display.php on line 30 –

1

:もちろん

echo "<form>"; 
while ($row = mysqli_fetch_array($result)) { 
    echo "<tr>"; 
    echo "<td>" . $row['route_no'] . "</td>"; 
    echo "<td>" . $row['to_city'] . "</td>"; 
    echo "<td>" . $row['from_city'] . "</td>"; 
    echo "<td>" . $row['price'] . "</td>"; 
    echo "<td><input type='checkbox' name='checkbox_id' value='" . $variable_that_has_id . "'> </td>"; 
    echo "</tr>"; 
} 
echo "</form>"; 

あなたは交換する必要があります試してみて、ここ

<body> 

<?php 
$q = strval($_GET['q']); 

$con = mysqli_connect('localhost','root','','mydb'); 
if (!$con) { 
    die('Could not connect: ' . mysqli_error($con)); 
} 

mysqli_select_db($con,"flights"); 
$sql="SELECT * FROM flights WHERE to_city = '".$q."'"; 
$result = mysqli_query($con,$sql); 

echo "<table> 
<tr> 
<th>Route_no</th> 
<th>to_city</th> 
<th>from_city</th> 
<th>price</th> 
<th>Confirm</th> 
</tr>"; 
while($row = mysqli_fetch_array($result)) { 
    echo "<tr>"; 
    echo "<td>" . $row['route_no'] . "</td>"; 
    echo "<td>" . $row['to_city'] . "</td>"; 
    echo "<td>" . $row['from_city'] . "</td>"; 
    echo "<td>" . $row['price'] . "</td>"; 
echo "<td><input type=\"checkbox\" name=\"example\" class=\"radio\" value=\"example\"></td>"; 
    echo "</tr>"; 
} 
echo "</table>"; 
mysqli_close($con); 
?> 
</body> 

は、jQueryの一部であることがわかり$variable_that_has_id$row[]がデータベースのIDと相関しています。

その後、送信ボタンを作成してフォームを使用して同じページ(または別のページ)にデータを投稿し、$_POST変数を使用してフォームでチェックして送信した値を取得できます。

htmlでフォームを作成し、$ _POSTを使用することに精通していることを強くお勧めします。

あなただけにユーザーを許可する場合は1つのオプションを選択し"radio"