{keyword11} {keyword12} {keyword13} {keyword14} {http://link1.com} {opis1}
:
{keywordx1} {keywordx2} {keywordx3} {keywordx4} {http://linkx.com} {opisx}
Niektore pola keywordow czasami sa puste (ale nawiasy sa zawsze) lub w rzeczywistosci zawieraja dwa lub trzy wyrazy.
Dlaczego taka baza to nie moja sprawa, taka jest i taka ma pozostac.
Chce stworzyc do bazy 'wyswietlarke' i wyszukiwarke po tych keywordach.
Stworzylem przykladowy plik z baza links.txt
i taki kod php:
<?php function wyswietl_wynik($tablica) { } else { for ($x=0; $x<count($tablica); $x++) { <li>".$tablica[$x][0]." ".$tablica[$x][1]." ".$tablica[$x][2]." ".$tablica[$x][3]."<br /> <a href="".$tablica[$x][4]."">".$tablica[$x][4]."</a><br /> ".$tablica[$x][5]."<br /> "); } } } // wyswietlarka if ((!isset($_POST['krok1'])) || (($_POST['key1'] == "0") && ($_POST['key2'] == "0") && ($_POST['key3'] == "0") && ($_POST['key4'] == "0"))) { Wybierz conajmniej jedno pole formularza. <br /><br /> <form action="index.php" method="post"> <input type="hidden" name="krok1" value="1"> <select name="key1"><option value="0">...</option><option value="Keyword_A_1">Keyword_A_1</option><option value="Keyword_A_2">Keyword_A_2</option><option value="Keyword_A_3">Keyword_A_3</option><option value="Keyword_A_4">Keyword_A_4</option></select> <select name="key2"><option value="0">...</option><option value="Keyword_B_1">Keyword_B_1</option><option value="Keyword_B_2">Keyword_B_2</option><option value="Keyword_B_3">Keyword_B_3</option><option value="Keyword_B_4">Keyword_B_4</option></select> <select name="key3"><option value="0">...</option><option value="Keyword_C_1">Keyword_C_1</option><option value="Keyword_C_2">Keyword_C_2</option><option value="Keyword_C_3">Keyword_C_3</option><option value="Keyword_C_4">Keyword_C_4</option></select> <select name="key4"><option value="0">...</option><option value="Keyword_D_1">Keyword_D_1</option><option value="Keyword_D_2">Keyword_D_2</option><option value="Keyword_D_3">Keyword_D_3</option><option value="Keyword_D_4">Keyword_D_4</option></select> <input type="submit" value="OK"> </form> "); } elseif($_POST['krok1']=="1") { $j=0; for ($i=0; $i<count($plik); $i++) { if (($line_tab[0] == $_POST['key1']) || ($_POST['key1'] == "0") || ($line_tab[0] == "")) { $res_tab3[$j][0] = $line_tab[0]; $res_tab3[$j][1] = $line_tab[1]; $res_tab3[$j][2] = $line_tab[2]; $res_tab3[$j][3] = $line_tab[3]; $res_tab3[$j][4] = $line_tab[4]; $res_tab3[$j][5] = $line_tab[5]; $j++; } } $j=0; for ($i=0; $i<count($res_tab3); $i++) { if (($res_tab3[$i][1] == $_POST['key2']) || ($_POST['key2'] == "0") || ($res_tab3[$i][1] == "")) { $res_tab2[$j][0] = $res_tab3[$i][0]; $res_tab2[$j][1] = $res_tab3[$i][1]; $res_tab2[$j][2] = $res_tab3[$i][2]; $res_tab2[$j][3] = $res_tab3[$i][3]; $res_tab2[$j][4] = $res_tab3[$i][4]; $res_tab2[$j][5] = $res_tab3[$i][5]; $j++; } } $j=0; for ($i=0; $i<count($res_tab2); $i++) { if (($res_tab2[$i][2] == $_POST['key3']) || ($_POST['key3'] == "0") || ($res_tab2[$i][2] == "")) { $res_tab1[$j][0] = $res_tab2[$i][0]; $res_tab1[$j][1] = $res_tab2[$i][1]; $res_tab1[$j][2] = $res_tab2[$i][2]; $res_tab1[$j][3] = $res_tab2[$i][3]; $res_tab1[$j][4] = $res_tab2[$i][4]; $res_tab1[$j][5] = $res_tab2[$i][5]; $j++; } } $j=0; for ($i=0; $i<count($res_tab1); $i++) { if (($res_tab1[$i][3] == $_POST['key4']) || ($_POST['key4'] == "0") || ($res_tab1[$i][3] == "")) { $res_tab[$j][0] = $res_tab1[$i][0]; $res_tab[$j][1] = $res_tab1[$i][1]; $res_tab[$j][2] = $res_tab1[$i][2]; $res_tab[$j][3] = $res_tab1[$i][3]; $res_tab[$j][4] = $res_tab1[$i][4]; $res_tab[$j][5] = $res_tab1[$i][5]; $j++; } } wyswietl_wynik($res_tab); } // wyszukiwarka Wpisz cos. <br /><br /> <form action="index.php" method="post"> <input type="hidden" name="krok2" value="1"> <input type="text" name="search"> <input type="submit" value="Search"> </form> "); } elseif($_POST['krok2']=="1") { $k=0; for ($i=0; $i<count($plik); $i++) { for($j=0; $j<count($szukane_slowa); $j++) { if ($szukane_slowa[$j] != "") { $bingo[$k][0] = $line_tab[0]; $bingo[$k][1] = $line_tab[1]; $bingo[$k][2] = $line_tab[2]; $bingo[$k][3] = $line_tab[3]; $bingo[$k][4] = $line_tab[4]; $bingo[$k][5] = $line_tab[5]; $k++; } } } } wyswietl_wynik($bingo); } } else { } ?>

---
nospor
Ktory dziala tak.
Jako, ze docelowy plik z baza ma zawierac okolo 500-600 rekordow, chcialbym poznac jakies uwagi dotyczace optymalnosci kodu i ogolnie czy dobrze rozwiazalem problem.
Pozatym czy pole search nie powinno byc jakos lepiej zabezpieczone.
Z gory dzieki za pomoc