Trebam za seminarski da napravim mini studentsku sluzbu koja ima unos novih studenata i izmjene postojecih . Imam bazu sa tabelom dosije u kojoj ima: indeks, ime, prezime, god_studija itd.
U html fajlu izmjene.html trazim od korisnika unos imena i prezimena a zatim u fajlu izmjene.php, povezem se sa bazom i pokupim potrebne informacije (ime, prezime, br indeksa itd.) u odgovarajuce promjenljive $ime, $prezime itd.
E sad te informacije treba da prikazem i omogucim njihovu promjenu. To sam uradio tako sto sam na kraj fajla izmjene.php stavio:
include(‘student.html.php’); //ovo je novi fajl u koji cu smjestati informacije i u ovom fajlu imam nesto ovako:
Indeks: "/>
Ime: "/>
Medjutim ovo ne radi, tj dobijem ova polja ali prazna. Kako da ih popunim iz fajla izmjene.php?
A odakle ti vrijednosti za $index, $ime … ?
Moras dohvatiti taj red, tj. fajlu student.html.php nekako proslijediti broj indeksa, recimo ovako da imas $index = 12345 i kad uradis include tog fajla u njemu uradis:
$result = mysql_query("SELECT * FROM `dosije` WHERE indeks='$index'");
$red = mysql_fetch_assoc($result);
I sada imas array $red u kom imas $red[‘ime’] pa mozes stavljati:
Ime: "/>[/quote]
Ovdje nedostaje neka komanda za ispis npr. echo:
Indeks: <input name = "indeks" type = text value = "<?php echo $indeks ?>"/> <br/>
Ime: <input name = "ime" type = text value = "<?php echo $ime ?>"/>
[/quote]
Tako je, echo je bio problem! Jao sto sam glup.
@adioe: informacije vadim iz onog izmjeni php, ali rijesio sam, echo je nedostajalo.
Hvala svima.
P.S. Necu prepravljati temu na “RIJESENO” bice jos pitanja 100%.
$upit = mysql_query(“SELECT * FROM dosije WHERE ime = ‘$name’ AND prezime = ‘$lastname’”);
if …ako nema studenta sa tim imenom javi poruku i vrati na izmjene.php
else
{
while($red = mysql_fetch_array($upit))
{
$indeks = $red[‘indeks’];
$ime = $red[‘ime’];
$prezime = $red[‘prezime’];
…
E kako napraviti ovo da mi javi gresku?
Drugo, ako imam npr 3 studenta koji se isto zovu i prezivaju kako da napravim na dugme sledeci da mi se onaj sadrzaj fajla student.html.php ispunjava novim podacima (dok ih ima). Postoji li nesto tipa next?
Kako mislis “javi gresku”, da ti posalje mail? Iskoci popup? Prikaze poruku pa redirecta nakon nekog vremena? Generalno, mozes raditi redirect JavaScriptom, evo ovo redirekta nakon 5 sekundi:
Jedna metoda da dohvatis sljedeceg studenta je da imas auto_increment primary key u tabeli i (ako pretpostavimo da je ID primary key polje a trenutni student je $red) opalis ovakav query:
$upit = mysql_query(“SELECT * FROM dosije WHERE ime = ‘$name’ AND prezime = ‘$lastname’”);
if …ako nema studenta sa tim imenom javi poruku i vrati na izmjene.php[/quote]
if (mysql_num_rows($upit)==0) {
print “Greška. <a href="izmjene.php">Nazad na izmjene.php”;
} else {
…
}
Jedan način je da imaš jedno hidden polje u formi koje označava redni broj studenta, onda možeš imati ovako otprilike:
<?
...[/code]
Onda ga koristiš u SQL upitu u LIMIT dijelu, ovako:
$upit = mysql_query("SELECT * FROM dosije WHERE ime_prezime LIKE '%$name%' LIMIT $rbr,1");
Ovo 1 ti označava da želiš samo jedan slog na mjestu $rbr, znači za efekat pretrage možeš koristiti i veći broj.
Nije univerzalno :P[/quote]
Definiši “univerzalno”.[/quote]
Pa et navodno ima servera na kojima su pogaseni short tags pa nece raditi, radi toga nisu pouzdani.
i radi ovoga sto se moze desiti, nisam siguran
12:00 < adioe3> upravo mi serviran +1 razlog da se kanim phpa polako
12:00 < adioe3> php6 deprecates short tags
12:00 < adioe3> for fucks sake, why?
Doduse cini mi se da ce samo biti izgaseni po default. Ali iskreno me nije bas ni briga. Ono je bilo malo sarkazma
Svaki iole pristojan hosting ti nudi da edituješ php.ini, osim toga neki hoće da u php6 deprecate štošta nešto a slabo da će šta od toga biti, prije da neće biti php6.
Šta recimo sa sljedećim kodom u datoteci koju parsa PHP?
Napomena: short_open_tag = On
Evidentno je da u tom slučaju PHP daje syntax error
čime je narušena premisa da PHP interpreter može parsati miksane deklaracije bilo kakvog standardnog HTML,XHTML koda i PHP koda (što je često slučaj ako koristite HTML bazirane template jezike, ili nedaj bože intermiksate HTML i PHP u istoj datoteci )
(x)HTML je poprilično “embeddable” jezik, ali je veoma važno koristiti korektno formirane HTML/XML tagove. To očigledno nije slučaj ako koristite PHP short tags.
P.S.
Naravno, svaki put kada PHP developeri dodaju neki glupi switch u php.ini datoteci efektivno kreiraju novu sintaksnu varijantu PHP jezika. Tako da možemo pričati o PHP_without_short_tags i PHP_with_short_tags
Ne prolazi XML validaciju? Koga briga, važno je da je izlaz validan. Ideja da source kod mora biti validan XML je suluda i ne znam ni za jedan drugi jezik nivoa kompleksnosti PHPa koji to može garantovati. A to što neko svako malo uzima sebi za pravo da definiše “premise” i onda se čudi kad nisu ispoštovane - njegov/njen problem, neka forka PHP i pravi svoj klon Jave.