1

人々がリストを追加できる不動産ページを開発しようとしています。私はphp mysqlの世界に不慣れです。私はこの問題を 1 日以上解決してきましたが、どこに問題があるのか​​わかりません。人々がデータを追加できるフォームがあります。それはうまく機能しています。今、私は人々が自分の情報を追加/削除/更新できる場所を持ち始めています. 私はこれを段階的に構築しようとしています。

これは、ユーザーが情報を取得できる場所です。私の問題はコードの一部にあります:

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 についてあまり知りません)。

人が情報を編集できる新しいフォームにデータをアップロードしようとします。しかし、データを新しいフォームにロードできません。where 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>

私は試行錯誤を試みました.. 事前にお時間をいただきありがとうございます。

4

4 に答える 4

1

GET データを実際に使用した場所はどこにもありません。GET で使用される参照名だけです。

最初のクエリが機能し、$row['id']値が正常に取得されている場合は、ブラウザーの上部にある URL バーで edit_form.php に移動すると、次のように表示されます:

edit_form.php?idBAR=7

(またはそこにあるはずの数字)

その場合は、PHP GET を使用するだけです。データは に保存されます$_GET[]。この場合、参照名は idBAR です。したがって、前のページ クエリからの ID はリンクを介して URL に送信され、edit_form.php ページでは、そのデータを次のように使用します。

$_GET['idBAR']

それを使用できますが、個人的には次のような変数にデータを割り当てます。

$strGetId = $_GET['idBAR'];

$strGetIdその後、コード全体で使用できます。また、 などをチェックisset()empty()て、A) 何かが実際にそこにあり、B) 空ではないなどの作業を行っていることを確認します。

于 2013-08-25T02:46:23.670 に答える
0

問題は、$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>");
于 2013-08-25T02:45:41.283 に答える