Programeri.com

Programeski Web Blog

Konekcija sa MySQL

Avgust22

Znaci za sada imate MySql instoliran na vasem kompjuteru ili koristite server koji ima MySql instoliran. Jedan problem sto sam imo prije je svaki put kada zelim da napravim novu bazu podataka nisam bio u mogucnosti i moro sam svaki put pitati Sirmu da to uradi, (Sirmo – codeum administrator). Naravno dok nisam naucio PHP :)

Evo i komande kako da napravite vasu bazu podataka.

Recimo da zelimo da napravio knjigu gostiju. i treba nam baza podataka sa informacijama.

$sql = 'CREATE TABLE `knjiga_gostiju` (
`kg_ime` VARCHAR( 40 ) NOT NULL,
`kg_prezime` VARCHAR( 40 ) NOT NULL,
`kg_subjekat` VARCHAR( 100 ) NOT NULL,
`kg_datum` DATE DEFAULT '0000-00-00' NOT NULL,

`kg_id` INT NOT NULL auto_increment,
`kg_ip` VARCHAR( 50 ) NOT NULL,
`kg_text` TEXT NOT NULL
PRIMARY KEY ( `kg_id` )
)';
echo 'baza podataka napravljena !';
mysql_query( $sql );

VAZNO nemoj da zaboravite da napravite konekciju sa bazom podataka i tek onda da pravite bazu podataka. ISTO TAKO PAZITE DA nezatvorite konekciju sa bazom podataka jer ako to uradite nece biti u mogucnosti da napravite tabelu.

Objasnjenje:
CREATE TABLE `knjiga_gostiju`

Create je komanda u MySql koja ce napraviti tabelu koja se zove knjiga_gostiju

`kg_ime` VARCHAR( 40 ) NOT NULL,
`kg_prezime` VARCHAR( 40 ) NOT NULL,
`kg_subjekat` VARCHAR( 100 ) NOT NULL,
`kg_datum` DATE DEFAULT '0000-00-00' NOT NULL,
`kg_id` INT NOT NULL auto_increment,
`kg_ip` VARCHAR( 50 ) NOT NULL,
`kg_text` TEXT NOT NULL
PRIMARY KEY ( `kg_id` )

VARCHAR (40) stoji za jednu liniju texta duzine 40 charactera.
DATE je naravno za datum, i u slucaju da ne postavite datum pisace 0000-00-00.
INT je integer vrijednost. BROJ od 0 pa nadalje

auto_increment znaci da ako se jedna osoba upisala u bazu podataka i kada tu bazu update kg_id broj ce se automatski promjeniti (prosli_broj + 1).
TEXT je erija gdje mozete da pisete vece textove kao sto ce u nasem slucaju biti poruka.
PRIMARY KEY ( `kg_id` ), postavljamo kg_id da bude glavni kljuc ove baze podataka i svi ostali ce biti povezani sa tim brojem.
NOT NULL znaci da vrijednost tog polja nemoze ostati prazan. Ako necete da dobijate errors uklonite ovu opciju.

Evo kako bi sve trebalo da izgleda.

<?php
$link = mysql_connect("localhost","username","password");
if(! $link)

die("Nismo se konektirali u bazu podataka");
else
{
$sql = 'CREATE TABLE `knjiga_gostiju` (
`kg_ime` VARCHAR( 40 ) NOT NULL,
`kg_prezime` VARCHAR( 40 ) NOT NULL,
`kg_subjekat` VARCHAR( 100 ) NOT NULL,
`kg_datum` DATE DEFAULT '0000-00-00' NOT NULL,
`kg_id` INT NOT NULL auto_increment,
`kg_ip` VARCHAR( 50 ) NOT NULL,
`kg_text` TEXT NOT NULL

PRIMARY KEY ( `kg_id` )
)';
echo 'baza podataka napravljena !';
mysql_query( $sql );
}
";

mysql_close($link);
print "sve radi kako treba";
?>

To je to… Ako ste sve uradili kako treba, onda trebate da dobijete poruku sve radi kako treba…. Ako niste a sigurni ste da ste uradili sve kako treba javite se putem foruma.

Znaci sada imamo bazu podataka koja se zove knjiga_gostiju…
Slijedeci korak ce biti da se konektiramo sa bazom podataka i da pokupimo par informacija iz te baze podataka a i ujedno da sahranimo neke podatke u tu istu tabelu….

Nastavak kasnije :)

Kategorija: Ostalo | Bez Komentara »

PHP Form

Avgust22

Recimo sada zelite da imate forum fields gdje ce gost biti u mogucnosti da pohrani informacije u bazu podataka.

 <html>
 <head>
 <title>Knjiga Gostiju</title>
 </head>

 <body>
 <form action="knjiga_gostiju.php" method="post">

 Ime:
 <input type="text" name="ime">

 E-mail:
 <input type="text" name="email">

 URL Stranice:
 <input type="text" name="url" value="http://">

 Komentar:
 <textarea name="koment" cols="45" rows="5">
 </textarea>
 </body></html>
 

ovo je obicni html i <?php i ?> nisu ni potrebni.. sad za sad Eto to je to za sada slijedeci put cemo da napravimo tutorial kako da se upisu vrijednosti iz forme u bazu podataka….
Pozdrav Svima

Kategorija: Ostalo | Bez Komentara »

PHP OOP

Avgust22

Koriste se za definisanje objekta ? klasa je samo sablon na osnovu koga se kreiraju objekti. Na osnovu jedne definicije klase moguce je kreirati vise objekata. Novi objekat se kreira upotrebom kljucne rijeci new na sledeci nacin:

<ime_varijable > = new <ime_klase>(<lista_varijabli>)
<lista_varijabli> – varijable koje se predaju konstruktoru

NPR: $obj = new my_class();

 class <ime_klase>
 {
     <varijable>
     <konstruktor klase>
     <funkcije>
 }
 

<varijable> – lista varijabli koje ce biti koristene unutar klase

<konstruktor klase> – funkcija istog imena kao i klasa koja se poziva kada se kreira nova instanca klase
<funkcije> – funkcije klase

4.1 Varijable

 class c_test
 {
     //test varijable
     var $a;
     var $b;

 }

 $a = new c_test(); // kreiranje objekta "a" na osnovu klase "c_test"
 $b = new c_test(); // kreiranje objekta "b" na osnovu klase "c_test"
 

Ovde su $b i $a objekti ili instance klase c_test. Prustup varijablama se vrsi kao:

 $a->a = "varijabla a"
 $a->b = "varijabla b"

 echo $b->a; //izlaz je "", zato sto varijable objekta b jos nisu primile //nikakvu vrijednost i zato sto nemaju nikakve veza sa objektom a.

 echo "ja sam " . $a->a ; //izlaz je "ja sam varijabla a"

 echo "a ja " . $a->b ; //izlaz je "a je varijabla b"
 

Operator "->" – koristi se za pristup clanovima klase.

4.2 Funkcije

 class c_test
 {

     //test varijable
     var $a;
     var $b;
     function zbir() { return $this->a + $this->b; }
     function produkt() { return $this->a*$this->b; }
     function razlika() { return $this->a-$this->b; }

     function kolicnik() {
     if ($this->b != 0){
         return $this->a/$this->b;
     }else{
         return "nije definisano" ;
     }

     function pozovi_zbir(){
         //primjer pozivanja funkcije
         return ($this->zbir());
     }
 }
 

$this – isto kao $a->a za pristup varijabli a u objektu a, $this->ime_varijable koristi se za pristup varijabli koja je definisana u klasi, za varjable u oblasti funkcije ne treba koristiti $this.

 $obj = new c_test();

 $obj->a = 15;
 $obj->b = 20;

 echo $obj->zbir(); // izalz je 35
 echo $obj->produkt(); // itd.

 echo $obj->razlika; //ne radi zato sto nema "()" iza funkcije;
 

4.3 Konstruktori klase
Konstruktor klase je funkcija koja se poziva prilikom kreiranja nove klase. Funkcija je konstruktor ako ima isto ime kao i klasa.

 class test {
     function test() { echo "testing..."; }
 }

 $x = new test(); //
 $y = new test(); // ) ? svaki put se poziva funkcija test() klase test
 $z = new test(); // /

 class osoba{
    var $ime;

    var $prezime;
     function osoba ($ime ="", $prezime="") //konstruktor
     {
         $this->ime = $ime;
         $this->prezime= $prezime;
     }
 }

 $x = new osoba("abc","xyz"); //ovi argumenti su predati funkciji "osoba"
 $y = new osoba(); //argumenti su izostavljeni pa se koriste podrazumijevane vrijednosti

 echo $x->ime . "
 "; //abc
 echo $x->prezime; //xyz
 

4.4 Nasle?ivanje

 class <nova_klasa> extends <osnovna_klasa>
 {
 }
 

Ovako definisana klasa nasledjuje sve osobine osnovne klase. Sve funkcije koje je imala osnovna klasa bice dostupne u novoj klasi. Ako nova klasa nema konstruktora koristi se konstruktor osnovne klase ukoliko postoji.

NPR:

 class a{
     function aa(){ echo "ovo je funkcija aa klase a
 "; }
 }
 class b extends a{
     function bb(){ echo '"ovo je funkcija bb klase b
 "; }
 }
 

Klasa b je naslijednila sve osobine klase a, klasa a sadrzi funkciju aa, a klasa b sadrzi funkciju aa i bb.


 $x = new b();
 $b->aa();
 $b->bb();
 

Izlaz:
ovo je funkcija aa klase a
ovo je funkcija bb klase b

Kategorija: Ostalo | Bez Komentara »

Photoshop do WebStranice

Avgust1

Evo korak po korak instrukcije kako da isjecete PDF sliku i napravite webstranicu.

Stranica je na Engleskom, ali se moze vidjeti svaka instrukcija.

Pogledajte stranicu ovdje

Kategorija: Ostalo | Bez Komentara »

iPhone windows programiranje

juli28

Steta! Da bi programirali i pravili iPhone aplikacije morate imati Mac OS X! Pronaso Sam par aplikacija koji kazu da omogucavaju windows iPhone programiranje medjutim sve koje sam probo nisu radile ono sto sam trazio! Iskreno se nadam da ce se apple opametiti i promjeniti misljenje i windows programiranju. Ako znate za dobru soluciju postavite komentar.

Kategorija: Ostalo | 2 Komentara »

Google “keyword” Search

juli14

Dali ste ikada zeljeli da imate “google” search na vasoj stranici u vasoj bazi podataka? Naravno, bez explode(” “, $text) i onda WHERE moj_text IN ($text), vec bas tekst koji trazite onako kako ste ga napisali. Fulltext opcija u MySQL and SQLlight vam pruza ovu mogucnost. U MySQL, na primjer, kada pravite definicije od table, jedna od opcija ce da bude fulltext.

CREATE TABLE `moji_text` (
  `id` int(11) NOT NULL auto_increment,
  `moj_text` text character set utf8,
  PRIMARY KEY  (`id`),
  FULLTEXT KEY `moj_text` (`moj_text`)
)

Znaci, sada imamo field moj_text koji radi kao fulltext. Jedino sto je preostalo je napraviti select query.

SELECT *
  MATCH(moj_tex)
AGAINST ('".trim($trazilica)."' IN BOOLEAN MODE) AS score
FROM
  moj_text
WHERE
  MATCH(sp.PHRASE)
AGAINST ('".trim($trazilica)."' IN BOOLEAN MODE)

$trazilica u ovom slucaju je text koji zelite da nadjete. Znaci bilo sta “Programeri su najbolji” na primjer; Ovaj select statement ce da vrati score kao jedan od rezultata. Sto znaci ako imate tekst u bazi podataka koji ima rijec najbolji na kraju a Programeri na pocetku i imate drugi text gdje imate Programeri i najbolji blizi jedno drugom, drugi text ce imati jedan dok ce prvi text imati dva.

To je to, postavite pitanja ako zelite malo vise detalja.

Kategorija: Ostalo | Bez Komentara »

PDFLib – Dinamicni PDF Documenti

juli14

Vec par godina radim sa PDFLib i pravim dinamicne PDF documente. Za one koji su zainteresovani stranica je http://www.pdflib.com/. Jeste da se program placa, po serveru, medjutim program je praktican i veoma lagan za koristit. Naravno, svaki program ima svoju kompeticiju, i vjerujte mi da sam probo skoro pa svaku. PDFLib je izasao kao daleko najbolja solucija za moju kompaniju, pogotovo sa novom verzijom 7.0 koja pruza puno vise kada je u pitanju HTML output. Za one koji su malo vise zainteresovani, i zele da vide tutoriale na stranici, javite se na email admin@programeri.com.

Kategorija: Ostalo | Bez Komentara »

IPhone Zivotna Linija

juli10

Iphone, life cycle, od prvog dana kada se ideja pojavila pa do danas, to jeste sutra Jula 11tog kada nova verzija IPhona izlazi.

Pogledajte Ovdje

Kategorija: Ostalo | Bez Komentara »

Cheat Sheet Za Web Developere

juli10

Imam par isprintani u officu i poneka mi bas dobro dodju.

Pogledajte Ovdje

Kategorija: Ostalo | Bez Komentara »

Programer – Sa Skolom ili Bez

Juni24

Ova tema je postala veoma popularna u zadnjih par godina. Broj programera bez skole je drasticno povecan u zadnjih par godina, i jedan od razloga je ekonomija. Programera su placeni prilicno dobro, u Americi i sirom svijeta, zasto ne uloziti godinu i dvije, nauciti jezik i zaradzivati pare kao programer sa skolom. Medjutim pitanje ostaje, dali bi kompanija trebala da primi programere bez skole i kakve su posljedice ako ih primi?

Kategorija: Ostalo | 1 Komentar »
« StarijeNovije »

Log in to post a comment.