Tvorba HCM modulu
Schválně nedávám balíček přímo ke stažení, ale nechám Vás vše manuálně vytvořit, ať pochopíte princip.
1. Ve složce /plugins/hcm/df si vytvořte soubor sqlshow.php a zkopírujte do něj následující kód:
<span style="color: #000000">
<span style="color: #0000BB"><?php
<br></span><span style="color: #FF8000">/*
<br>HCM modul: SQLShow
<br>Autor: Tomáš Smetka
<br>SunLight: 7.5.0 & 7.5.1
<br>*/
<br>
<br>/* --- kontrola jadra --- */
<br></span><span style="color: #007700">if(!</span><span style="color: #0000BB">defined</span><span style="color: #007700">(</span><span style="color: #DD0000">'_core'</span><span style="color: #007700">)) exit;
<br>
<br></span><span style="color: #FF8000">/* --- Tělo--- */
<br></span><span style="color: #007700">function </span><span style="color: #0000BB">_HCM_df_sqlshow</span><span style="color: #007700">(){
<br></span><span style="color: #0000BB">$result</span><span style="color: #007700">=</span><span style="color: #DD0000">""</span><span style="color: #007700">;
<br></span><span style="color: #0000BB">$result</span><span style="color: #007700">.=</span><span style="color: #DD0000">"<table>"</span><span style="color: #007700">;
<br></span><span style="color: #0000BB">$result</span><span style="color: #007700">.=</span><span style="color: #DD0000">"<tr><td>Jméno</td><td>Příjmení</td><td>E-mail</td>"</span><span style="color: #007700">;
<br></span><span style="color: #0000BB">$sql </span><span style="color: #007700">= </span><span style="color: #0000BB">DB</span><span style="color: #007700">::</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT * FROM `"</span><span style="color: #007700">.</span><span style="color: #0000BB">_mysql_prefix</span><span style="color: #007700">.</span><span style="color: #DD0000">"-class` WHERE visible=1 ORDER BY id DESC LIMIT 5"</span><span style="color: #007700">);
<br>while (</span><span style="color: #0000BB">$item </span><span style="color: #007700">= </span><span style="color: #0000BB">DB</span><span style="color: #007700">::</span><span style="color: #0000BB">row</span><span style="color: #007700">(</span><span style="color: #0000BB">$sql</span><span style="color: #007700">)){
<br></span><span style="color: #0000BB">$result</span><span style="color: #007700">.=</span><span style="color: #DD0000">"<tr><td>"</span><span style="color: #007700">.</span><span style="color: #0000BB">$item</span><span style="color: #007700">[</span><span style="color: #DD0000">"name"</span><span style="color: #007700">].</span><span style="color: #DD0000">"</td><td>"</span><span style="color: #007700">.</span><span style="color: #0000BB">$item</span><span style="color: #007700">[</span><span style="color: #DD0000">"surname"</span><span style="color: #007700">].</span><span style="color: #DD0000">"</td><td>"</span><span style="color: #007700">.</span><span style="color: #0000BB">$item</span><span style="color: #007700">[</span><span style="color: #DD0000">"email"</span><span style="color: #007700">].</span><span style="color: #DD0000">"</td></tr>"</span><span style="color: #007700">;}
<br></span><span style="color: #0000BB">$result</span><span style="color: #007700">.=</span><span style="color: #DD0000">"</table>"</span><span style="color: #007700">;
<br>return </span><span style="color: #0000BB">$result</span><span style="color: #007700">;
<br>}</span>
</span>
2. Přihlašte se do MySQL a vložte do něj následující kód:
<span style="color: #000000">
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
<br>SET time_zone = "+00:00";
<br>CREATE TABLE IF NOT EXISTS `sunlight-class` (
<br>`id` int(11) NOT NULL auto_increment,
<br>`name` varchar(64) character set utf8 NOT NULL,
<br>`surname` varchar(64) character set utf8 NOT NULL,
<br>`email` varchar(32) character set utf8 NOT NULL,
<br>`visible` int(1) default NULL,
<br>PRIMARY KEY (`id`)
<br>) ENGINE=MyISAM DEFAULT CHARSET=latin2 COLLATE=latin2_czech_cs AUTO_INCREMENT=0;
<br>
<br>INSERT INTO `sunlight-class` (`id`, `name`, `surname`, `email`, `visible`) VALUES
<br>(1, 'Pepa', 'Novák', 'pepa@example.tld', 1),
<br>(2, 'Janča', 'Stará', 'janca@example.tld', 1);
<br></span>
3. Vepište do stránky/článku - kdekoliv se parsují HCM moduly následující kód:
[hcm]df/sqlshow[/hcm]Pravidla
Nyní budeme pitvat následující SQL
<span style="color: #000000">
$sql = DB::query("SELECT * FROM `"._mysql_prefix."-class` WHERE visible=1 ORDER BY id DESC LIMIT 5");</span>
- SELECT * FROM znamená vyber cokoliv co bude později použito v proměnné
- `"._mysql_prefix."-class` je výběr tabulky (můžete si upravit název)
- WHERE visible=1 znamená vybrat vše, kde je v poli číslo jedna, tedy viditelné (podmínku můžete vymazat a bude se vypisovat vše). Pokud místo jedničky dosadíte nulu, data se bezobrazí
- ORDER BY id DESC je vypsání dat sestupně, pokud napíšete ORDER BY id ASC, budou data vypsána vzestupně
- LIMIT 5 je limit, vypíše se max. 5 záznamů. Tuto podmínku můžete vymazat a vypíšou se všechna data. Můžete ale také napsat LIMIT 5,10, tzv. vypsat od 5 do 10.
Závěr
Napsal pouze jednoduchý příklad, který slouží jako ukázka.
Komentáře
Nebyly přidány žádné komentáře.