Ответы пользователя по тегу MySQL
  • Не могу создать в бд таблицу, почему?

    rishatss
    @rishatss
    Simple Developer ^)
    UPD.

    stackoverflow.com/questions/31303523/why-cant-i-cr...

    Скорее всего опечатка в запросе :)

    У меня ваш запрос успешно обработался :)
    23240530.jpg
    Ответ написан
    Комментировать
  • PhP и MySQL, что в первую очередь учить? Если есть альтернативы лучше, то какие?

    rishatss
    @rishatss
    Simple Developer ^)
    SQL изучите для начала :)

    SQL - выучив его вы сможете спокойно строить запросы в любой достойной БД.
    Работать с MySQL не составит труда - если вы будете знать . - SQL (основы)
    Это как:
    Зачем вам велосипед ? Если вы ездить на нем не умеете ?

    https://www.w3schools.com/
    Поиграйтесь тут.
    Ответ написан
    Комментировать
  • Каким путем лучше пойти начинающему web-разработчику?

    rishatss
    @rishatss
    Simple Developer ^)
    https://github.com/zualex/devmap

    Использую как теорию и веду параллельно проектики и пытаюсь реализовать все прочитанное :)
    Ответ написан
    2 комментария
  • Ошибка php или мой косяк?

    rishatss
    @rishatss
    Simple Developer ^)
    Если правильно Вас понял, что на одном сервере обрабатывается на ура, на другом падает. То это скорее всего из-за несовместимости версий DB и PHP. Я тоже не мог понять минут 30. Чего это мой проект перестал работать, а оказывается что связка MySQL старого и PHP нового не есть хорошо.
    Ответ написан
  • Как получить слова из базы mysql?

    rishatss
    @rishatss
    Simple Developer ^)
    Какие именно слова вам нужно получить? Опишите подробно.
    Желательно структуру БД опишите и для чего Вам эти слова нужны, мы постараемся Вам помочь.
    Ответ написан
  • Связанный вывод с двух таблиц?

    rishatss
    @rishatss
    Simple Developer ^)
    https://www.w3schools.com/sql/sql_join_inner.asp

    Использую таблицы caregory и orders. Связываю их по category_id


    MySQL
    SELECT category.name, orders.name
    FROM category
    INNER JOIN orders
    ON category.category_id=orders.category_id
    ORDER BY category.name;


    Развернул по уроку, обойтись оказывается спокойно можно одной таблицей и не мудрить.

    -- phpMyAdmin SQL Dump
    -- version 4.6.5.2
    -- https://www.phpmyadmin.net/
    --
    -- Хост: 127.0.0.1:3306
    -- Время создания: Фев 27 2017 г., 22:58
    -- Версия сервера: 5.7.16
    -- Версия PHP: 7.1.0
    
    SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
    SET time_zone = "+00:00";
    
    
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8mb4 */;
    
    --
    -- База данных: `test`
    --
    
    -- --------------------------------------------------------
    
    --
    -- Структура таблицы `categories`
    --
    
    CREATE TABLE `categories` (
      `id` int(10) UNSIGNED NOT NULL,
      `title` varchar(255) NOT NULL,
      `parent` int(10) UNSIGNED NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    
    --
    -- Дамп данных таблицы `categories`
    --
    
    INSERT INTO `categories` (`id`, `title`, `parent`) VALUES
    (1, 'Природа', 0),
    (2, 'Еда', 0),
    (3, 'Спорт', 0),
    (4, 'В мире животных', 1),
    (5, 'Как сделать вкусный салат', 2),
    (6, 'Свое', 2),
    (20, 'Методы похудения', 3);
    
    --
    -- Индексы сохранённых таблиц
    --
    
    --
    -- Индексы таблицы `categories`
    --
    ALTER TABLE `categories`
      ADD PRIMARY KEY (`id`);
    
    --
    -- AUTO_INCREMENT для сохранённых таблиц
    --
    
    --
    -- AUTO_INCREMENT для таблицы `categories`
    --
    ALTER TABLE `categories`
      MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=21;
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;


    PHP скрипт
    <?php
    
    //Устанавливаем кодировку и вывод всех ошибок
    header('Content-Type: text/html; charset=UTF-8');
    error_reporting(E_ALL);
    
    //Объектно-ориентированный стиль
    $mysqli = new mysqli('localhost', 'rishat', 'rishat', 'test');
    
    //Устанавливаем кодировку utf8
    $mysqli->query("SET NAMES 'utf8'");
    
    /*
     * Это "официальный" объектно-ориентированный способ сделать это
     * однако $connect_error не работал вплоть до версий PHP 5.2.9 и 5.3.0.
     */
    if ($mysqli->connect_error) {
        die('Ошибка подключения (' . $mysqli->connect_errno . ') '
                . $mysqli->connect_error);
    }
    
    /*
     * Если нужно быть уверенным в совместимости с версиями до 5.2.9,
     * лучше использовать такой код
     */
    if (mysqli_connect_error()) {
        die('Ошибка подключения (' . mysqli_connect_errno() . ') '
                . mysqli_connect_error());
    }
    
    //Получаем массив нашего меню из БД в виде массива
    function getCat($mysqli){
    	$sql = 'SELECT * FROM `categories`';
    	$res = $mysqli->query($sql);
    
    	//Создаем масив где ключ массива является ID меню
    	$cat = array();
    	while($row = $res->fetch_assoc()){
    		$cat[$row['id']] = $row;
    	}
    	return $cat;
    }
    
    //Функция построения дерева из массива от Tommy Lacroix
    function getTree($dataset) {
    	$tree = array();
    
    	foreach ($dataset as $id => &$node) {    
    		//Если нет вложений
    		if (!$node['parent']){
    			$tree[$id] = &$node;
    		}else{ 
    			//Если есть потомки то перебераем массив
                $dataset[$node['parent']]['childs'][$id] = &$node;
    		}
    	}
    	return $tree;
    }
    
    //Получаем подготовленный массив с данными
    $cat  = getCat($mysqli); 
    
    //Создаем древовидное меню
    $tree = getTree($cat);
    
    //Шаблон для вывода меню в виде дерева
    function tplMenu($category){
    	$menu = '<li>
    		<a href="#" title="'. $category['title'] .'">'. 
    		$category['title'].'</a>';
    		
    		if(isset($category['childs'])){
    			$menu .= '<ul>'. showCat($category['childs']) .'</ul>';
    		}
    	$menu .= '</li>';
    	
    	return $menu;
    }
    
    /**
    * Рекурсивно считываем наш шаблон
    **/
    function showCat($data){
    	$string = '';
    	foreach($data as $item){
    		$string .= tplMenu($item);
    	}
    	return $string;
    }
    
    //Получаем HTML разметку
    $cat_menu = showCat($tree);
    
    //Выводим на экран
    echo '<ul>'. $cat_menu .'</ul>';
    
    ?>
    Ответ написан
    6 комментариев
  • Как отсортировать содержимое mysql?

    rishatss
    @rishatss
    Simple Developer ^)
    Тут нагядно можно посмотреть как работает ORDER BY. Если я Вас правильно понял.
    https://www.w3schools.com/sql/trysql.asp?filename=...

    А вообще используют вроде GROUP BY по айди
    Ответ написан