Tipy pro Adminer

Školení, která pořádám

Při vývoji Admineru se snažím hodně přemýšlet nad uživatelským rozhraním. Snažím se do něj přidávat nové funkce, které usnadní používání, a přitom ho zachovat co nejkompaktnější, aby uživatele nezahltilo. Nemám rád, když je v aplikaci nebo někde stranou návod k použití, všechno by mělo být pokud možno intuitivní. Kvůli tomu ale může méně zvědavým uživatelům zůstat leccos skryto. Připravil jsem proto několik tipů, které by mohly používání Admineru usnadnit.

Přihlášení a databáze

Výpis a editace

Tabulka

SQL příkaz a export

Adminer Editor

Jakub Vrána, Adminer, 15.11.2010, diskuse: 35 (nové: 0)

Diskuse

Michal:

Pěkné shrnutí skvělého nástroje.

John Wernon:

Pracuji s Adminerem teprve chvíli a je skutečně vynikající. Měl bych snad jen jeden námět k úvaze. Neustále pro vypsání tabulky klikám rychle a intuitivně na její název :-). Mně osobně by asi lépe vyhovovalo "prohození" sloupců linků, tj. vlevo vypsané tabulky (při kliku na ně vypsat data) a vpravo "editovat" a tím otevírat příslušnou tabulku pro úpravu struktury. Ale jinak zatím zcela bez výhrad. Díky

ikona Jakub Vrána OpenID:

Stejnou chybu jako phpMyAdmin (který prohodil defaultní význam těchto dvou linků a ještě ho udělal konfigurovatelný) se udělat nechystám. Pokud by navíc konstantně dlouhý text byl vpravo, tak by nebyl hezky zarovnaný pod sebou, ale rozházený po celé šířce.

John Wernon:

OK, s tím zarovnáním, to je fakt, souhlasím. Nicméně si myslím, že klik na název tabulky = vypsat data :-)

ikona Jakub Vrána OpenID:

Můžeš si na to vytvořit triviální rozšíření: http://www.adminer.org/cs/extension/ (metoda tablesPrint). Já to každopádně dělat nebudu.

Martin:

100% souhlas. Taky mě to dlouho mátlo. Ale člověk si zvykne... musí.

Juraj:

Ja to vidím naopak. Ty si len zvyknutý z phpMyAdmin. Klik na tabulku, chcem vidieť jej štruktúru, má to logiku a podobne je to i v mnohých offline nástrojoch na správu DB.

ikona Aichi:

Jsem pro aby stránkování bylo i nad tabulkou.

ikona Jakub Vrána OpenID:

Zjištění celkového počtu záznamů může být časově náročné, takže zobrazením stránkování nechci zdržovat zobrazení hlavních dat. Ve verzi 3 je nahoře alespoň generický odkaz na poslední stránku.

ikona v6ak:

Tak šlo by to pak pomocí JS zkopírovat.

ikona Jakub Vrána OpenID:

Zajímavá myšlenka – ale při kopírování by to zbytečně bliklo. Nepovažuji to za tak důležitou věc, abych v tom dělal kompromisy a zesložiťoval aplikaci. Odkaz na poslední stránku přidaný ve verzi 3 mi úplně stačí.

LuKo:

Adminer postupuje mílovými kroky, ale jedna nejnovější vychytávka je minimálně pro mě krokem zpět: na notesu jsem zvyklý označovat jednoslovné výrazy nebo číslice dvojitým kliknutím, protože označovat text na touchpadu není moc pohodlné. Nyní mi to zobrazí editační pole, ve kterém mi ale dané slovo nebo číslo utíká "za roh", protože textové pole má jinou velikost a typ písma včetně paddingu a marginu. Existuje, například formou uživatelského nastavení, nějaká šance, jak tuto vychytávku vypnout?

ikona Jakub Vrána OpenID:

Také jsem na to narazil a naučil jsem se k označení slova použít trojklik. Možnost vypnutí formou konfigurace určitě nebude (žádná konfigurace neexistuje), ale formou uživatelského rozhraní by to jít mohlo – i když teď momentálně asi ne zrovna moc čistě.

Považuji to ale za tak užitečnou funkci, že se ji vyplatí naučit používat a k označení holt použít ten trojklik.

David Grudl:

Spíš než označovat jednoslovné výrazy se hodí označovat celé buňky. To by se mohlo namapovat třeba na shift-click a chybějíci označování slov by se tím částečně eliminovalo.

ikona v6ak:

Ve Firefoxu označuji buňky tabulky pomocí ctrl+click.

ikona Jakub Vrána OpenID:

Pro označení celé buňky se dá normálně použít trojklik, při inline editaci tedy čtyřklik. Shift+click má jiný význam, který já osobně taky využívám – rozšíří výběr do daného místa. Navíc nevím, jak by jiný význam uživatelé mohli uhodnout.

David Grudl:

Docela by bodlo, kdyby kliknutí na AI nastavilo typ unsigned. Nebo má signed AI nějaký význam?

ikona Jakub Vrána OpenID:

Já pro AI unsigned nepoužívám, protože mysql_insert_id() a spol. vrací int. A vzhledem k tomu, že v PHP je int vždy signed, tak by to při překročení maximální signed hodnoty mohlo dělat potíže.

Megaloman:

Přinejmenším pro TINYINT a SMALLINT má UNSIGNED význam. AFAIK pro hodnoty větší než PHP_INT_MAX je použit datový typ FLOAT.

Potíž nastává až u BIGINT UNSIGNED, kde nad horní mezí BIGINT SIGNED neumí počítat ani MySQL.

bene:

"Vybrané úložiště se zapamatuje v cookie při vytváření tabulky, ne ale při její změně."

Bylo by skvělé aby si to takto pamatovalo charset pro celou tabulku ale hlavně pro varchar/text.

ikona Jakub Vrána OpenID:

Charset se dědí – u tabulky z databáze, u sloupce z tabulky. Jeho ruční nastavování je tedy obvykle zbytečné a potřebuji ho nastavit pouze v případě, kdy chci definovat nějakou výjimku. Což je nesmysl ukládat.

Torqe:

Mám menší problém s Adminerem, asi bude na mé straně, ale raděj bych se o něj podělil.
Nahrál jsem soubor do adresáře Adminer, přejmenoval ho na index.php, přihlásím se svými údaji jako na hostingu a vše "jakoby funguje". Jenže....
V levém sloupci, kde jsou odkazy na výpis tabulek a struktury při najetí kurzorem vidím ve stavovém řádku "správnou" adresu, ale tabulka napravo sice ukazuje správný výpis tabulek v databázi, ale již v celé tabulce jsou jen otazníky, namísto délek záznamů a podobně.
Při najetí kurzorem na odkaz (název) tabulky, se zobrazí cesta ve stylu file///|c: .... atd.
Můžeš mi prosím poradit kde je chyba?
Hostuju na SAVANA.CZ a server pro MySQL je tam jako Localhost.

ikona Jakub Vrána OpenID:

Je možné tam získat nějaký testovací přístup? Pokud ano, tak prosím o zaslání přihlašovacích údajů mailem.

Jaké jsou parametry hostingu (operační systém, webový server, verze PHP)?

Torqe:

Parametry hostingu jsou tady: (nevím co přesně potřebuješ vědět)
http://www.savana.cz/webhosting/popis-webhostingu/
mám hosting SAVANA 1000 s PHP 5.3 a MySQL 5.1
zde výpis MyAdmina:
MySQL

    * Server: Localhost via UNIX socket
    * Verze MySQL: 5.1.53
    * Verze protokolu: 10
Webserver

    * Apache/2.2.16
    * Verze MySQL klienta: 5.1.53
    * Rozšíření PHP: mysqli

ikona Jakub Vrána OpenID:

A lze tam získat ten testovací přístup?

Torqe:

jak to mám chápat?
Nemohu Vám poskytnout svoje přihlašovací údaje....
Dá se tam aktivovat DEMO hosting pomocí SMS za 79 Kč.
Ale mohu např. vytvořit DB s nazvem TEST a heslem dle domluvy. A přímou adresu k admineru mohu poskytnout. To by stačilo?

ikona Jakub Vrána OpenID:

To by samozřejmě šlo, díky.

Torqe:

poslal jsem meila s infem

Odo:

Dobrý den,

nejde mi na localhostu otevřít databáze SQLite 2 a 3, ani když ji mám umístěnou přímo v adresáři Admineru - po klepnutí na "Přihlásit se" se po chvilce objeví stránka "Spojení přerušeno". Na webhostingu to ale funguje. Potřebuji tedy nějak speciálně nastavit PHP? V php.ini mám

[PHP_SQLITE]
extension=php_sqlite.dll
[PHP_PDO]
extension=php_pdo_sqlite.dll

a phpinfo hlásí extensions nainstalované. Kde může být chyba?

Děkuji za odpověď.

ikona Jakub Vrána OpenID:

Ty sekce v php.ini jsou zbytečné. S MySQL Adminer funguje? Jiné stránky na stejném serveru využívající SQLite fungují?

Odo:

Po kliknutí na Přihlásit se u jakéhokoliv typu databáze se objeví "Spojení přerušeno". Z nějakého důvodu se neprovede požadavek POST adminer.php s údaji z přihlašovacího formuláře :(. Používám PHP 5.3.8, server je standardní IIS na Windows XP.

ikona Jakub Vrána OpenID:

Jiné stránky na stejném serveru využívající SQLite fungují?

Odo:

Ano, Nette na stejné konfiguraci funguje (používám db SQLite2).

laik:

V phpmyadmin si uživatele-sebe vytovřím předem v konfiguračním souboru a pak se normálně přihlásím.
Toto když poprvé spustím tak nejdřív nevím pod čím se přihlásit a když se teda přihlásím bez údajů, hledám možnost vytvořit uživatele. No a pak zkouším vytvořit uživatele a to mi nejde proto, že nemám právo na vytvoření uživatele. Tak tomu asi nerozumím, ale intuitivní to rozhodně není.

ikona Jakub Vrána OpenID:

Adminer nemá svou vlastní správu uživatelů, používá databázi. Pro přihlášení je tedy nutné mít uživatele vytvořeného v databázi. Pro vytváření dalších uživatelů se obvykle používá účet root.

phpMyAdmin pro práci také potřebuje přihlašovací údaje k databázi. Zapsáním údajů do jeho konfigu se databázový účet nevytvoří.

Vložit komentář

Používejte diakritiku. Vstup se chápe jako čistý text, ale URL budou převedeny na odkazy a PHP kód uzavřený do <?php ?> bude zvýrazněn. Pokud máte dotaz, který nesouvisí s článkem, zkuste raději diskusi o PHP, zde se odpovědi pravděpodobně nedočkáte.

Jméno: URL:

avatar © 2005-2018 Jakub Vrána. Publikované texty můžete přetiskovat pouze se svolením autora. Ukázky kódu smíte používat s uvedením autora a URL tohoto webu bez dalších omezení Creative Commons. Můžeme si tykat. Skripty předpokládají nastavení: magic_quotes_gpc=Off, magic_quotes_runtime=Off, error_reporting=E_ALL & ~E_NOTICE a očekávají předchozí zavolání mysql_set_charset. Skripty by měly být funkční v PHP >= 4.3 a PHP >= 5.0.