将mysql数据库中的行分隔为不同的变量

时间:2013-03-04 10:31:51

标签: php mysql database arrays variables

我试图将结果分成每行的不同数组,然后将它们输出到表中。这是我的代码..它很久我知道也过时了,但我只是需要它才能工作。任何帮助都会很棒。目前它确实回显了正确的行数,只有它们都是空的。

        <?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>';
        ?>

2 个答案:

答案 0 :(得分: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++;
        }

答案 1 :(得分:0)

为什么要将所有数据读入数组然后将其写出来?这是不必要的,浪费内存。将echo语句放入第一个循环中,并引用相关的数组节点。