Mysql seminarski

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:

[quote=boby]Indeks: "/>

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=vedran][quote=boby]Indeks: "/>

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. :slight_smile:

@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%. :smiley:

Preporuka…
Uradi search po odr. parametru, izbaci listu svih studenata po zadatom kriterijumu, sa link-ovima za edit.

adioe3 me nagovorio, pa u zadnji vaqat koristim short-tags : <?= $var ?> umjesto <?php echo $var;?> :slight_smile:

[quote=Bo]Preporuka…
Uradi search po odr. parametru, izbaci listu svih studenata po zadatom kriterijumu, sa link-ovima za edit.

adioe3 me nagovorio, pa u zadnji vaqat koristim short-tags : <?= $var ?> umjesto <?php echo $var;?> :)[/quote]
ne valjda short tags?!?!? Nooooo!!!

Zašto?

OK evo mene sa novim pitanjem:

$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?

student.html.php:

Br. Indeksa: <?php echo $indeks ?>

Ime: "/>

Prezime "/>

Hvala.

  1. 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:
  1. 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:

Ako ne kontas kako ovo radi reci pa pojasnim.

Zasto komplikovati stvari…

Uradi search search po imenu i prezimenu (stavi kao jedan field u mysql)

search.php (spartanski)

[code]<?php
if(isset($_POST[‘pretraga’]))
{
$name = $_POST[‘ime’];
$upit = mysql_query(“SELECT * FROM dosije WHERE ime_prezime LIKE ‘%$name%’”);
$rezultat = mysql_fetch_assoc($upit);
}
?>
HTML goes here…

<? foreach($rezultat as $student): ?> ... <? endforeach ?>
<?=$student['ime_prezime'];?> <?=$student['broj_indeksa'];?>
[/code] edit.php: [code]if(isset($_GET['id'])) { $id = $_GET['id']; $upit = mysql_query("SELECT * FROM dosije WHERE id='$id'"); $rezultat = mysql_fetch_assoc($upit); } ....[/code]

Zašto?[/quote]
Nije univerzalno :stuck_out_tongue:

Zašto?[/quote]
Nije univerzalno :P[/quote]
Kutija drine? Sarajevske drine. Kutija drine? Sarajevske drine. Kutija drine? Ljepilo, Univerzal! :smiley:

[quote=boby]OK evo mene sa novim pitanjem:

$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]$rbr = intval($_REQUEST[‘rbr’]);
?>
Prethodni student
Sljedeći student

<? ...[/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.

Zašto?[/quote]
Nije univerzalno :P[/quote]
Definiši “univerzalno”.

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 :slight_smile:

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.

Ok, ljudi sve ovo je dosta dobro, moram probati pa se javim.

Da, gresku treba samo da napise: “Ne postoji taj student” i da onda opet ode na izmjene.php gdje se unosi ime i prezime studenta ponovo.

Javim se kasnije.

prelazimo svi na asp :stuck_out_tongue:

Š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 :smiley: )

(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 :slight_smile:

Šta je problem s ovim:

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.