2014-01-27 3 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> 

Я не хочу, чтобы мое Textboxes быть петельным, потому что каждый из у них есть уникальное имя, которое плохо будет использовать с моим javascript в будущем.

+0

Извещение довольно само собой разумеется. Какие результаты вы получаете из базы данных? – Steve

+2

Это будет ваш код, если ваш запрос не вернет строки. Вы должны проверить, возвратил ли ваш запрос строки перед попыткой генерировать выходные данные, исходя из предположения, что он это сделал. – Sammitch

+0

@Sammitch, что мне тогда делать? какое условие я должен поставить, если строки не генерируют вывод? – user3235574

ответ

4

Обычно это ошибка появляется при попытке повторить переменный, которая не определен, в данном случае, это означает, что ваш код не входит в while петли, и это означает, что ваш результат запроса пустого ,

Try:

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

Вы правы, спасибо Раджешу, я просто отредактировал ответ – Flavio

Смежные вопросы