2014-01-27 83 views
0

我想顯示當前有(4)個名稱存儲在我的文本框中的我的tb_app的所有名稱......任何人都可以幫助我使我的代碼工作?我只是編程的初學者。在php中顯示多個文本框中的數據

當前代碼:

<html> 
<head> 
<title>test</title> 
</head> 
<body> 
<?php 
include('include/connect.php'); 
$sql = "SELECT name FROM tb_app"; 
while($rows = mysql_fetch_array($sql)){ 
    $name = $rows['name']; 
} 
?> 
Name List: <br /> 
<input type="text" value="<?php echo $name[0] ?>" /> <br /> 
<input type="text" value="<?php echo $name[1] ?>" /> <br /> 
<input type="text" value="<?php echo $name[2] ?>" /> <br /> 
<input type="text" value="<?php echo $name[3] ?>" /> <br /> 
</body> 
</html> 

回答

2

現在要覆蓋$name變量在循環的每個迭代。您想將$name視爲一個數組,並在每次迭代中向該數組添加一個元素。

更改此:

$name = $rows['name']; 

要這樣:

$name[] = $rows['name']; 

你當然可以你while循環內直接回應你的文本框爲好,並跳過$name變量。然而,將數據庫或業務邏輯從顯示邏輯中分離出來是一種很好的做法,您(有點)正在做這些。事實上,我建議在開始<html>標記之前將PHP代碼移到頁面的頂部,並限制您將多少PHP與您的html混合。

+0

Thanks dude..thats line messing with my code:D – user3235574

0

一個更動態的方式(即你有少跌多則4名):

<html> 
<head> 
<title>test</title> 
</head> 
<body> 
Name List: <br /> 
    <?php 
     include('include/connect.php'); 
     $sql = "SELECT name FROM tb_app"; 

     while($rows = mysql_fetch_array($sql)){ 
      echo '<input type="text" value="'. $rows['name'] .'" /> <br />'; 
     } 
    ?> 
</body> 
</html> 
0

你甚至能走得更遠:

變化namenames

while($rows = mysql_fetch_array($sql)){ 
    $names[] = $rows['name']; 
} 

而且那麼

名單:

<?php foreach ($names as $name): ?> 
    <input type="text" value="<?php echo $name ?>" /> <br /> 
<?php endforeach; ?>