Witam.
Oto kawałek kodu:
default:
echo "<h1><center>Znajdz badanie</center></h1>\n"; <center><form method=\"POST\" form action=\"".$file."\">
<p><strong>Nazwisko</strong><br/>
<input type=\"text\" name=\"nazwisko\" size=\"30\" maxlength=\"30\"><br\>
<p><strong>Imie</strong><br/>
<input type=\"text\" name=\"imie\" size=\"30\" maxlength=\"30\"></p>";
include ('badanie2.php');
echo "<p><input type=\"submit\" name=\"submit\" value=\"Szukaj\"></p></center>"; $sql = 'select id, id_usg, nazwisko, imie, rok_ur, opis, termin from usg_opis where
nazwisko =\''.$_POST['nazwisko'].'\' and imie =\''.$_POST['imie'].'\'and bad=\''.$_POST['bad'].'\'
order by nazwisko limit 30';
//w tym miejscu należy wprowadzić stronnicowanie zwłaszcza w przypadku wyszukiawnia tylko przez rok urodzenia
$rez= mysqli_query($mysqli, $sql);
echo "<TABLE CELLPADDING=5 BORDER=1>"; <TD><B>NAZWISKO</B></TD>
<TD><B>IMIE</B></TD>
<TD><B>ROK_UR</B></TD>
<TD><B>TERMIN</B></TD>
<TD><B>OPIS</B></TD>
<TD><B>DRUKUJ</B></TD>
</TR>";
while ($rekord = mysqli_fetch_array($rez, MYSQLI_ASSOC)) {
$id = $rekord['id'];
$nazwisko = $rekord['nazwisko'];
$imie = $rekord['imie'];
$bad = $rekord['id_bad'];
$opis = $rekord['opis'];
$termin = $rekord['termin'];
echo "<TD>$nazwisko</TD><TD>$imie</TD><TD>$rok_ur</TD><TD>$termin</TD><TD>$opis</TD>"; echo "<TD><A HREF=\"$file?action=druk&id=$id\">Drukuj</A></TD>"; }
break;
}
?>
Powyżej część default kodu od case i z tym mam błąd polegający na tym, że czepia się 26 linii. Mam taki błąd:
mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given.
Poniżej kod do funkcji badanie():
function badanie()
{
include('connect2.php');
echo '<select name=\"bad\">'; echo "<option value =\"bad\">----wybierz badanie------</option>"; $sql2= "select id_usg, bad_usg from usg order by 2";
$rez2= mysqli_query($mysqli, $sql2);
while ($nowaTab=mysqli_fetch_array($rez2, MYSQLI_ASSOC))
{
$mid = intval($nowaTab['id_usg']); $badanie=$nowaTab['bad_usg'];
echo"<option value=\"".$mid."\">".$badanie."</option>"; }
}
Bez tej funkcji wyszukiwarka działa. Niestety nie wiem dlaczego tak jest, ponieważ jak zmieniłem na get to przekazuje się zmienna id_usg i wydaje mi się, ze wszystko powinno być OK.
Z góry dzięki
Czu ktoś mógłby mi pomoc. Zauważyłem, ze problem leży w zapytaniu z 13 linijki - kiedy wywalam warunek ostatni dotyczący zmiennej $_POST['bad'] wówczas wyszukiwarka działa. Jednak dla mnie to za mało.
Robiłem też var_dump z tej zmiennej i pokazywało mi raz wartość 'bad' a innym razem cyfry będące odpowiednikami wskazanych badań w formularzu.
Nie bardzo już wiem gdzie mam błąd.
Ten post edytował jacusek 12.07.2010, 13:42:29