2014-01-27 66 views
0

正如您所看到的,我在我的texboxes中出現錯誤。任何人都可以幫助我解決這個錯誤?文本框裏面文本框內未定義的變量

的錯誤有以下幾種:

** 

> aic: 

** 
<br /><b>Notice</b>: Undefined variable: aic in <b>C:\xampp\htdocs\test\index.php</b> on line <b>34</b><br /> 
<br /><b>Notice</b>: Undefined variable: aic in <b>C:\xampp\htdocs\test\index.php</b> on line <b>35</b><br /> 
<br /><b>Notice</b>: Undefined variable: aic in <b>C:\xampp\htdocs\test\index.php</b> on line <b>36</b><br /> 
<br /><b>Notice</b>: Undefined variable: aic in <b>C:\xampp\htdocs\test\index.php</b> on line <b>37</b><br /> 

** 

> Name List: 

** 
<br /><b>Notice</b>: Undefined variable: name in <b>C:\xampp\htdocs\test\index.php</b> on line <b>41</b><br /> 
<br /><b>Notice</b>: Undefined variable: name in <b>C:\xampp\htdocs\test\index.php</b> on line <b>42</b><br /> 
<br /><b>Notice</b>: Undefined variable: name in <b>C:\xampp\htdocs\test\index.php</b> on line <b>43</b><br /> 
<br /><b>Notice</b>: Undefined variable: name in <b>C:\xampp\htdocs\test\index.php</b> on line <b>44</b><br /> 

> **Address:** 

<br /><b>Notice</b>: Undefined variable: address in <b>C:\xampp\htdocs\test\index.php</b> on line <b>48</b><br /> 
<br /><b>Notice</b>: Undefined variable: address in <b>C:\xampp\htdocs\test\index.php</b> on line <b>49</b><br /> 
<br /><b>Notice</b>: Undefined variable: address in <b>C:\xampp\htdocs\test\index.php</b> on line <b>50</b><br /> 
<br /><b>Notice</b>: Undefined variable: address in <b>C:\xampp\htdocs\test\index.php</b> on line <b>51</b><br /> 

PHP代碼:

<?php 
if(isset($_POST['code'])){ 
include('include/connect.php'); 

$batchcode = $_POST['code']; 
$sql = mysql_query("SELECT aic,batchcode,address,name FROM tb_app WHERE batchcode LIKE '$batchcode'"); 
while($rows = mysql_fetch_array($sql)){ 
    $aic[] = $rows['aic']; 
    $name[] = $rows['name']; 
    $address[] = $rows['address']; 
} 
} 
?> 

的html代碼:

Search Batchcode:<input type="text" name="code" id="query" /><br /> 
<form> 
<table> 
<tr> 
<td> 
aic: <br /> 
<input type="text" name="optA1" value="<?php echo $aic[0] ?>" /> <br /> 
<input type="text" name="optA2" value="<?php echo $aic[1] ?>" /> <br /> 
<input type="text" name="optA3" value="<?php echo $aic[2] ?>" /> <br /> 
<input type="text" name="optA4" value="<?php echo $aic[3] ?>" /> <br /> 
</td> 
<td> 
Name List: <br /> 
<input type="text" name="optB1" value="<?php echo $name[0] ?>" /> <br /> 
<input type="text" name="optB2" value="<?php echo $name[1] ?>" /> <br /> 
<input type="text" name="optB3" value="<?php echo $name[2] ?>" /> <br /> 
<input type="text" name="optB4" value="<?php echo $name[3] ?>" /> <br /> 
</td> 
<td> 
Address: <br /> 
<input type="text" name="optC1" value="<?php echo $address[0] ?>" /> <br /> 
<input type="text" name="optC2" value="<?php echo $address[1] ?>" /> <br /> 
<input type="text" name="optC3" value="<?php echo $address[2] ?>" /> <br /> 
<input type="text" name="optC4" value="<?php echo $address[3] ?>" /> <br /> 
</td> 
</form> 

我不希望我的文本框進行循環,因爲每個他們有獨特的名字,不適合未來使用我的JavaScript。

+0

該通知是相當不言自明的。你從數據庫中得到什麼結果? – Steve

+2

這是您的代碼在您的查詢未返回任何行時將生成的內容。在嘗試根據假設產生輸出之前,您應該檢查您的查詢是否返回了行。 – Sammitch

+0

@Sammitch我應該怎麼做呢?如果行不生成輸出,我應該放什麼條件? – user3235574

回答

4

通常這個錯誤,當您嘗試反響,沒有定義,在這種情況下出現變量,這意味着你的代碼不while循環,進入這意味着你的查詢結果爲空

嘗試:

if($sql) { 
    while($rows = mysql_fetch_array($sql)){ 
     $aic[] = $rows['aic']; 
     $name[] = $rows['name']; 
     $address[] = $rows['address']; 
    } 
}else { 
    $aic  = array('empty','empty','empty','empty'); 
    $name = array('empty','empty','empty','empty'); 
    $address = array('empty','empty','empty','empty'); 
} 

順便說一句,我想你想這個查詢和之前或$batchcode後失蹤的%,你可以試試這個太:

$sql = mysql_query("SELECT aic,batchcode,address,name FROM tb_app 
WHERE batchcode LIKE '%".$batchcode."%'"); 

或本:

$sql = mysql_query("SELECT aic,batchcode,address,name FROM tb_app 
    WHERE batchcode = '".$batchcode."'"); 
+0

我試過你的代碼仍然有相同的錯誤。 – user3235574

+0

你究竟做了什麼? –

+0

瞭解代碼以及它在您的項目和其他項目之間的差異也很重要。 – Jonast92

0

我看到你正在查找基於批處理代碼的表,所以如果你ar e尋找確切的批次代碼使用=

$sql = mysql_query("SELECT aic,batchcode,address,name FROM tb_app WHERE batchcode = '".$batchcode."'"); 
+0

更正在SQL末尾放置雙引號和單引號。這些似乎已經互換。看一看。 –

+0

你是對的,謝謝Rajesh,我只是編輯答案 – Flavio