Автокомплит, а вообще есть русское более правильное название этому - живой поиск. Пусть результатом вашего поиска пусть будет таблица, а не куча таблиц, если не список:
//если search.php обрабатывает только ajax запросы, то условие if(isset($_POST["queryString"])){ } убрать
//здесь уж тогда нужна проверка наличия запроса со своей страницы
//после соединения выполнять выполнение определяемое ключом запроса, можно switch, можно и if()
switch(key($_POST)) {
case 'queryString': $string = addCslashes(iconv("UTF-8", "cp1251", mysql_real_escape_string($_POST["queryString"])), '\%_'); //перереводите базу в utf
$query = mysql_query("SELECT id,newtegs,title FROM dataz WHERE title LIKE '%$string%' ") or die ( 'Ошибка базы данных'); //нельзя вываливать ошибки SQL клиенту
if(mysql_num_rows($query)) {
//цикл do ... while увиденный в каком-то мультике здесь совсем не нужен
$t = '<table id="table">';
while($row = mysql_fetch_object($query)) $t .= '<tr data-ids="'.$row->id.'"><td>'.$row->id.'</td><td>'
.htmlspecialchars($row->newtegs).'</td><td>'
.htmlspecialchars($row->title).'</td></tr>';
exit($t . '</table>');
}
break;
case 'id': if($id = (int)$_POST['id']) {
//запрос на выборку записи по id
}
}
$myrow[newtegs] - то, что так работает, не означает, что так можно писать. Просто вашу ошибку РНР исправит сам, правильно $myrow['newtegs'].
На клиенте при получении списка по поиску, можно так:
function(data){
if(!!data) {
$("#autocomplete").html(data)
.show()
.find('table')
.on('click', 'tr', function() {
$.post("search.php", {id : $(this).data('ids')}, function(data) {
//получение полной запрошенной записи
})
})
} else $("#autocomplete").html("<i>Нет результатов по введеному запросу)</i>").show();
}