簡體   English   中英

使用PHP(和HTML)更新Mysql的HTML表單

[英]HTML form to update Mysql with PHP (and HTML)

我一直在努力開發一個人們可以添加列表的房地產頁面。 我是php mysql世界的新手。 我已經解決了這個問題超過一天,無法找出問題所在。 我有一個人們可以添加數據的表單。 這很好,也很有效。 現在我開始有一個人們可以添加/刪除/更新他們的信息的地方。 我正在嘗試逐步構建它。

這是用戶可以提取信息的地方。 我的問題是代碼片段:

edit_form.php?idBAR=$row[id]. 

完整代碼如下。

<table>
  <tr>
    <td align="center">EDIT DATA</td>
  </tr>
  <tr>
    <td>
      <table border="1">
      <?php
      include"configS_OH.php";//database connection
      $order = "SELECT * FROM braaasil_brokerstour.property";
      $result = mysql_query($order);
      while ($row=mysql_fetch_array($result)){
          echo ("<tr><td>$row[id]</td>");
        echo ("<td>$row[address]</td>");
        echo ("<td>$row[day]</td>");
        echo ("<td>$row[hours]</td>");
        echo ("<td><a href=\"edit_form.php?idBAR=$row[id]\">Edit</a></td></tr>");
      }
      ?>
      </table>
    </td>
   </tr>
</table>

然后本教程嘗試通過地址欄傳遞id(我不太了解php實際說多少)

它會嘗試將數據上傳到一個人可以編輯信息的新表單中。 但我無法將數據加載到新表單中。 如果我使用id = 7的地方,我會將信息輸入表格。 但是這種在地址欄中傳遞信息的方法,如?idBAR = 8 ...然后嘗試在其他代碼(其中id = $ idBAR)中捕獲它,是行不通的。 這是代碼:

<table border=1>
  <tr>
    <td align=center>Form Edit Employees Data</td>
  </tr>
  <tr>
    <td>
      <table>
      <?php
      include "configS_OH.php";//database connection
      print $database;
      $order = "SELECT * FROM braaasil_brokerstour.property 
WHERE id='$idBAR'";
print $idBAR;
      $result = mysql_query($order)  or die( mysql_error() );
      $row = mysql_fetch_array($result);

      ?>
      <form method="post" action="edit_data.php">
      <input type="hidden" name="idBAR" value="<?php echo "$row[id]"?>">
        <tr>        
          <td>Address</td>
          <td>
            <input type="text" name="address" 
        size="20" value="<?php echo "$row[address]"?>">
          </td>
        </tr>
        <tr>
          <td>Date</td>
          <td>
            <input type="text" name="day" size="40" 
          value="<?php echo "$row[day]"?>">
          </td>
        </tr>
        <tr>
          <td>Time</td>
          <td>
            <input type="text" name="time" size="40" 
          value="<?php echo "$row[hours]"?>">
          </td>
        </tr>
        <tr>
          <td align="right">
            <input type="submit" 
          name="submit value" value="Edit">
          </td>
        </tr>
      </form>
      </table>
    </td>
  </tr>
</table>

我試過試過試過..感謝您提前的時間。

WHERE id='$idBAR'

您尚未$idBAR分配任何值。 您需要先從$ _GET數組中讀取它:

$idBAR = $_GET['idBAR'];

當然,您應該首先檢查此值是否存在,並且是可接受的。

我沒有看到你實際使用GET數據的任何地方,只是在GET中使用的引用名稱。

如果您的第一個查詢正在運行並且正在獲取$row['id']值,那么您可以在轉到edit_form.php時驗證這一點,在頂部的瀏覽器URL欄中,它是否會這樣說:

edit_form.php?idBAR=7

(或者應該有什么號碼)

如果是這樣,那么你只需要使用PHP GET。 您的數據存儲在$_GET[] ,在這種情況下,引用名稱為idBAR。 因此,您之前頁面查詢中的ID將通過鏈接發送到您的URL中,並且在edit_form.php頁面上,您將使用以下數據:

$_GET['idBAR']

您可以使用它,但我個人將數據分配給變量,例如:

$strGetId = $_GET['idBAR'];

然后你可以在整個代碼中使用$strGetId 另外,檢查諸如isset()empty()等之類的東西,只是因為你知道你正在使用A)實際上有東西,而且B)它不是空的等等

如果你將一個變量直接放在一個沒有連接的字符串中,它就不能是一個數組變量; 你必須連接那些你需要的東西。 所以這

echo ("<td><a href=\"edit_form.php?idBAR=$row[id]\">Edit</a></td></tr>");

應該是這個

echo ("<td><a href=\"edit_form.php?idBAR=".$row['id']."\">Edit</a></td></tr>");

此外,您的表單看起來像是使用POST發送數據。 當您在問號后面的url字符串中傳遞表單數據時,即使用get傳遞。

所以...在您希望使用該變量的表單中,您可以像這樣設置它

$idBAR=$_GET['idBAR']; //to get the variable if it was part of the URL

$idBAR=$_POST['idBAR']; //if it was sent with post, as is the case with your form

另外,請求包含get和post,所以

$idBAR=$_REQUEST['idBAR'];

將適用於任何一種情況。

問題是$ row [id]被視為文本就像其他一切一樣。 你想要$ row [id]的值。 代替

echo ("<td><a href=\"edit_form.php?idBAR=$row[id]\">Edit</a></td></tr>");

嘗試

echo ("<td><a href=\"edit_form.php?idBAR=" . $row[id] . "\">Edit</a></td></tr>");

暫無
暫無

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

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