-5
<?php
echo "<html><form name=form1 method=post>";
$c = mysql_connect("localhost","root","");
mysql_select_db("test", $c);
$query = mysql_query("select * from age");
while ($s = mysql_fetch_row($query))
{
    echo "<table><tr><td>Name   :<textarea rows=5 cols=5 name=name>$s[0] </textarea></td></tr><tr><td>Age   :<textarea rows=5 cols=5 name=age>$s[1] </textarea></td></tr><tr><td><input type=submit value='click' name=submit></td></tr></table>";
}
if(isset($_POST['submit']))
{
    $name = $_POST['name'];
    $age = $_POST['age'];
    echo "name is $name"." age is $age";
}
echo "</form></html>";
?>

ここのテストテーブルには、名前と年齢の4つのエントリがあります....その名前と年齢を取得してテキストエリアに配置し、テーブルごとに1つのボタンを作成しました..そのボタンをクリックすると、最後のエントリが取得されますデータベース..しかし、対応する名前と年齢が欲しい..助けてください

4

1 に答える 1

2

<form>現在、すべてのエントリに1 つの大きな要素を使用しています。そのフォームを送信すると、実際の値が何度も上書きされ、最後の値だけが表示されます。

これを解決するには、たとえば、次のようにすべてのエントリからフォームを作成します。

echo "<html>";

$c = mysql_connect("localhost", "root", "");
mysql_select_db("test", $c);
$query = mysql_query("select * from age");

while ($s = mysql_fetch_row($query))
{
    echo "<form method=post><table><tr><td>Name   :<textarea rows=5 cols=5 name=name>$s[0] </textarea></td></tr><tr><td>Age   :<textarea rows=5 cols=5 name=age>$s[1] </textarea></td></tr><tr><td><input type=submit value='click' name=submit></td></tr></table></form>";
}

if (isset($_POST['submit']))
{
    $name = $_POST['name'];
    $age=$_POST['age'];
    echo "name is $name";
    echo "age is $age";
}
// ... rest of the code ...

とにかく、mysql使用する関数は非推奨です。PDOまたはmysqli代替として見てください!

于 2013-05-24T06:39:11.563 に答える