ホームページ  >  記事  >  バックエンド開発  >  php+mysqlを使用してループ内でフォームのコンテンツをデータベースに更新する方法

php+mysqlを使用してループ内でフォームのコンテンツをデータベースに更新する方法

WBOY
WBOYオリジナル
2016-06-13 13:15:13883ブラウズ

php+mysql ループでフォームのコンテンツをデータベースに更新する方法
現在、Web ページ上に 10 行などのテーブルを動的に作成する必要があります。フォームに入力した後、フォーム
を介して送信します。コードは以下の通りです。

PHPコード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->    
        echo "<form name=\"form1\" method=\"post\" action=\"process.php\"><table border='1' id=\"oTable\">
    <tr>
    <td>文件名</td>
    <td>文件大小</td>
    <td>播放时间1</td>
    <td>播放时间2</td>
    <td>播放时间3</td>
    </tr>";
    $i = 0;
    while($row = mysql_fetch_array($result))
    {
        echo "<tr>";
        echo "<td>" . $row['filename'] . "</td>";
        echo "<td>" . $row['filesize'] . "</td>";//数据表中已经有文件名和文件大小,但是播放时间都默认为0,通过网页修改来update数据库

        echo "<td><input name=\"<?php echo $i;$i++; ?>\" type=\"text\"></td>";
        echo "<td><input name=\"<?php echo $i;$i++; ?>\" type=\"text\"></td>";
        echo "<td><input name=\"<?php echo $i;$i++; ?>\" type=\"text\"></td>";
        echo "</tr>"; 
    }
        echo "<input name=\"submit\" type=\"submit\" value=\"保存\" />";
        echo "<br>";
        echo "<input name=\"cancel\" type=\"button\" value=\"取消\" onClick=\"window.location.href=\'admincentre.php\'\"/>";
        echo "</table></form>"; 




process.phpで処理したいのですが、
$w = 0;
while($row = mysql_fetch_array($result))
{
$filename = $row['filename'];
$time1 = $_POST["$w"];
$w++;
$time2 = $_POST["$w" ];
$w++;
$time3 = $_POST["$w"];
$w++;
echo "w=" .$w."
" ;
$sql = "ファイル情報の更新 SET time1='".$time1."',time2='".$time2."',time3='".$time3 ."' WHERE filename='".$ filename."'";
$re = mysql_query($sql) または die("error:".mysql_error());
echo $sql."-- -結果は次のようになります: ".$re.";
}

ポストされた $time1、$time2、$time3 はすべて null 値です。$time1 = $_POST[$ を変更するとw] は機能しません。$time1 = $ _POST['$w'] も機能しません。$_POST[] の値を変数にできるかどうか、またそれをどのように表現するかがわかりません。 。 。 。フォーム送信時の対処法! !

-----解決策--------------------------------
フロントページを確認して名前を付けてください 正しいですか?
------解決策---------
これを試してください
PHP コード
 $i = 0;
    while($row = mysql_fetch_array($result))
    {
        echo "<tr>";
        echo "<td>" . $row['filename'] ;
        echo "<td>" . $row['filesize'] . "</td>";//ファイル名とファイル サイズはすでにデータ テーブルにありますが、再生時間はデフォルトで 0 になります。データベースを更新します。 Webページの変更を通じて

        echo "<td><input name="<?php echo 'time1_'.$i; ?>" type="text"></td>";
        echo "<td><input name="<?php echo 'time2_'.$i; ?>" type="text"></td>";
        echo "<td><input name="<?php echo 'time3_'.$i;; ?>" type="text"></td>";
        echo "</tr>";
 $i++;
    }
<br><font color="#e78608">------解決策------</font><br>まず print_r($_POST) を見てください。
<br><font color="#e78608">------解決策---------</font><br>echo "<td><入力名 = "<?php echo $i;$i++; ?>" type="text"></td>";<br />echo "<td><input name="<?php echo $i;$i++; ?>" type="text"><div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。