Anonymní profil peter – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil peter – Programujte.comAnonymní profil peter – Programujte.com

 

Příspěvky odeslané z IP adresy 193.84.197.–

peter
PHP › Pomoc s jednoduchým formulářem
10. 5. 2020   #386047

A v cem je problem? V zasade muzes zkopirovat cast PHP 3x a totez s casti HTML.
Ja bych pouzil cyklus, ale to neni podstatne.

<input type="radio" name="stav

<input type="radio" name="list_svetla['.$i.']" value="0" '.($list_svetla[$i]==0?'checked':'') .' 
<input type="radio" name="list_svetla['.$i.']" value="1" '.($list_svetla[$i]==1?'checked':'') .' 

$list_svetla = array();
if (isset($_GET['list_svetla'] && is_array($_GET['list_svetla'])) {
$list = $_GET['list_svetla'];
$i = 0;
$list_svetla[$i] = isset($list[$i]) ? ($list[$i]>0 ? 1 : 0) : 0;
...
}
peter
PHP › Univerzální přidání do datab…
1. 5. 2020   #385945

Tady pouziva jakysi pdo wrapper, cili nejakou pomocnou class, kde nesejde formatuje pole na serii sloupec=value pro insert i update, takze asi to jde, co tvrdis, ze nejde ve tvem pripade

https://www.itnetwork.cz/programovani/sql/diskuzni-forum-sql-mysql-mssql-postgresql-sqlite-databaze/odpojeni-od-databaze-a-pripojeni-k-druhe-5ea7e57ed84d6

<?php

/**
 *             __          __                __
 *        ____/ /__ _   __/ /_  ____  ____  / /__ _________
 *       / __  / _ \ | / / __ \/ __ \/ __ \/ //_// ___/_  /
 *      / /_/ /  __/ |/ / /_/ / /_/ / /_/ / ,< _/ /__  / /_
 *      \__,_/\___/|___/_.___/\____/\____/_/|_(_)___/ /___/
 *
 *
 *      TUTORIÁLY  <>  DISKUZE  <>  KOMUNITA  <>  SOFTWARE
 *
 *      Tento zdrojový kód je součástí tutoriálů na programátorské
 *      sociální síti WWW.DEVBOOK.CZ
 *
 *      Kód můžete upravovat jak chcete, jen zmiňte odkaz
 *      na www.devbook.cz :-)
 *
 *  Jednoduchý databázový wrapper nad PDO
 */
class Db
{
        /**
         * @var PDO Databázové spojení
         */
        private static $connection;

        /**
         * @var array Výchozí nastavení ovladače
         */
        private static $options = array(
                PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING,
                PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
                PDO::ATTR_EMULATE_PREPARES => false,
        );

        /**
         * Připojí se k databázi pomocí daných údajů
         * @param string $host Název hostitele
         * @param string $database Název databáze
         * @param string $user Uživatelské jméno
         * @param string $password Heslo
         */
        public static function connect($host, $database, $user, $password)
        {
                if (!isset(self::$connection)) {
                        $dsn = "mysql:host=$host;dbname=$database";
                        self::$connection = new PDO($dsn, $user, $password, self::$options);
                }
        }

        /**
         * Spustí dotaz a vrátí PDO statement
         * @param array $params Pole, kde je prvním prvkem dotaz a dalšími jsou parametry
         * @return \PDOStatement PDO statement
         */
        private static function executeStatement($params)
        {
                $query = array_shift($params);
                $statement = self::$connection->prepare($query);
                $statement->execute($params);
                return $statement;
        }

        /**
         * Spustí dotaz a vrátí počet ovlivněných řádků. Dále se předá libovolný počet dalších parametrů.
         * @param string $query Dotaz
         * @return int Počet ovlivněných řádků
         */
        public static function query($query) {
                $statement = self::executeStatement(func_get_args());
                return $statement->rowCount();
        }

        /**
         * Spustí dotaz a vrátí z něj první sloupec prvního řádku. Dále se předá libovolný počet dalších parametrů.
         * @param string $query Dotaz
         * @return mixed Hodnota prvního sloupce z prvního řádku
         */
        public static function querySingle($query) {
                $statement = self::executeStatement(func_get_args());
                $data = $statement->fetch();
                return $data[0];
        }

        /**
         * Spustí dotaz a vrátí z něj první řádek. Dále se předá libovolný počet dalších parametrů.
         * @param string $query Dotaz
         * @return mixed Pole výsledků nebo false při neúspěchu
         */
        public static function queryOne($query) {
                $statement = self::executeStatement(func_get_args());
                return $statement->fetch(PDO::FETCH_ASSOC);
        }

        /**
         * Spustí dotaz a vrátí všechny jeho řádky jako pole asociativních polí. Dále se předá libovolný počet dalších parametrů.
         * @param string $query Dotaz
         * @return mixed Pole řádků enbo false při neúspěchu
         */
        public static function queryAll($query) {
                $statement = self::executeStatement(func_get_args());
                return $statement->fetchAll(PDO::FETCH_ASSOC);
        }

        /**
         * Umožňuje snadné vložení záznamu do databáze pomocí asociativního pole
         * @param string $table Název tabulky
         * @param array $data Asociativní pole, kde jsou klíče sloupce a hodnoty hodnoty
         * @return int Počet ovlivněných řádků
         */
        public static function insert($table, $data) {
                $keys = array_keys($data);
                self::checkIdentifiers(array($table) + $keys);
                $query = "
                        INSERT INTO `$table` (`" . implode('`, `', $keys) . "`)
                        VALUES (" . str_repeat('?,', count($data) - 1) . "?)
                ";
                $params = array_merge(array($query), array_values($data));
                $statement = self::executeStatement($params);
                return $statement->rowCount();
        }

        /**
         * Umožňuje snadnou modifikaci záznamu v databázi pomocí asociativního pole
         * @param string $table Název tabulky
         * @param array $data Asociativní pole, kde jsou klíče sloupce a hodnoty hodnoty
         * @param string $condition Řetězec s SQL podmínkou (WHERE)
         * @return mixed
         */
        public static function update($table, $data, $condition) {
                $keys = array_keys($data);
                self::checkIdentifiers(array($table) + $keys);
                $query = "
                        UPDATE `$table` SET `".
                        implode('` = ?, `', array_keys($data)) . "` = ?
                        $condition
                ";
                $params = array_merge(array($query), array_values($data), array_slice(func_get_args(), 3));
                $statement = self::executeStatement($params);
                return $statement->rowCount();
        }

        /**
         * Vrátí poslední ID posledního záznamu vloženého pomocí INSERT
         * @return mixed Id posledního záznamu
         */
        public static function getLastId()
        {
                return self::$connection->lastInsertId();
        }

        /**
         * Ošetří string proti SQL injekci
         * @param string $string Řetězec
         * @return mixed Ošetřený řetězec
         */
        public static function quote($string)
        {
                return self::$connection->quote($string);
        }

        /**
         * Zkontroluje, zda identifikátory odpovídají formátu identifikátorů
         * @param array $identifiers Pole identifikátorů
         * @throws \Exception
         */
        private static function checkIdentifiers($identifiers)
        {
                foreach ($identifiers as $identifier)
                {
                        if (!preg_match('/^[a-zA-Z0-9\_\-]+$/u', $identifier))
                                throw new Exception('Dangerous identifier in SQL query');
                }
        }
}
peter
PHP › opakovaný příkaz
25. 4. 2020   #385916

Otazkou je, proc to chces takto? Kdybys data stahl treba ve formatu csv nebo json, celou tabulku, nebylo by to lepsi? Pak bys to mohl tridit javascriptem a generovat tabulku. Bezne lidi davaji do stranek 40-100kB obrazek. to odpovida databazi 1000-10.000 radku ve formatu csv.

Jinak muzes pouzit jen js timeout nebo js http request, js ajax request, ...

peter
Matematika › Počet kladných deliteľov
22. 4. 2020   #385903

Nikde neni napsano, ze se rozklada na prave 2 delitele, ale urcite plati, ze a=1, f=n.
A plati, ze
a * b * c * d * e = 648 nebo jina kombinace a az f
b * c * d * e = 648 nebo
Jedno z tech cisel bude 1 nebo n nebo tam budou obe. Takze
u * v * w * x = 648 / 1 nebo u * v * w * x = 648 / n nebo u * v * w = 648 / n
uvwx je nejaka cisla z bcde

Takze, potrebujes najit takova prvocisla, ktera vyhoji poslednim 3 rovnicim, vsem, nebo aspon jedne z nich. Prvocisla do 648. ty zjistis treba googlem. Najdes online pocitacku

http://do-skoly.cz/cs/courses/math/m-2/prime-decomposition/calculator.aspx

    648 / 2 = 324
    324 / 2 = 162
    162 / 2 = 81
    81 / 3 = 27
    27 / 3 = 9
    9 / 3 = 3

Tim zjistis, cim vsim je mozne to cislo delit, na jake cisla rozkladat. A dal by sis s tim mohl poradi, nechce se mi premyslet :) Urcite existuje jednodussi zpusob.

peter
HTML / XHTML › V čem udělat složitější web
7. 4. 2020   #385803

google = free php sql cms monitoring measure systems

https://www.trustradius.com/cms

Osobne v tom nevidim uplne problem. Udelas si script, kde do db vyplnis tabulku url+user+psw, output format, zpusob ziskani dat, zpusob zobrazeni. Pokud vsude pouzijes json, tim lepe.
Pred 30 lety jsme pouzivali na 286 program, ktery monitoroval systemy pripojene na seriovy port. Zadavalo se tam prave cislo portu, zpusob ziskani dat (teplotni cidlo xyz) a budik nebo posuvnik, ktery zobrazoval teplotu. ovladac, ktery dekodoval data z meridla/cdla byl soucasti systemu. Tak to by sis musel v php uz udelat.
Co mozna chces navic, aby urcita cidla byla dostupna jen urcitym uzivatelum. Coz je vzdycky drbacka, sprava uzivatelu. Tomu se nevyhnes. A obvykle free cms v tomhle nejsou dobra. Vetsinou to chces trochu jinak. Ale drbat se s upravou cms zabere vic casu a nemas jistotu, ze jsi neznicil nekde neco nebo, ze nejaky plugin bude fungovat :)

Ukaz, co mas a treba to muzeme dat dohomady. Treba mas jen spatne udelanou logiku. Nebo ukaz, co mas a kolik by jsi byl ochotny dat za upravy? 500/h za zapocatou hodinu.

peter
Matematika › Limita s exponenciálnou funk…
5. 4. 2020   #385791

lim_(x->0) (cos(x)/cos(2 x))^(1/x^2) = e^(3/2)

peter
Matematika › Limita s exponenciálnou funk…
5. 4. 2020   #385790

https://www.wolframalpha.com/input/?i=lim+%28cos+x+%2F+cos+%282*x%29%29+%5E%281%2Fx%5E2%29+as+x-%3E0

Podle wolfram to vychazi jinak, nez rikas.

peter
Matematika › Klasická pravdepodobnosť
30. 3. 2020   #385749

   

POSSESS
..SS.SS

S.S.S.S - to je jedina moznost, ktera vyhovuje reseni
žiadne dve písmená S nebudú hneď za sebou

A = Takze ti zbyva urcit pocet vsech moznych kombinaci tak, aby se neopakovala slova (7 na 6 minus opakovana slova, protoze mas 4 stejna pismena S, tak se budou jasne prekryvat nektera slova).
B = A pocet vsech kombinaci pro ten vzorec (POE, PEO, OPE, OEP, EOP, EPO) = 6
P = B / A

S.S.S.S = 6
...SSSS = 6
..S.SSS = 6
.S..SSS = 6
S...SSS = 6
..SS.SS= 6 atd, mohlo by to byt nejakych 100, takze ta P by mohla vyjit 5%

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý