3

結果を行ごとに異なる配列に分割し、それらをテーブルに出力しようとしています。これが私のコードです。私は長い間知っていて、時代遅れですが、動作するために必要なだけです。どんな助けでも素晴らしいでしょう。現在、正しい量の行をエコーし​​ますが、すべて空です。

        <?php
        include ('user.inc');
        mysql_connect(localhost,$username,$password);
        @mysql_select_db($database) or die ("unable to select database");

            $query = 'SELECT * FROM customer LIMIT 50';
            $result=mysql_query($query);
            $num=mysql_numrows($result);

        mysql_close();

            $i=0;

            while ($i = mysql_fetch_array($result)){
                $customerID[$i]=$i['customerID'];
                $surname[$i]=$i['surname'];
                $forname[$i]=$i['forname'];
                $title[$i]=$i['title'];
                $email[$i]=$i['e-mail'];
                $adress[$i]=$i['address1'];
                $street[$i]=$i['street'];
                $city[$i]=$i['city'];
                $county[$i]=$i['cuunty'];
                $postcode[$i]=$i['postcode'];
                $phoneNumber[$i]=$i['phoneNumber'];
                $mobileNumber[$i]=$i['mobileNumber'];
            $i++;
            }
            $r=0;
            echo'<table>';
            while ($r < $num){
                echo'<tr>';
                echo'<td><form action="userinfo.php"><input type="hidden" name="customerID" value="';
                echo$customerID[$r];
                echo'"><imput type="submit" value="';
                echo$customerID[$r];
                echo'"></form></td>';
                echo'   <td>';
                echo$title[r];
                echo'</td>';
                echo'   <td>';
                echo$surname[r];
                echo'</td>';
                echo'   <td>';
                echo$forname[r];
                echo'</td>';
                echo'   <td>';
                echo$email[r];
                echo'</td>';
                echo'</tr>';
            $r++;
            }
            echo'</table>';
        ?>
4

2 に答える 2

1

これを変える

$i=0;

        while ($i = mysql_fetch_array($result)){
            $customerID[$i]=$i['customerID'];
            $surname[$i]=$i['surname'];
            $forname[$i]=$i['forname'];
            $title[$i]=$i['title'];
            $email[$i]=$i['e-mail'];
            $adress[$i]=$i['address1'];
            $street[$i]=$i['street'];
            $city[$i]=$i['city'];
            $county[$i]=$i['cuunty'];
            $postcode[$i]=$i['postcode'];
            $phoneNumber[$i]=$i['phoneNumber'];
            $mobileNumber[$i]=$i['mobileNumber'];
        $i++;
        }

//$i=0;

        while ($i = mysql_fetch_array($result)){
            $customerID[]=$i['customerID'];
            $surname[]=$i['surname'];
            $forname[]=$i['forname'];
            $title[]=$i['title'];
            $email[]=$i['e-mail'];
            $adress[]=$i['address1'];
            $street[]=$i['street'];
            $city[]=$i['city'];
            $county[]=$i['cuunty'];
            $postcode[]=$i['postcode'];
            $phoneNumber[]=$i['phoneNumber'];
            $mobileNumber[]=$i['mobileNumber'];
        //$i++;
        }
于 2013-03-04T10:35:51.867 に答える
0

なぜすべてのデータを配列に読み込んでから、それを書き出すのですか?これは不要であり、メモリを浪費します。関連する配列ノードへの参照を使用して、echoステートメントを最初のループに配置します。

于 2013-03-04T10:56:20.147 に答える