[ Zlatiborac @ 10.10.2004. 20:10 ] @
Poshto sam nov sa Smarty-jem, ali imam nekog iskustva sa PHPom (nemoj se smejesh Zoka :) ) hteo bih da vas zamolim da prenesete neke linkove ili primere kako bih se shto lakshe privikao na ovo okruzenje. Preshao sam crash course na smarty.php.net i neke stvari su mi dosta jasnije.,., sada bih zeleo da krenem malo dublje.,., bazice, forme.,.,., tako ako imate linkove ili primere ili postujte ovde ili shaljite na PP, kako vam je lakshe.
Znam da u prethodnim postovima ima linkova ali dajte da ih objedinimo pod jednu temu da bi ostalim pochetnicima bilo lakshe da se snadju. Hvala unapred.
[ Zlatiborac @ 10.10.2004. 20:45 ] @
UPS.,., onda sam izgleda omashio forum i profesiju.,.,.

Ovo nadjosh na phpinsider-u.,.,

Code:
<?php 
include_once("DB.php"); 

// create object 
$smarty = new Smarty; 

$dsn = "dbtype://username:[email protected]/dbname"; 
$db = DB::connect($dsn, true); 
if (DB::isError($dsn)) 
  die ($db->getMessage()); 

/* 
* Here is the SQL statement we use to specify 
* our table headings. 
*/ 
$sql = "SELECT 
               first_name AS \"First name\", 
               last_name AS \"Last Name\", 
               company AS \"Company\", 
               address_1 AS \"Address 1\", 
               address_2 AS \"Address 2\", 
               city AS \"City\", 
               state AS \"State\", 
               zip_code AS \"Zip Code\", 
               tel_work AS \"Phone (Work)\", 
               tel_cell AS \"Cell\", 
               tel_fax AS \"FAX\", 
               email AS \"Email\", 
               url AS \"Website\" 
        FROM contacts 
        ORDER BY last_name"; 

$result = $db->query($sql); 

if (DB::isError($result)) 
  die ($result->getMessage()); 


// Initialize some new variables we will now use. 
$head; 
$hash; 
$row; 
$x = 0; 

/* 
* Important to create an associative array, as this will 
* return the headers as we had specified in our SQL 
* statement. 
*/ 
$hash = $result->fetchRow(DB_FETCHMODE_ASSOC); 
$head = array_keys($hash); 
$row[$x] = array_values($hash); 
$x++; 

// Now we fetch the other rows from our query. 
while ($hash = $result->fetchRow(DB_FETCHMODE_ASSOC)) 
  { 
    $row[$x] = array_values($hash); 
    $x++; 
  } 

// Create Smarty arrays. 
$smarty->assign('headers', $head); 
$smarty->assign('test', $row); 

// display it 
$smarty->display('index.tpl'); 
?> 


Mora da ovo nema nikakve veze sa bazama niti vadjenjem podataka iz dotichne.,.,., kao shto rekoh izvinjavam se shto sam hteo da pomognem ovoj komuni barem malo.
[ bluesman @ 11.10.2004. 01:08 ] @
U ovom primeru citanje iz baze nema veze sa Smarty, vec se sve procita iz PHP a smarty-ju se samo proslede rezultati kroz assign() (BTW, optimalnije je assing_by_ref() kada se vec ovako radi)

Inace, smarty ima veze sa bazom, recimo ti mozes da citas templates direktno iz baze umesto iz nekog foldera na disku. Sve sto treba da uradis je da napises resource handler i registrujes resource pod nekim imenom recimo "database" a onda citas template sa

$smarty->display("database:index.tpl");

ili

{include file="database:users.tpl"}
[ Ilija Studen @ 11.10.2004. 08:02 ] @
Gorane, to ide tako, ali opet tu Smarty nema nikakve veze sa bazom već handler koji si napisao. To je i dobro (što Smarty nema veze sa bazom). Smartyjev posao je da PRIKAŽE, ne da UPRAVLJA (osim prezentacione logike) podacima.

Tip za Zlatiborca: Ako hoćeš rešenje za automatsko generisanje i validaciju formi: PEAR paket, QuickForm. Probaj čuo sam da je dobar.
[ Zlatiborac @ 11.10.2004. 15:03 ] @
Dobro, zashto ste se svi uhvatili te baze.,.,., znam za shta smarty sluzi, i samo sam zeleo da se ovde nadju primeri, napredniji. Znam da on nema veze sa bazom vec da sve radi PHP.,.,., ali konkretno kako se vrshi taj prikaz i sl.
Znachi, konkretno, interesuju me napredniji primeri.
[ bluesman @ 12.10.2004. 09:26 ] @
Sta ti u stvari hoces? Primer kako se cita iz baze i u smarty prikazuju rezultati?

Ako ti to treba i ako si instalirao smarty onda imas sve to u samoj instalaciji, a imas i vrlo kratak i jasan manual koji se skida posebno, pogledaj odeljke section, foreach, assign, assing_by_ref...
[ Zlatiborac @ 12.10.2004. 17:22 ] @
Skinuo upustvo i odshtampao.,.,.,
[ MrYoo @ 14.10.2004. 13:43 ] @

Samo ne zaboravi $smarty->register_function(); odlicna stvar.