SQL Update iz forme

1

SQL Update iz forme

offline
  • _tigar  Male
  • Novi MyCity građanin
  • Stojan Karpic
  • Pridružio: 25 Avg 2011
  • Poruke: 20

Izcitavam stvari iz baze u formu, ali kako mogu da kad se klikne ne submit da izvrsi update funkciju u bazi? Pokusavao sam jednostavno preko upisti ako je method="post" i onda preko post pokupim sve vrednosti, ali ne funkcionise kako treba...



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • lnenad  Male
  • Stručni saradnik
    Web
  • Nenad
  • Arhitetak
  • Pridružio: 16 Jan 2007
  • Poruke: 2860
  • Gde živiš: Bijeljina

Dodas jedan input tipa "hidden" koji ce da sadrzi identifikaciju tog reda koji updatetujes, i onda koristi SQL funkciju UPDATE.



offline
  • _tigar  Male
  • Novi MyCity građanin
  • Stojan Karpic
  • Pridružio: 25 Avg 2011
  • Poruke: 20

Znaci trebam sve trenutne vrednosti da izcitam u hidden polje (jedan element jedan hidden)?

offline
  • PHP Developer
  • Pridružio: 02 Okt 2005
  • Poruke: 546

Meni nije jasno sta hoces da napravis al samo da napomenem da hiden polja nisu sigurna, tj i njih korisnik moze da menja.
Generalno kad pravis interakciju sa korisnikom neveruj ni samom sebi sve proveravaj pre upisa u bazu.

offline
  • _tigar  Male
  • Novi MyCity građanin
  • Stojan Karpic
  • Pridružio: 25 Avg 2011
  • Poruke: 20

Pa imam elemente koje izcitavam u stranicu za detaljan pregled, e sad sam izcitao sve to u formu da bih korisnik mogao da modifikuje sadrzaj, sve izcitavam sa "ID-om" od elementa, tako bih sad trebalo da napravim da se moze sadrzaj modifikovati, sad nisam sigurna, da li je opcija update takodje prava? Sad

offline
  • PHP programer
  • Pridružio: 26 Okt 2007
  • Poruke: 1064
  • Gde živiš: u Apache

Ako sam te ja dobro razumeo,tebi treba mogućnost da update-uješ sve parametre vezane za određeni proizvod..U tom slučaju treba ti update.

Ovde su izlistani proivodi sa svim parametrima i tu menjam sve npr. cena ,opis,količina itd.
Ako je to to,napiši ,pa ću ti okačim kod,skripte,koje ćeš morati malo da modifikuješ sa svojim promenljivima koje imaš u bazi.


offline
  • _tigar  Male
  • Novi MyCity građanin
  • Stojan Karpic
  • Pridružio: 25 Avg 2011
  • Poruke: 20

Da, prakticno tako, kad prepravim i kliknem npr. na ok. da onda update-je na nove podatke koji su uneseni... hvala puno Smile

offline
  • lnenad  Male
  • Stručni saradnik
    Web
  • Nenad
  • Arhitetak
  • Pridružio: 16 Jan 2007
  • Poruke: 2860
  • Gde živiš: Bijeljina

_tigar ::Znaci trebam sve trenutne vrednosti da izcitam u hidden polje (jedan element jedan hidden)?

Ne ne, nego samo id, a ostalo naravno u tekst kutije ili sta vec Smile I onda prosledjujes ID SQL komandi UPDATE, tj
UPDATE xxxx SET xxxx WHERE id="$_GET['hiddenidpolje']"

offline
  • PHP programer
  • Pridružio: 26 Okt 2007
  • Poruke: 1064
  • Gde živiš: u Apache

@tigar, evo ti kod,2 skripte

Article.class.php
<?php class Article { public $id; public $naziv; public $sifra_artikla; public $opis; public $cena_bez_pdv; public $cena_sa_pdv; public $proizvodjac; public $rasprodaja; public $akcija; public $jm; public $cena_bez_pdv_euro; public $cena_sa_pdv_euro; public function __construct($args) {    $this->id=$args[0];    $this->sifra_artikla=$args[1];    $this->naziv=$args[2];    $this->opis=$args[3];    $this->proizvodjac=$args[4];    $this->rasprodaja=$args[5];    $this->akcija=$args[6];    $this->jm=$args[10];    $this->cena_bez_pdv=$args[11];    $this->cena_sa_pdv=$args[12];    $this->cena_bez_pdv_euro=$args[13];    $this->cena_sa_pdv_euro=$args[14];     } public function update()    {    //echo "update articles set title='$this->title',text='$this->text' where id=$this->id";       mysql_query("update rucni_alati set   sifra_artikla='$this->sifra_artikla',  opis='$this->opis' , proizvodjac='$this->proizvodjac', cena_sa_pdv= '$this->cena_sa_pdv', rasprodaja= '$this->rasprodaja' , akcija= '$this->akcija' , jm= '$this->jm' , cena_bez_pdv= '$this->cena_bez_pdv' , cena_sa_pdv_euro='$this->cena_sa_pdv_euro' , cena_bez_pdv_euro='$this->cena_bez_pdv_euro'               where id=$this->id");    }     public static function getAll() {    $res = array();    $r = mysql_query("select * from rucni_alati");    while($args = mysql_fetch_array($r))    {       $res[] = new Article($args);    }    return $res; } public static function getById($id)    {       $r = mysql_query("select * from rucni_alati where id=$id limit 1");       $args = mysql_fetch_array($r);       $art = new Article($args);       return $art;    } } ?>

i drugi,

articles.php

<?php include "Article.class.php"; require '../connect.php'; mysql_query("set names 'utf8'"); $selectedArticle=new Article(array('-1','','','','','','','','','','','','','','')); $allArticles = Article::getAll(); if(isset($_GET['aid'])) { foreach($allArticles as $art) if($art->id == $_GET['aid']) {    $selectedArticle=$art;    break;    } } if(isset($_POST['btnUpdate'])) { $selectedArticle=Article::getById($_POST['artId']); $selectedArticle->sifra_artikla= $_POST['sifra_artikla']; $selectedArticle->naziv= @$_POST['naziv']; $selectedArticle->opis= $_POST['opis']; $selectedArticle->cena_sa_pdv= $_POST['cena_sa_pdv']; $selectedArticle->cena_bez_pdv= $_POST['cena_bez_pdv']; $selectedArticle->proizvodjac= $_POST['proizvodjac']; $selectedArticle->rasprodaja= $_POST['rasprodaja']; $selectedArticle->akcija= $_POST['akcija']; $selectedArticle->jm= $_POST['jm']; $selectedArticle->cena_sa_pdv_euro= $_POST['cena_sa_pdv_euro']; $selectedArticle->cena_bez_pdv_euro= $_POST['cena_bez_pdv_euro']; $selectedArticle->update(); echo "Uspesno ste editovali sadrzaj"; } ?> <form action="articles.php" method="post" > <select  name="artId" onChange="window.location='articles.php?aid='+this.value"> <option width:300px; value="0">Izaberi proizvod</option> <?php foreach($allArticles as $arts) { ?> <option <?php if($selectedArticle->id ==  $arts->id) echo " selected='selected' "; ?> value="<?php echo $arts->id; ?>"><?php echo $arts->naziv; ?></option> <?php } ?> </select><br/> Šifra proizvoda:<br /> <input type="text" name="sifra_artikla" value="<?php echo $selectedArticle->sifra_artikla; ?>" /><br /> Opis proizvoda:<br /> <textarea cols="60" rows="15" name="opis"><?php echo $selectedArticle->opis; ?></textarea><br /> Proizvođač:<br /><input type="text" name="proizvodjac" value="<?php echo $selectedArticle->proizvodjac; ?>" /><br /> <br /> Cena bez PDV(u dinarima):<br /><input type="text" name="cena_bez_pdv" value="<?php echo $selectedArticle->cena_bez_pdv; ?>" /><br /><br /> Cena sa PDV(u dinarima):<br /><input type="text" name="cena_sa_pdv" value="<?php echo $selectedArticle->cena_sa_pdv; ?>" /><br /><br /> Cena bez PDV(u evrima):<br /><input type="text" name="cena_bez_pdv_euro" value="<?php echo $selectedArticle->cena_bez_pdv_euro; ?>" /><br /><br /> Cena sa PDV(u evrima):<br /><input type="text" name="cena_sa_pdv_euro" value="<?php echo $selectedArticle->cena_sa_pdv_euro; ?>" /><br /><br /> rasprodaja:<br /><input type="text" name="rasprodaja" value="<?php echo $selectedArticle->rasprodaja; ?>" /><br /> <br /> Akcija:<br /><input type="text" name="akcija" value="<?php echo $selectedArticle->akcija; ?>" /><br /> <br /> Jedinica mere/KOM:<br /><input type="text" name="jm" value="<?php echo $selectedArticle->jm; ?>" /><br /> <br /> <input type="submit" name="btnUpdate" value="Update" /> </form>

Ovo ti je kod za screenshot koji sam ti prvo dao,koji apdejtuje sve sa slike...poveži se sa bazom,izmenjaj parametre ,tj., stavi svoje promenjive,ali pazi koji ti redni broj zauzima neka promenljiva,jer u suprotnom može da se desi da se neka ne očita ili bude očitana u pogrešnom polju,npr. cena se očita u količini itd...experimentiši malo.Ovo provereno radi,ja imam proizvode sa tim,kao što možeš videti.

offline
  • _tigar  Male
  • Novi MyCity građanin
  • Stojan Karpic
  • Pridružio: 25 Avg 2011
  • Poruke: 20

Hvala puno, moram samo detaljno prouciti, u svakom slucaju sad mora funkcionisati Smile

Ko je trenutno na forumu
 

Ukupno su 1145 korisnika na forumu :: 111 registrovanih, 12 sakrivenih i 1022 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 8u47, A.R.Chafee.Jr., amstel2, Apok, Aquarius73, Arhiv, armor, B61, babaroga, bigfoot, black sabah, Bo96, bokisha253, bolimejoli, Bosnjo, cemix, crazydkure, Crazzer, croato, darkangel, DavidA, del boy, Denaya, Dimitrise93, Djokislav, Djota1, DJUNTA, dolinalima, ds69, DucicM, dule10savic, E_Kurir, Electron, Flotikius, FOX, Frunze, Gall, Georgius, goran.vvv, GrobarPovratak, Igor Antonic, ivan979, ivanb, jalos, JK, jodzula, Jomini, jovapad, kovinacc, KUZMAR, kybonacci, lavi, Lotus, lucko1, M74AB3, Macalone, Manjane, Marko Marković, Marko1238, mauglibn, Mercury, metallac777, Miki281, milenko crazy north, Milo97, Milometer, Mitogna, moldway, monomah, MrNo, N.e.m.a.nj.a., Nikola00, nisamBot, novator, nuki1234, Ognjen D., oldtimer, Oscar, Panter, Polemarchoi, Prečanin30, Profesor_018, proka89, raster12, Ray1973, RD84, redstar72, repac, rikirubio, ruma, Sagotolio, Sarmat, shota91, Sir Budimir, Sirius, skvara, solic, Srky Boy, stalja, StalniPromatrač, synergia, Tribal, uruk, Vica1958, Visionary, VJ, voja64, wolverined4, ZetaMan, zixmix, šumar bk2