簡體   English   中英

放入表后從mysql_fetch_assoc中選擇記錄

[英]select record from mysql_fetch_assoc after putting into table

不確定這是否可行,但是我剛剛滾動了自己的用戶搜索表單,該表單僅查詢​​我的數據庫並使用給定的用戶名或使用LIKE'some_username%'語句返回的所有結果返回所有結果。

我的搜索效果很好,由於我是php和mysql新手,因此我真的很高興。

我使用mysql_fetch_assoc($ result)語句,然后使用while循環將數據庫中的每一行回顯到html表中。

然后,我想做的就是從表中選擇一條記錄,然后打開一個新頁面,該頁面中填充了該記錄的所有字段,然后可以用來編輯和更新用戶設置。

我想也許是這樣做的一種方法,或者是回顯某種形式? 這樣,我可以在每行旁邊放置一個按鈕,以將字段發布到新頁面上的一些php代碼中? 我認為這可能有些笨拙,並且不確定如何對每一行回顯不同的形式。

不知道是否有人對實現此目標的最佳方法有任何想法? 如果您需要任何與我一起工作的代碼示例,我可以在此處發布。

非常感謝!! 埃茲

不是表格而是超鏈接。
我想知道為什么您不熟悉這種打開新頁面的方式,因為這種方式到處都是。

只需創建一個超鏈接

<a href="edit.php?id=1">name</a>

這是此類應用程序的草圖示例,僅編輯一個字段,但您也可以添加任何數字:

主要腳本:

<?  
mysql_connect(); 
mysql_select_db("new"); 
$table = "test"; 
if($_SERVER['REQUEST_METHOD']=='POST') { //form handler part: 
  $name = mysql_real_escape_string($_POST['name']); 
  if ($id = intval($_POST['id'])) { 
    $query="UPDATE $table SET name='$name' WHERE id=$id"; 
  } else { 
    $query="INSERT INTO $table SET name='$name'"; 
  } 
  mysql_query($query) or trigger_error(mysql_error()." in ".$query); 
  header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);  
  exit;  
}  
if (!isset($_GET['id'])) { //listing part: 
  $LIST=array(); 
  $query="SELECT * FROM $table";  
  $res=mysql_query($query); 
  while($row=mysql_fetch_assoc($res)) $LIST[]=$row; 
  include 'list.php'; 
} else { // form displaying part: 
  if ($id=intval($_GET['id'])) { 
    $query="SELECT * FROM $table WHERE id=$id";  
    $res=mysql_query($query); 
    $row=mysql_fetch_assoc($res); 
    foreach ($row as $k => $v) $row[$k]=htmlspecialchars($v); 
  } else { 
    $row['name']=''; 
    $row['id']=0; 
  } 
  include 'form.php'; 
}  
?>

和兩個簡單​​的模板負責輸出,
一個用於顯示表單,form.php

<? include TPL_TOP ?>
<form method="POST">
<input type="text" name="name" value="<?=$row['name']?>"><br>
<input type="hidden" name="id" value="<?=$row['id']?>">
<input type="submit"><br>
<a href="?">Return to the list</a>
</form>
<? include TPL_BOTTOM ?>

還有一個顯示列表,list.php

<? include TPL_TOP ?>
<a href="?id=0">Add item</a>
<? foreach ($LIST as $row): ?>
<li><a href="?id=<?=$row['id']?>"><?=$row['name']?></a>
<? endforeach ?>
<? include TPL_BOTTOM ?>

總是像這樣啟動PHP <?php,通常php手動配置不支持像這樣的短標簽<?。 對於超鏈接,只需使用視圖記錄即可。它只是查詢字符串,並在下一頁上獲得ID,例如$ id = $ _GET ['id']; 希望你能明白..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM