Mam mam mały problem z auto uzupełnianiem (jquery) wartości pola input, które zaciąga dane zawarte w bazie danych.
Niby wszystko jest ok, jednakże podczas wpisywania w polu input wartości wyszukiwanych, pojawia się błąd
wartości dla foreach. Zaczynam popadać w beznadzieję, wykorzystałem już chyba wszystkie możliwości.
CODE
<?php
$q = $_GET['q'];
if(!$q) return;
include ("../../connect.php4");
$result=@mysql_query("SELECT nazwa FROM klient WHERE nazwa = '%$q%'");
include ("../../disconnect.php4");
while ( $dane = mysql_fetch_array ( $result , MYSQL_NUM )) {
printf ( $dane [ 0 ]);
}
mysql_free_result ( $result );
$i=0;
foreach ($dane as $id => $wartosc)
{
if(preg_match('/^'.$q.'/', $wartosc))
{
echo $wartosc.PHP_EOL;
$i++;
}
}
if(!$i) echo "Brak danych w bazie...\n";
?>
$q = $_GET['q'];
if(!$q) return;
include ("../../connect.php4");
$result=@mysql_query("SELECT nazwa FROM klient WHERE nazwa = '%$q%'");
include ("../../disconnect.php4");
while ( $dane = mysql_fetch_array ( $result , MYSQL_NUM )) {
printf ( $dane [ 0 ]);
}
mysql_free_result ( $result );
$i=0;
foreach ($dane as $id => $wartosc)
{
if(preg_match('/^'.$q.'/', $wartosc))
{
echo $wartosc.PHP_EOL;
$i++;
}
}
if(!$i) echo "Brak danych w bazie...\n";
?>
Doradźcie koledzy.
Jaq
Dzięki za szczere chęci. Znalazłem błąd i dla potomnych, przedstawiam gotowy kod
CODE
<?php
$q = $_GET['q'];
if(!$q) return;
include ("../../connect.php4");
$result=mysql_query("SELECT nazwa FROM klient WHERE nazwa LIKE '%$q%'");
include ("../../disconnect.php4");
while($row=mysql_fetch_array($result))
$dane[] = $row['nazwa'];
while($row=mysql_fetch_row($result)) $dane[] = $row[0];
$i=0;
foreach ($dane as $id => $wartosc)
{
if(preg_match('/^'.strtolower($q).'/', strtolower($wartosc)))
{
echo $wartosc.PHP_EOL;
$i++;
}
}
if(!$i) echo "Brak danych w bazie...\n";
?>
$q = $_GET['q'];
if(!$q) return;
include ("../../connect.php4");
$result=mysql_query("SELECT nazwa FROM klient WHERE nazwa LIKE '%$q%'");
include ("../../disconnect.php4");
while($row=mysql_fetch_array($result))
$dane[] = $row['nazwa'];
while($row=mysql_fetch_row($result)) $dane[] = $row[0];
$i=0;
foreach ($dane as $id => $wartosc)
{
if(preg_match('/^'.strtolower($q).'/', strtolower($wartosc)))
{
echo $wartosc.PHP_EOL;
$i++;
}
}
if(!$i) echo "Brak danych w bazie...\n";
?>