Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

php editovanje rekorda i brisanje veliki problem

[es] :: PHP :: PHP za početnike :: php editovanje rekorda i brisanje veliki problem

[ Pregleda: 1184 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

preamable
Beograd

Član broj: 190312
Poruke: 88
*.kbcnet.rs.



+1 Profil

icon php editovanje rekorda i brisanje veliki problem24.06.2010. u 17:01 - pre 168 meseci
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
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: php editovanje rekorda i brisanje veliki problem24.06.2010. u 17:19 - pre 168 meseci
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.

http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: php editovanje rekorda i brisanje veliki problem

[ Pregleda: 1184 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.