Siemanko !
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:
<input type="text" name="adv_name" style="margin-left: 20px; width: 300px; margin-bottom: 4px;" value="{ADV_NAME}"/> <textarea name="adv_txt" style="width: 94%; margin-left: 20px; height: 200px; resize: vertical;">{ADV_TXT}
</textarea><br/> <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 ?')"/> <table style="width: 95%; margin: 0 auto; margin-top: 10px;"> <td class="row1" width="30"> Lp.
Nazwa / Treść
<td class="row1" width="30" align="center"> Usuń
<td class="row1" width="30" align="center"> Edytuj
<!--Begin_OGL-->
<td style="background: #bbb; padding: 3px;">{ID_OGLOSZENIE} :: {LP_OGLOSZENIE}
</td> <td style="background: #ddd; padding: 3px;">» {NAZWA_OGLOSZENIE} - {TRESC_OGLOSZENIE}
</td> <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> <td style="background: #9DBA8F; padding: 3px;" align="center"><form method="post"><input type="submit" name="adv_edit" value="E" title="Edytuj" style="color:#339B42; cursor: pointer;"/><input type="hidden" name="2lp" value="{LP_OGLOSZENIE}"/>{LP_OGLOSZENIE}
</td> <!--End_OGL-->
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 ?