0

誰かが私を助けてくれるのではないかと思います。

解決策が見当たらない問題を見るには、新鮮な目が必要だと感じています。

Location records以下のフォームは、MySQLデータベースに保持されているリストに使用されます。

    <form name="locationsconsole" id="locationsconsole" method="post" action="locationsaction.php">

                                    <?php

                                        $query = "SELECT * FROM `table` WHERE `userid` = '$idnum' ORDER BY locationname";
                                        $result = mysql_query($query) or die('error');
                                        $num = mysql_numrows($result);
                                        mysql_close($connect);                  
                                        $i=0;
                                        while ($i < $num) {
                                        $lid=mysql_result($result,$i,"locationid");
                                        $lname=mysql_result($result,$i,"locationname");
                                        $laddress=mysql_result($result,$i,"returnedaddress");

                             <tr>
                                <td><input type="text" id="lid" name="lid" value="<?=$lid?>"/></td>
                                <td><div align="center"><?php echo $lname;?></div></td>
                                <td><div align="left"><?php echo $laddress;?></div></td>
                                <td><div align="center"><?php echo $findscount?></div></td>
                                <td><div align="center"><input name="type" type="submit" value="View Details"/></div></td>
                                <td><div align="center"><input name="type" type="submit" value="Add Finds"/></div></td>
                                <td><div align="center"><input name="type" type="submit" value="Add Images"/></div></td>
                                <td><div align="left"><input name="type" type="submit" value="View Location Finds"/></div></td>
                            </tr>

    </form>

以下のコードを使用すると、フォームの最後にある4つのボタンで、ユーザーは4つの別々の画面に移動し、すべてがLocation recordを介してにリンクされ$lid variableます。

<?php session_start();
$_SESSION['lid'] = $_POST['lid'];
if (isset($_POST['type'])) {
    $urls = array(
        'View Details' => 'viewlocation.php',
        'Add Finds' => 'addfinds.php',
        'Add Images' => 'addimages.php',
        'View Location Finds' => 'locationfinds.php'
    );
    $url = $urls[$_POST['type']];
    header("Location: " . $url);
}
?>

したがって、4つの受信フォームすべてで、$lid = $_SESSION['lid'];この変数をキャプチャするために各ページの上部にこれがあります。

このアーキテクチャは数日前までは完全に機能していましたが、現在はすべて問題が発生しており、その理由はわかりません。私のフォームのこのフィールド<input type="text" id="lid" name="lid" value="<?=$lid?>"/>が正しい値を保持していることを知っています。

ただし、いくつあるかに関係なく、Locations recordsいずれかのボタンをクリックすると、正しい受信画面が表示されますが、それは常にリストの最後の「場所」レコードになります。

ここで自分が間違っていることを見つけられないようです。また、なぜ今問題が発生し始めているのか理解できません。ChromeでJavaScriptコンソールを確認しましたが、エラーも表示されません。

誰かがこれを見てくれるのではないかと思ったのですが、どこが間違っているのか教えてください。

よろしくお願いします

4

2 に答える 2

1

タイプミスがあります:

「mysql_numrows」

次のようにする必要があります。

「mysql_num_rows」

于 2012-06-27T12:21:49.223 に答える
1

「蓋」入力はすべて同じ形式です。フォームを送信すると、すべての値が送信され、最後の値だけが $_POST 配列に入ります。フォーム タグをループの内側に移動します (つまり、多くのフォームを生成します)。正常に動作するはずです。

<?php

$query = "SELECT * FROM `table` WHERE `userid` = '$idnum' ORDER BY locationname";
$result = mysql_query($query) or die('error');
$num = mysql_num_rows($result);
mysql_close($connect);
$i = 0;
while ($i < $num) {
    $lid=mysql_result($result,$i,"locationid");
    $lname=mysql_result($result,$i,"locationname");
    $laddress=mysql_result($result,$i,"returnedaddress");

    ?><form name="locationsconsole" id="locationsconsole" method="post" action="locationsaction.php">
        <table>
            <tr>
                <td><input type="text" id="lid" name="lid" value="<?=$lid?>"/></td>
                <td><div align="center"><?php echo $lname;?></div></td>
                <td><div align="left"><?php echo $laddress;?></div></td>
                <td><div align="center"><?php echo $findscount?></div></td>
                <td><div align="center"><input name="type" type="submit" value="View Details"/></div></td>
                <td><div align="center"><input name="type" type="submit" value="Add Finds"/></div></td>
                <td><div align="center"><input name="type" type="submit" value="Add Images"/></div></td>
                <td><div align="left"><input name="type" type="submit" value="View Location Finds"/></div></td>
            </tr>
        </table>
    </form><?php
}
于 2012-06-27T12:24:17.123 に答える