Uczę się PHP stąd właśnie temat w takim dziale. Chcę zrobić automat do np ogłoszeń.
Dodawanie ogłoszenia, usuwanie, edytowanie.
Wszystko mi idzie nie źle i sprawnie, aczkolwiek z problemem borykam się w końcowym etapie skryptu.
Chodzi o edytowanie:
Kod PHP
(...) # Edytowanie ogloszenia if($_POST['adv_edit'] != '' && $_SESSION['admin'] == 'ok') { $qwerty = "SELECT * FROM ogloszenie WHERE id=".$_POST['2lp']; $tpl->set_var('ADV_NAME', $adv_name); $tpl->set_var('ADV_TXT', $adv_text); $tpl->set_var('ADV_SUBMIT', 'adv_update'); if($_POST['adv_update'] != '' && $_SESSION['admin'] == 'ok'){ if($_POST['adv_name'] != '') { if($_POST['adv_txt'] != '') { mysql_query("UPDATE ogloszenie SET nazwa='".$_POST['adv_name']."', tresc='".$_POST['adv_txt']."' WHERE id='".$_POST['2lp']."'"); $tpl->set_var('ADV_ACTION', $adv_ok); } else { $tpl->set_var('ADV_ACTION', $adv_bad_name); } } else { $tpl->set_var('ADV_ACTION', $adv_bad_txt); } } } (...)
Oraz formularz HTML:
<form method="post"> <input type="text" name="adv_name" style="margin-left: 20px; width: 300px; margin-bottom: 4px;" value="{ADV_NAME}"/> <input type="submit" name="{ADV_SUBMIT}" value="Dodaj ogłoszenie +" style="margin-left: 20px; margin-top: 10px; cursor: pointer" onclick="return confirm('Dodać nowe ogłoszenie ?')"/> </form> <table style="width: 95%; margin: 0 auto; margin-top: 10px;"> <tr> <td class="row1" width="30"> Lp. </td> <td class="row1"> Nazwa / Treść </td> <td class="row1" width="30" align="center"> Usuń </td> <td class="row1" width="30" align="center"> Edytuj </td> </tr> <!--Begin_OGL--> <tr> <td style="background: #BA8F8F; padding: 3px;" align="center"><form method="post"><input type="submit" name="adv_del" value="X" title="Usuń" style="color:#9B3333; cursor: pointer;" onclick="return confirm('Czy napewno chcesz usunąć ogłoszenie ?')"/><input type="hidden" name="lp" value="{LP_OGLOSZENIE}"/></form>{LP_OGLOSZENIE}</td> </tr> <!--End_OGL--> </table>
Chcę aby w takim samym formularzu jak DODAWANIE OGLOSZENIA odbywało się jego edytowanie. Więc po kliknięciu `Edit` wczytuję dane o id=$x do formularza.
Super, gra !
Tylko jak teraz zapisać wprowadzone poprawki do bazy ?
No więc napisałem:
if($_POST['adv_update'] != '' && $_SESSION['admin'] == 'ok'){ if($_POST['adv_name'] != '') { if($_POST['adv_txt'] != '') { mysql_query("UPDATE ogloszenie SET nazwa='".$_POST['adv_name']."', tresc='".$_POST['adv_txt']."' WHERE id='".$_POST['2lp']."'"); $tpl->set_var('ADV_ACTION', $adv_ok); } else { $tpl->set_var('ADV_ACTION', $adv_bad_name); } } else { $tpl->set_var('ADV_ACTION', $adv_bad_txt); } }
Aczkolwiek z tego co zdążyłem zauważyć nie odczytuje mi fragmentu zapytania: WHERE id='".$_POST['2lp']. - najnormalniej nie pobiera ID.
Macie jakieś rady ?
nikt nie ma pomysłu ?