[英]Toggle display / hide and Button to new page to show certain field of record in php
我希望不顯示查詢記錄的所有字段。 我希望查詢中的一個按鈕記錄到新頁面以顯示該字段。 和按鈕切換顯示一個字段。
我無法弄清楚新頁面按鈕的操作代碼。 而且我只能切換顯示/隱藏第一條記錄。
在這里閱讀了一些答案之后,我認為問題應該是記錄的ID,我的代碼沒有為每個記錄分配唯一的ID。 似乎我不知道如何解決。 至於新頁面的按鈕,我卡住了。
下面是到新頁面的按鈕,以echo $row['contact']
<?php
$data = mysqli_query($conn, $query) or die('error');
if(mysqli_num_rows($data) > 0){
while($row = mysqli_fetch_assoc($data)){
$status = $row['status'];
$area = $row['area'];
$address = $row['address'];
?>
<tr>
<td><form method="post" name="dataid" value="'.$row->new_id.'"><input
type="submit" name="submit1"></form></td>
<td><?php echo $row['status'];?></td>
<td><?php echo $row['area'];?></td>
<td><?php echo $row['address'];?></td>
</tr>
下面的意思是切換顯示/隱藏$row['contact']
<?php
$data = mysqli_query($conn, $query) or die('error');
if(mysqli_num_rows($data) > 0){
while($row = mysqli_fetch_assoc($data)){
$status = $row['status'];
$area = $row['area'];
$address = $row['address'];
?>
<tr>
<td>
<div id=1 onclick="document.getElementById('body_1').style.display=
(document.getElementById('body_1').style.display=='none'? 'block':'none')">Click</div>
<div id="body_1" style="display:none; border:2px solid green;"><?php echo $row['contact'];?></div>
</td>
<td><?php echo $row['status'];?></td>
<td><?php echo $row['area'];?></td>
<td><?php echo $row['address'];?></td>
</tr>
我的按鈕尚無法使用。 並且僅切換顯示/僅隱藏第一條記錄
我嘗試使用此代碼來按鈕/鏈接到我的記錄的某些字段:
a href =“ detail.php?new_id =”>點擊
在detail.php中:
<?php
if(isset($_GET['new_id']) && $_GET['new_id'] !== ''){
$new_id = $_GET['new_id'];
echo $new_id;
echo $contact;
} else {
echo "failed";
}
?>
Result : I can display the $new_id, but unable to display $contact
此代碼不適用於id
“ body_1”的多個div
元素的原因有兩個:
HTML中的id
是唯一的。 這意味着,您的DOM
可能只有一個具有特定id
HTML元素。
JS選擇器getElementById()
將僅返回一個具有指定id
元素。 那是因為id
應該是唯一的。
如果$row
數組包含id元素(如果數據庫表中的列具有唯一標識符(id)),則可以使用此值為HTML elements
賦予其唯一ID。
我個人並不喜歡使用這樣的內聯JS代碼。 我傾向於將其保存在單獨的.js
文件中,以提高可讀性和緩存目的,但是如果您的行包含可以由$row['id']
訪問的ID,則以下代碼可以為您提供幫助:
$data = mysqli_query($conn, $query) or die('error');
if (mysqli_num_rows($data) > 0) {
while ($row = mysqli_fetch_assoc($data)) {
$status = $row['status'];
$area = $row['area'];
$address = $row['address'];
?>
<tr>
<td>
<div onclick="document.getElementById('<?= 'body_' . $row['id'] ?>').style.display=
(document.getElementById('<?= 'body_' . $row['id'] ?>').style.display==='none'? 'block':'none')">Click
</div>
<div id="<?= 'body_' . $row['id'] ?>" style="display:none; border:2px solid green;"><?php echo $row['contact']; ?></div>
</td>
<td><?php echo $row['status']; ?></td>
<td><?php echo $row['area']; ?></td>
<td><?php echo $row['address']; ?></td>
</tr>
<?= 'text' ?>
是<?php echo 'text' ?>
echo'text <?= 'text' ?>
的簡寫。 我還使用了三等號===
而不是==
來比較樣式屬性display
是否由於測試平等而將其值設置為“ none”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.