ajax - filter za pomocą input

0

Witam

mam małe pytanie, dotyczące funkcji ajax . Pobieram dane z *input * dopisuje je do zapytania *SQL * i wykonuje.

Nie działa mi wyświetlanie rezultatu, po pobraniu tekstu z *input *. Funkcja przedstawia się poniżej :

<script>
	$(document).ready
	(
		function()
		{
			$('#wyszukaj_kod').keydown  
			(
				function()	{
					var $this = $(this)
				
					function() { 
					
						$.ajax	({
							 
							url: 'plik.php', 							  
							data: { search: $this.val()  },  //, isAjax: 1
							type: 'GET',  
							dataType: 'html',
							success: function(data)
							{
								$('#refresh-block-1').html(data);  
								
					
							}
						}
					)}
				}
			)
		}    

	);
	

</script>

kod formularza:

<?
 echo '</br>'.$search = $_GET['search'];  

$sql= "	SELECT 
				name_tab.kol1,
				name_tab.kol2				
		FROM   name_tab	";
if ( $search <> null or $search <> '' ){
	$sql .= " and name_tab.kol1 like '%".$_GET['search']."%' ";  
	$result = mysql_query( $sql, $conn );  
	
} 
 else {
	$sql .= " LIMIT 0,3 "; 
	$result = mysql_query( $sql, $conn );
}
 
echo $sql;
?>

<table  >  
<form method="post" action="">
<tr>			
	<td>	 
		<input id="wyszukaj_kod"	name='wyszukaj_kod'	value='<?php echo $_GET['search']		?>' >  
	</td>		
	<td >			
	</td>		
</tr>
</form>
<tr>	 
	<td><strong>kol 1 						</strong></td>
	<td><strong>kol 2 						</strong></td>	
</tr>
<div id="refresh-block-1">
<?
	while($row = mysql_fetch_array($result, MYSQL_NUM))	{
		$row_kol1		= $row[0];  
		$row_kol2		= $row[1];
?>
		<tr>		
		<td >
		<form method="post" action="">
		     <input type="hidden" name="aaa" value="1"> 					
		</form>
		 <td><center> <? echo $row_kol1; 		?></center></td> 
		<td><center> <? echo $row_kol2; 		?></center></td>
		</tr>	
	<?	
	}
?>
</div>
</table>

Nie wiem co jest nie tak, gdzie mam błąd dlaczego mi tego nie odświeża :(

0

plik nie przechodzi do tego co powinien:
*url: '/plik.php', *

ma na GET ustawione a nie pobiera, nie wiem zabardzo gdzie mam błąd. W wcześniejszym miałam błąd:

<script>
	$(document).ready
	(
		 function()
		{
			  $('#wyszukaj_kod').keydown  
			(
				function()	{
					var $this = $(this)
				
					$.ajax	(	{
							 
							url: '/plik.php', 							  
							data: { search: $this.val() , isAjax: 1 },  
							type: 'GET',  
							dataType: 'html',
							success: function(data)
							{
								$('#refresh-block-1').html(data);  
							}
						}
					)
				}
			)
		}    
	);
</script>
0

jaki burdel. daj to w formie, w której można to u siebie odpalić, żebym rozpakował zipa i żebym miał działający przykład.

0

proszę

0

a tabelki z bazy + /tabelki/zasoby.php ? mysql_connect.php też by się przydało (bez haseł, ale żebym nie szukał nazw zmiennych tylko po prostu to odpalił)

0

przepraszam, załączam już poprawione

0

nie ogarniam, w jakiej kolejności to odpalać?
jak odpalę index.php to nie ma połączenia
jak odpalę plik.php to nie ma formularza

edit: nie stosuj <? tylko zawsze <?php - oszczędzisz sobie i innym kłopotów

edit2: spróbuj sam odpalić to co mi dasz. zanim też cokolwiek mi dasz użyj tego na początku kodu gdzieś:

error_reporting(E_ALL);
ini_set('display_errors', '1');

dopiero jak nie będzie nic błędów, a nie będzie działać to podrzuć paczkę

0

tak, bo wolałam dla bezpieczeństwa nie podawać. Tam jest skrypt do bazy z tabelką i insertami

0

no to ok, skoro nie mogę mieć kodu, który mogę uruchomić to polecam -> wyeliminować jakiekolwiek ostrzeżenia w php -> wstawić alert (bądź console.log) w javascript w co drugą linijkę, żebyś wiedział gdzie kod dochodzi, a gdzie nie

0

dziękuje. Usunęłam Ajaxa, użyłam JS

$search = $_GET['search']; 
 
if (isset($_GET['search'])) {
   $sql1 = "tab.kol1 LIKE '%".$_GET['search']."%'";
}

$sql= "SELECT 
	   tab.kol1,
	   tab.kol2,
	 FROM tab WHERE ".$sql1." ";
$result = mysql_query( $sql, $conn );
<table>
<form method="get" action="plik_gdzie_wyswitla_sie_tab.php" name='search_kod'> 
<input id="search"	name='search'	onkeyup="document.search_kod.submit()"	autofocus	value='<?= $_GET['search']	?>'	style="width: 95%;" >  
	 <script>
		document.search_kod.search.focus();
		document.search_kod.search.value = ''; //clear the value of the element
		document.search_kod.search.value = '<?= $_GET['search']	?>'; //set that value back.  
	</script>
</form>


// wyswietlanie 

</table>

Tak, brzydko kod formatowałam użyłam TABulatora.

1 użytkowników online, w tym zalogowanych: 0, gości: 1