У меня проблемы с циклом while, который рисует данные из базы данных mysql. По сути, пользователь ищет строку, затем строка сравнивается с возможными именами в БД. Если строка соответствует результату из БД, то возвращается строка и информация, относящаяся к результату, выводится в своем собственном div.
Вот несколько некорректный код, относящийся к циклу while:
(LOTS OF CODE RELATING TO EVERYTHING ELSE BEFORE THIS)
$tempVar = 0;
while ($data = mysql_fetch_array($data)) {
$lstId = $data['id'];
$lstName = $data['name'];
$lstDesc = $data['description'];
$lstAddress = $data['address'];
$lstArea = $data['area'];
$lstProvince = $data['province'];
$lstPostcode = $data['postcode'];
$lstTel = $data['tel'];
$lstCell = $data['cell'];
$lstFax = $data['fax'];
$lstEmail = $data['email'];
if ($tempVar == 0) {
$pageContent .= '
<div class="searchResultS">
';
}
$pageContent .= '
<div class="searchResult">
<h2>'.$lstName.'</h2>
<div class="bizDesc">
<p>Description: '.$lstDesc.'</p>
</div>
<div class="bizAddr">
<p>Street: '.$lstAddress.'</p>
<p>Town: '.$lstArea.'</p>
<p>Province: '.$lstProvince.'</p>
<p>Post Code: '.$lstPostcode.'</p>
</div>
<div class="bizCont">
<p>Tel: '.$lstTel.'</p>
<p>Cell: '.$lstCell.'</p>
<p>Fax: '.$lstFax.'</p>
<p>eMail: '.$lstEmail.'</p>
</div>
</div>
';
$tempVar ++;
}
if ($anymatches > 0 and count($tempVar) == count($anymatches)) {
$pageContent .= '
<!-- end .searchResultS --></div>
';
}
Проблема, с которой я столкнулся, заключается в том, что когда пользователь ищет строку с двумя или более возможными результатами. Кажется, будто отображается только последний результат. И не все возможные результаты, каждый по-своему содержащий div. Я точно знаю, что есть больше результатов, так как есть сгенерированная строка, которая отображает количество возвращенных строк mysql.
Будет ли у кого-нибудь предложение или решение этой проблемы? Я предполагаю, что что-то упущено, но после многих часов проб и ошибок, я не нашел веской причины, почему такое поведение существует в настоящее время.
Любая помощь, что так всегда будет цениться, спасибо!