par
momox » 10 févr. 2007, 17:03
Pour ma part, voici un exemple de code php.
<?php
/**
* @package : partenaires.app.php
* @version 1.0
* @copyright (c)2006 geekimo
* @author Geekimo : [email protected]
*/
class partenaires
{
private function partenaires_index()
{
global $tpl, $db;
$tpl->load_template('partenaires_index');
$tpl->add_style_item('partenaires.css');
$s_partenaires = "SELECT part_id, part_name, part_img, part_type FROM partenaires WHERE part_active='1' AND part_sid='".$db->escape($_SESSION['s_data']['site_id'])."' ORDER by part_type ASC";
$q_partenaires = $db->query($s_partenaires);
if($db->count_rows($q_partenaires) > 0) {
$tpl->erase_bloc('if_no_partenaires');
while($data = $db->fetch($q_partenaires)) {
extract($data);
$partenaires = array('partenaire.type' => ($part_type == '1' ? ' class="part_gold"' : ''),
'partenaire.name' => '<a href="'.rewrite_link('partenaires', array('action' => 'view', 'pid' => $part_id)).'">'.stripslashes($part_name).'</a>',
'partenaire.img' => '<a href="'.rewrite_link('partenaires', array('action' => 'view', 'pid' => $part_id)).'">'.(!empty($part_img) ? '<img src="'.$part_img.'" alt="'.stripslashes($part_name).'" />' : '').'</a>');
$tpl->assign_bloc('partenaires', $partenaires);
}
}
else {
$tpl->erase_bloc('if_partenaires');
}
$tpl->set_page_title('Partenaires');
$tpl->set_page_action('Partenaires');
$tpl->return_template(true);
}
private function redir($pid) {
global $db;
$s_partenaires = "SELECT part_url FROM partenaires WHERE part_active='1' AND part_sid='".$db->escape($_SESSION['s_data']['site_id'])."' AND part_id='".$db->escape($pid)."'";
$q_partenaires = $db->query($s_partenaires);
if($db->count_rows($q_partenaires) > 0) {
extract($db->fetch($q_partenaires));
header('Location: '.stripslashes($part_url));
}
else {
$tpl->erase_bloc('if_partenaires');
}
}
public function run()
{
if(isset($_GET['action'], $_GET['pid']) && $_GET['action']=='view' && !empty($_GET['pid']) && is_numeric($_GET['pid'])) {
self::redir($_GET['pid']);
}
else {
self::partenaires_index();
}
}
}
?>
C'est assez propre comme conception, pas de html, et pourtant, ca me ressort la liste de mes partenaires, le tout en php, sans complications

Biensur, la, on a que l'application, pas les classes qui gérent la base de données ou les templates ou autres encore...
Pour faire ca en incluant le html ca aurait fait largement plus sale...
Enfin bon, c'est un choix de devellopement...
Je sais que moi je prefere coder comme ca mais d'autres préférent faire autrement, c'est leur choix et je le respecte

@+
Pour ma part, voici un exemple de code php.
[php]<?php
/**
* @package : partenaires.app.php
* @version 1.0
* @copyright (c)2006 geekimo
* @author Geekimo :
[email protected]*/
class partenaires
{
private function partenaires_index()
{
global $tpl, $db;
$tpl->load_template('partenaires_index');
$tpl->add_style_item('partenaires.css');
$s_partenaires = "SELECT part_id, part_name, part_img, part_type FROM partenaires WHERE part_active='1' AND part_sid='".$db->escape($_SESSION['s_data']['site_id'])."' ORDER by part_type ASC";
$q_partenaires = $db->query($s_partenaires);
if($db->count_rows($q_partenaires) > 0) {
$tpl->erase_bloc('if_no_partenaires');
while($data = $db->fetch($q_partenaires)) {
extract($data);
$partenaires = array('partenaire.type' => ($part_type == '1' ? ' class="part_gold"' : ''),
'partenaire.name' => '<a href="'.rewrite_link('partenaires', array('action' => 'view', 'pid' => $part_id)).'">'.stripslashes($part_name).'</a>',
'partenaire.img' => '<a href="'.rewrite_link('partenaires', array('action' => 'view', 'pid' => $part_id)).'">'.(!empty($part_img) ? '<img src="'.$part_img.'" alt="'.stripslashes($part_name).'" />' : '').'</a>');
$tpl->assign_bloc('partenaires', $partenaires);
}
}
else {
$tpl->erase_bloc('if_partenaires');
}
$tpl->set_page_title('Partenaires');
$tpl->set_page_action('Partenaires');
$tpl->return_template(true);
}
private function redir($pid) {
global $db;
$s_partenaires = "SELECT part_url FROM partenaires WHERE part_active='1' AND part_sid='".$db->escape($_SESSION['s_data']['site_id'])."' AND part_id='".$db->escape($pid)."'";
$q_partenaires = $db->query($s_partenaires);
if($db->count_rows($q_partenaires) > 0) {
extract($db->fetch($q_partenaires));
header('Location: '.stripslashes($part_url));
}
else {
$tpl->erase_bloc('if_partenaires');
}
}
public function run()
{
if(isset($_GET['action'], $_GET['pid']) && $_GET['action']=='view' && !empty($_GET['pid']) && is_numeric($_GET['pid'])) {
self::redir($_GET['pid']);
}
else {
self::partenaires_index();
}
}
}
?>[/php]
C'est assez propre comme conception, pas de html, et pourtant, ca me ressort la liste de mes partenaires, le tout en php, sans complications :)
Biensur, la, on a que l'application, pas les classes qui gérent la base de données ou les templates ou autres encore...
Pour faire ca en incluant le html ca aurait fait largement plus sale...
Enfin bon, c'est un choix de devellopement...
Je sais que moi je prefere coder comme ca mais d'autres préférent faire autrement, c'est leur choix et je le respecte :)
@+