• 1 odgovor
  • 1.605 pregleda
php editovanje rekorda i brisanje veliki problem 24.06.2010. u 17:01 · pre 198 meseci #1
Naime napravio sam bazu i u bazi tabelu sa 17 razlicitih kriterijuma + ID
unos baze mi radi, listanje baze isto.

Medjutim pokusavam napraviti obican query da kad izlistam rekorde iz baze imam mogucnost brisanja i updatovanja sadrzaja u samom rekordu.

Dali neko zna neki php simple script koji mogu promeniti i adaptirati za tu namenu?

pokusao sam nesto da napisem il ida njedjem neku skriptu pa da istu prepravim ukljucujuci i posetu ovom sajtu
(http://www.freewebmasterhelp.com/tutorials/phpmysql/7: http://www.freewebmasterhelp.com/tutorials/phpmysql/7 ) medjutim sve se odigralo potpuno bezuspesno
Re: php editovanje rekorda i brisanje veliki problem 24.06.2010. u 17:19 · pre 198 meseci #2
Tih 18 nazivaju se polja tabele ili atributi entiteta. ID je verovatno primarni ključ u tabeli.

Napravi edit.php skriptu sa formularom:
Code (php):
<?php
if(!isset($_GET['id'])) die('ID not set');
$id = intval($_GET['id']);

if($_SERVER['REQUEST_METHOD'] == 'POST') {
    // obradi podatke i ažuriraj zapis u bazi
}

$r = mysql_query("SELECT * FROM tabela WHERE id=$id");
$d = mysql_fetch_assoc($r);
?>
<form method="POST">
<input type="text" name="ime" value="<?php echo $d['ime']; ?>" />
<input type="submit">
</form>


Da ažuriraš zapis koristiš UPDATE SQL upit. Prethodno očistiš podatke sa intval() i mysql_real_escape_string() kako ne bi imao SQL Injection rupu, baš kao što smo to uradili sa id (pretvarajući ga u broj) na početku. Iako sada samo ti koristiš panel, možda ćeš sličan kod pisati i za nešto gde drugi, pa i zlonamerni napadači, mogu da upisuju.

Code (php):
$db_ime = mysql_real_escape_string($_POST['ime']);
mysql_query("UPDATE tabela SET ime='$db_ime' WHERE id=$id");
header('Location: list.php'); exit();
 


Sada u list.php stranici koja radi SELECT ispišeš linkove na edit.php formu:
Code (php):
<?php
$r = mysql_query("SELECT * FROM tabela");
while($d = mysql_fetch_assoc($r)) {
    echo "$d[ime] <a href='edit.php?id=$d[id]'>edit</a><br/>\n";
}


Kada klikneš na link za uređivanje prenosi se broj zapisa i prikazuje formular jer request method je GET. Kada popuniš i pošalješ formular request method je POST i promena se upisuje u bazu i preusmerava na list.php. Preglednik (engl. browser) sada šalje novi zahtev ka list.php, izvršava se SELECT i prikazuju novi podaci.

Za brisanje se koristi "DELETE FROM tabela WHERE id=$id" upit. Razmisli sam kako bi napravio delete.php skriptu koja prima id i briše zapis iz baze.

U ovom kodu nedostaju mysql_connect() i mysql_close() kao i ostatak HTML strane, ali to ćeš već sam rešiti.
Potpis
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme