<?php $file = "wyszukiwarka.php"; include('cookie.php'); include('connect2.php'); switch($_GET["action"]){ case "popraw": $query = 'UPDATE usg_opis SET nazwisko=\''.$_POST['nazwisko'].'\', imie=\''.$_POST['imie'].'\', bad=\''.$_POST['bad'].'\', rok_ur=\''.$_POST['rok_ur'].'\',opis=\''.$_POST['opis'].'\', id_usg=\''.$_POST['bad'].'\', id_lek=\''.$_POST['lek'].'\' WHERE id_bad='.$_GET['id']; $result=mysqli_query($mysqli,$query); mysqli_close($mysqli); break;
ta część działa OK. To znaczy z default przenosi mi do case edit. Niestety następnie z edit nie działa mi case popraw i nie bardzo wiem dlaczego. Mam zrobiona gdzie indziej podobną przeglądarkę i tam nie mam takich problemów, choć jest tam użyta głównie $_GET. Tutaj muszę używać $_POST z prostej przyczyny - zmienna $opis może być stosunkowo długa i nie znieści się w linku.
case "edit": // przygotowanie do poprawek $query1 = 'select id, id_lek, bad_usg, nazwisko, imie, rok_ur, opis, termin,nazwisko_imie,now from usg_opis join usg using (id_usg) join lekarze using (id_lek) where id='.(int)$_GET['id']; $result1 = mysqli_query($mysqli,$query1); $rekord = mysqli_fetch_array($result1,MYSQLI_ASSOC); $id=$rekord['id']; $mid3=$rekord['id_usg']; $nazwisko = $rekord['nazwisko']; $imie = $rekord['imie']; $rok_ur = $rekord['rok_ur']; $bad=$rekord['bad_usg']; $opis = $rekord['opis']; $termin = $rekord['termin']; echo "<INPUT TYPE=\"hidden\" NAME=\"action\" VALUE=\"popraw\">"; echo "<table><tr><td>Nazwisko:</td> <td><input type=\"text\" name=\"nazwisko\" VALUE=\"$nazwisko\"size=\"30\" maxlength=\"30\"></input></td></tr> <tr><td>Imie:</td> <td><input type=\"text\" name=\"imie\" VALUE=\"$imie\" size=\"30\" maxlength=\"30\"></input></td></tr> <TR><TD>Rok Urodzenia:</TD><TD><INPUT TYPE=\"text\" NAME=\"rok_ur\" VALUE=\"$rok_ur\"MAXLENGTH=\"20\"></TD></TR> <TR><TD>Badanie:</TD><TD>"; $sql2= "select id_usg, bad_usg from usg order by 2"; $rez2= mysqli_query($mysqli, $sql2); while ($nowaTab=mysqli_fetch_array($rez2, MYSQLI_ASSOC)) { $badanie=$nowaTab['bad_usg']; } $sql3= "select id_lek, nazwisko_imie from lekarze order by 2"; $rez3= mysqli_query($mysqli, $sql3); while ($nowaTab=mysqli_fetch_array($rez3, MYSQLI_ASSOC)) { $lek=$nowaTab['nazwisko_imie']; } echo "<p>Opis Badania<br/> <textarea name=\"opis\"cols=\"60\" rows=\"15\">$opis</textarea><br/>"; break; case "druk": $id = $_GET['id']; $sql2 = 'select id, id_usg, nazwisko, imie, rok_ur, opis, termin from usg_opis where ID='.$id; $rez2= mysqli_query($mysqli, $sql2); while ($rekord = mysqli_fetch_array($rez2, MYSQLI_ASSOC)) { $id_usg=$rekord['id_usg']; $nazwisko = $rekord['nazwisko']; $imie = $rekord['imie']; $rok_ur = $rekord['rok_ur']; $opis = $rekord['opis']; $termin = $rekord['termin']; } //kod generujący pdf //działa bez zarzutu break;
i na końcu kod default. Też nie ma problemu
default: <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 "<b><center>*!!!!!UWAGA!!!! EDYCJA WYNIKÓW BADAŃ JEST MOŻLIWA TYLKO W DNIU ICH WYKONANIA</center></b><br>"; $sql = 'select id, id_usg, nazwisko, imie, rok_ur, opis, termin from usg_opis where nazwisko =\''.$_POST['nazwisko'].'\' and imie =\''.$_POST['imie'].'\'and id_usg='.$_POST['bad'].' order by nazwisko limit 30'; $rez= mysqli_query($mysqli, $sql); echo "<center><TR> <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> <TD><B>EDYTUJ*</B></TD> </TR>"; while ($rekord = mysqli_fetch_array($rez, MYSQLI_ASSOC)) { $id = $rekord['id']; $nazwisko = $rekord['nazwisko']; $imie = $rekord['imie']; $rok_ur = $rekord['rok_ur']; $opis = $rekord['opis']; $termin = $rekord['termin']; { } else { } } break; } ?>
i nie wiem gdzie leży błąd - czy w rozumowaniu czy w jakieś literówce której nie zauważyłem.
Z góry dzięki za pomoc