[ preamable @ 24.06.2010. 17:01 ] @
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
[ Goran Rakić @ 24.06.2010. 17:19 ] @
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.