Brisanje reda je ok, ali pozivanje funkcije preko href='<?php upis(); ?> ne radi. Da li se to može tako nekako riješiti ili postoji drugi način? Napominjem da mi ne treba URL, nego samo funkcija koja bi odradila malu promjenu u bazi.
Daj još malo mesa (koda) nemoj nam samo kosti u jagmu bacati.
Da l’ si odlučio da ideš AJAX-om il’ običnim HTTP request-om?
Je l’ to forma u pitanju (tj. više njih za svaku porudžbinu)?
Jesi li u razmišljanju da naknadno dodaješ proizvode u narudžbu (?cijenim da jesi jer si ostavio/planiraš mogućnost editovanja narudžbe)
Za sve od ovog treba ti kod. Tj. nama treba da bi znali kako da ti pomognemo.
Isto tako, ako ti je ovo u nastajanju, razmisli o PHP framework-u. Usporiće te za 10-20 dana dok ne savladaš na nivo kojim prikazuješ PHP sad al’ će onda da ti bude puno lakše. Ovo je moja procjena (u slučaju da baš zapneš s učenjem), a možda i griješi pa ti klikne i odradiš to puno lakše i brže.
Hajde prvo da otklonim jednu banalnu sumnju.
Smije li se u PHP-u iz pozvane funkcije pozivati druga funkcija?
Evo npr. smije li neka_funkcija() pozivati test()?
Moguće da tu nešto griješim…
function neka_funkcija() {
// ... code
test();
?>
function test() {
// ... code
?>
Ovo što se prikazuje je u div-ovima i Bootstrap rows. Nisu forme.
Je li znači da se pomoću <a href> ne može pozvati php funkcija (koja bi napravila promjenu u bazi) nego mora AJAX?
Može se pozvati. Sve što sumnjaš možeš provjeriti ovde (ili na svom lokalnom/deelopment serveru).
Ali ti ne može raditi tako za tvoj slučaj. U stisci sam sad s vremenom za detaljan odgovor.
Ne smijem se više upuštati u prijedloge jer je kod već izuzetno nepouzdan.
Recimo da mu stvaraš linkovanje na update route što je GET request a to znači da će svako kucanje URL-a u browser-u (bez ikakvog klikanja linka) raditi promjene na bazi. Pogotovu što će browser pamtiti URL-ove pa će i slučajnih posljedica (a neželjenih biti masu).
Čak i da riješiš role/permission ljudima od povjerenja, kod je vrlo prone to error.
Samo se umrijeti mora.
Uporedo s rečenim u prvom pasusu, AJAX je bolja varijanta jer bi se mog’o postaviti JS confirmation box. Daleko je to od sigurnosti za [moj] standard, al’ daj šta daš.
Ako nisam odavno ponovio, i dalje stojim iza toga da treba da kreneš to u framework-u da radiš.
Pa ako se pratilo od početka topica meni je funkcija za koju pitam (može li se pozivati preko href-a) trebala da upisujem u bazu. Zar var_dump ima neke veze sa upisom u bazu? Napisao sam bezveze, a vidim da je ipak trebalo staviti “neki kod”. No dobro, moja greška…
A u vezi ovog “nemam blage veze o PHP-u :)” stvarno s tim nemam problem. Nije baš da nemam blage, ali nisam puno ni odmakao od toga. Znam da tako stvari stoje, jer ovo mi nije primarno zanimanje. Ali uzeo sam sudbinu u svoje ruke da pokušam nešto promijeniti i rad na sebi je ono u šta trenutno puno ulažem. Pa vidjećemo kakvi će biti rezultati…
Ovo “nemam blage veze o PHP-u” se odnosilo na mene, ne na tebe.
Pa sta si htio postici s tim kodom sto si napisao bezveze ? Moras se malo vise potruditi kada postavljas pitanje, shvatam da si na pocetku i da je tesko se izraziti, ali preleti par puta preko pitanja i probaj procijeniti da li ce druga osoba razumjeti u potpunosti to sto tebe muci.
Ma svakako preletim više puta preko onog što napišem, ali izgleda da još stavljam pretpostavku da se podrazumijeva tamo gdje ne treba.
Valjda je i to neka vještina koja se vremenom savlada…
Pod dojmom objašnjenja koje sam našao googlajući (prije postavljanja pitanja ovdje) pogrešno sam usmjeren da href može sadržavati samo URL, ali ne i funkciju. Još mi @tpojka odmah u prvom odgovoru tražio kod, i da sam ga shvatio kako je trebalo ne bi se ovo traženje rješenja ovoliko razvuklo. Tek kad sam pokušao sa kodom kakav mi je zaista trebao (update u bazi) iznenadio sam se da to zaista i radi.
Taj kod je banalni update u bazi:
function upis(){
$db = mysqli_connect('localhost','root','','name') or die("Connection error");
$sql = "UPDATE narudzbaStatus
SET transport = 1
WHERE id = 340";
$query = mysqli_query($db,$sql);
}
E sad ovdje nastaje novi problem. Dok je ovaj <a> imao funkcionalan samo onclick, ali ne i href, radio je to što treba - brisao željeni red iz popisa (odnosno jedan div). Čak se i ostatak liste (ispod njega) pomjerao za jedno mjesto nagore. Dakle, tačno ono što mi je trebalo. No, osim brisanja trebala mi je istovremeno i promjena u bazi. Međutim, kad sam u <a> dodao ovaj dio href='<?php upis(); ?>' nije radilo kako sam zamislio. I tada se Href izvršavao, ali onclick ne. Kako ih natjerati da se oba izvrše?
Ako se ne varam, onclick je default behavior za href, i kada su oba definisana izvršavaju se po nekom redu, ali ne znam po kojoj logici se to određuje. Da li se u ovom slučaju dešava neki konflikt te vrste i treba li (može li?) se usporiti izvršavanje jednog na konto drugog? Ili je možda nešto treće u pitanju?