[英]Get specific row with given ID from MySql using PHP
編輯:在收到一些幫助后,我編輯了一些部分,這里是 formlarigor2.php 文件,我收到新錯誤說 1)mysqli_stmt_bind_result() 至少需要 2 個參數,給定 1.... 2)mysqli_fetch_array() 需要參數 1 mysqli_result,C 中給出的 object .. 我想像給定的那樣布局頁面。 這就是我使用 td> 代碼的原因。有什么幫助嗎? :`
<?php
$conn = mysqli_connect("localhost","root","","son_fbe");
if (mysqli_connect_error()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit();
}
$formid = isset($_GET['formid ']) ? $_GET['formid '] : '';
if ($stmt = mysqli_prepare($conn, "SELECT * FROM derssaydirma WHERE formid = ?")) {
mysqli_stmt_bind_param($stmt, "s", $formid );
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt);
}
?>
<!DOCTYPE html>
<html lang="en">
<head> <title></title> </head>
<body> <table align="center" bordercolor="#CCCCCC" border="1" >
<?php
$i=0;
while($row = mysqli_fetch_array($stmt)) {
if($i%2==0)
$classname="even";
else
$classname="odd";
?>
<tr class="<?php if(isset($classname)) echo $classname;?>">
<td width="235">Form ID</td>
<td width="299"><?php echo $row["formid"]; ?></td>
</tr>
<tr class="<?php if(isset($classname)) echo $classname;?>">
<td>O_AdiSoyadi</td>
<td><?php echo $row["O_AdiSoyadi"]; ?></td>
</tr>
<tr class="<?php if(isset($classname)) echo $classname;?>">
<td>OgrenciNo</td>
<td><?php echo $row["OgrenciNo"]; ?></td>
</tr>
<tr class="<?php if(isset($classname)) echo $classname;?>">
<td>Program_BaslanilanDonem</td>
<td><?php echo $row["Program_BaslanilanDonem"]; ?></td>
</tr>
//There are about 20 more like this code block( <tr></tr> <?php
$i++;
}
?>
</table>
`
我有一個包含超過 25 列的表。 有一個頁面顯示 forms 等待批准。 在那種形式中,我不會顯示所有列,而是只顯示一些列。 我使用 PHP 代碼來做到這一點。 這是我的代碼。
有一部分說看到所有提交的 forms 和 go 到 forms。 我可以看到所有提交的,但是我看不到具體的行。 比如表格顯示formid、name等,我想獲取formid的2的信息,我該怎么做呢? `
使用表單 id 作為參數
<td width="174" class="centertext"><a href="formlarigor2.php?formid=<?php echo $row["formid"]; ?>"> Go to the form</a></td>
在 formlarigor2.php 中,您可以將其放在 php 的開頭。
$formid = isset($_GET['formid ']) ? $_GET['formid '] : '';
if ($stmt = mysqli_prepare($conn, "SELECT * FROM derssaydirma WHERE formid = ?")) {
/* bind parameters for markers */
mysqli_stmt_bind_param($stmt, "s", $formid );
/* execute query */
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $col1, $col2,$col3,$col4,$col5,$col6);
while (mysqli_stmt_fetch($stmt)) {
printf("%s %s\n", $col1, $col2);
}
}
獲取行部分通常在一個while循環中獲取多行。 但你只有一個
我猜“轉到表單”將在不同的頁面布局中顯示有關表單的更多信息。
所以 html 中的元素應該鏈接到另一個 php 頁面,該頁面詳細顯示了該表單。 該鏈接應采用所選表單的id
。
<td width="174" class="centertext"><a href="formlarigor2.php/?formId=<?php echo $row["formid"]; ?>"> Go to the form</a></td>
鏈接的 php 頁面將有如下查詢:
$formId = $_GET['formId'];
$stmt = $mysqli->prepare("SELECT * FROM derssaydirma where id = ?");
$stmt->bind_param("i", $formId);
$stmt->execute();
$result = $stmt->get_result();
使用 $result 可以進行詳細布局。
注意使用准備好的語句來避免 SQL 注入。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.