Вот универсальный синтаксис SQL для создания таблиц MySQL:

CREATE TABLE table_name (column_name column_type);

Теперь, мы создадим следующую таблицу в учебники базы данных.

Tutorials_tbl(tutorial_id INT NOT NULL AUTO_INCREMENT, tutorial_title VARCHAR(100) NOT NULL, tutorial_author VARCHAR(40) NOT NULL, submission_date DATE, PRIMARY KEY (tutorial_id));

Вот несколько пунктов, которые нуждаются в пояснении:

  • Поле атрибута не равно NULL , используется потому что мы не хотим, чтобы она была нулем. Поэтому если пользователь попытается создать запись со значением NULL, то MySQL будет вызвана ошибка.
  • Поле атрибута auto_increment в MySQL не говорит, чтобы идти вперед и добавить следующий доступный номер в поле ID.
  • Ключевое слово первичный ключ используется для определения столбца в качестве первичного ключа. Вы можете использовать несколько столбцов, разделенных запятыми, чтобы определить первичный ключ.
Создание таблиц из командной строки:

Это легко создать MySQL таблицу из MySQL> подсказка. Вы будете использовать команды SQL создать таблицу чтобы создать таблицу.

Пример:

Вот пример, который создает tutorials_tbl:

Root@host# mysql -u root -p Enter password:******* mysql> use TUTORIALS; Database changed mysql> CREATE TABLE tutorials_tbl(-> tutorial_id INT NOT NULL AUTO_INCREMENT, -> tutorial_title VARCHAR(100) NOT NULL, -> tutorial_author VARCHAR(40) NOT NULL, -> submission_date DATE, -> PRIMARY KEY (tutorial_id) ->); Query OK, 0 rows affected (0.16 sec) mysql>

Создание таблиц с помощью PHP скрипта:

Чтобы создать новую таблицу в любой существующей базы данных необходимо использовать функции PHP функции mysql_query(). Вы будете проходить свой второй аргумент при правильной команды SQL для создания таблицы.

Пример:

Вот пример создания таблицы с помощью PHP скрипта:

Creating MySQL Tables "; $sql = "CREATE TABLE tutorials_tbl(". "tutorial_id INT NOT NULL AUTO_INCREMENT, ". "tutorial_title VARCHAR(100) NOT NULL, ". "tutorial_author VARCHAR(40) NOT NULL, ". "submission_date DATE, ". "PRIMARY KEY (tutorial_id)); "; mysql_select_db("TUTORIALS"); $retval = mysql_query($sql, $conn); if(! $retval) { die("Could not create table: " . mysql_error()); } echo "Table created successfullyn"; mysql_close($conn); ?>

Еще примеры:

CREATE TABLE IF NOT EXISTS `users` (`id` int(11) NOT NULL auto_increment, `role_id` int(11) NOT NULL default "1", `username` varchar(25) collate utf8_bin NOT NULL, `password` varchar(34) collate utf8_bin NOT NULL, `email` varchar(100) collate utf8_bin NOT NULL, `banned` tinyint(1) NOT NULL default "0", `ban_reason` varchar(255) collate utf8_bin default NULL, `newpass` varchar(34) collate utf8_bin default NULL, `newpass_key` varchar(32) collate utf8_bin default NULL, `newpass_time` datetime default NULL, `last_ip` varchar(40) collate utf8_bin NOT NULL, `last_login` datetime NOT NULL default "0000-00-00 00:00:00", `created` datetime NOT NULL default "0000-00-00 00:00:00", `modified` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=3 ; //С двумя ключами: CREATE TABLE IF NOT EXISTS `ci_sessions` (session_id varchar(40) DEFAULT "0" NOT NULL, ip_address varchar(16) DEFAULT "0" NOT NULL, user_agent varchar(120) NOT NULL, last_activity int(10) unsigned DEFAULT 0 NOT NULL, user_data text NOT NULL, PRIMARY KEY (session_id), KEY `last_activity_idx` (`last_activity`));

Я создаю таблицу для отображения на веб-странице, и эта таблица заполняется данными из базы данных MySQL. Я пытаюсь сделать пару вещей, которые затрудняют мне.

Сначала я пытаюсь вызвать код PHP, который существует в отдельном файле в HTML через JavaScript. Я думаю, что у меня это работает правильно, но я не уверен на 100% (потому что таблица не будет отображаться). Я думаю, что он работает правильно, потому что в FireBug отображается some кода таблицы (который находится в файле PHP).

Во-вторых, я пытаюсь сделать так, чтобы ряды чередуют цвета для удобства просмотра. До сих пор мой PHP-код приведен ниже. Таблица не отображается вообще ни в одном браузере.

$query = "SELECT * FROM employees"; $result = mysql_query($query); $num = mysql_num_rows($result); echo "

"; for ($i = 0; $i < $num; $i++){ $row = mysql_fetch_array($result); $id = $row["id"]; $l_name = $row["l_name"]; $f_name = $row["f_name"]; $ssn = $row["ssn"]; $class = (($i % 2) == 0) ? "table_odd_row" : "table_even_row"; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } echo "
$wrap_id$wrap_l_name$wrap_f_name$wrap_ssn
"; mysql_close($link); }

ИЗМЕНИТЬ

Чтобы ответить на несколько вопросов:

@controlfreak123, я не уверен, что вы подразумеваете под "include ("filename_with_php_in_it")". Поскольку страница не вызывается для анализа, я думаю, что она вызывается и делается контакт. Я указал в своем первоначальном вопросе, что считаю, что это верно, потому что FireBug показывает код для таблицы, и этот код находится в отдельном файле PHP, поэтому связь между файлом HTML и файлом PHP должна иметь место. Вот как я вызываю файл PHP из HTML файла, если вы хотите знать:

@Matt S, я не получаю много информации о выходе, на самом деле я не знал, что вообще что-то получаю, пока не посмотрю на FireBug и не увидел, что код PHP (или его часть) действительно передается в файл HTML. Конкретный вопрос заключается в том, как получить данные из базы данных MySQL и заполнить их в HTML-таблицу через PHP. Я также могу подтвердить, что employees имеет в нем данные, две записи, которые я вводил для тестирования. Я могу попытаться поместить код в свой собственный файл без JavaScript, как вы предложили, но это победит мою цель, так как я хочу, чтобы мои файлы HTML и PHP были отдельными, но я могу попробовать, чтобы проверить, хорош ли PHP-код и убедитесь, что JavaScript не нарушает его.

@Аарон, я не уверен, что вы просите (извините). Код предназначен для заполнения и создания таблицы на HTML-странице.

3 ответов

Вот полный пример того, что вы ищете:

  • вытащите некоторые данные из mysql, используя php
  • помещает эти данные в таблицу html
  • применять переменные цветные строки к таблице

Для стиля я немного обманываю и использую jquery, который мне кажется немного легче, чем то, что вы пытаетесь сделать.

Кроме того, помните, что $row чувствителен к регистру. Итак, $row != $Row .

Надеюсь, что это поможет:

tr.header { font-weight:bold; } tr.alt { background-color: #777777; } $(document).ready(function(){ $(".striped tr:even").addClass("alt"); });

Id Name Title

Здесь код таблицы использует только PHP, чтобы чередовать стили, как вы пытаетесь сделать в своем примере:

Id Title Date

Причина, по которой ваш код не выполняется, заключается в том, что вы не можете включать PHP с тегом Script. Вы должны использовать функцию PHP include, а исходная страница должна быть проанализирована как PHP.

В предыдущем уроке мы узнали, как создать соединение с сервером БД. Следующий шаг - создание БД и таблиц.

Рассмотрим два способа создания БД и таблиц. Первый, как это делается в PHP, второй - с помощью более дружественной утилиты PhpMyAdmin, которая является стандартной на большинстве вэб-хостов и в XAMPP.

Если у вас на хосте есть сайт с поддержкой PHP и MySQL, БД, возможно, уже создана для вас, и вы можете пропустить это раздел урока и начать создавать таблицы. Не забывайте консультироваться со страницами помощи хоста.

Создание БД и таблиц с помощью PHP

Функция mysql_query используется для отправки запроса БД MySQL. Запросы записываются на языке S tructured Q uery L anguage (SQL). SQL - наиболее широко распространённый язык запросов БД - не только для БД MySQL - он очень логичен и прост для изучения. В этом и следующем уроках вы узнаете всё самое важное о SQL-запросах.

При создании БД используется SQL-запрос CREATE DATABASE с таким синтаксисом:

CREATE DATABASE имя БД

Легко и просто, не так ли!? Попробуем вставить это в PHP-скрипт:

Mysql_connect("mysql.myhost.com", "user", "sesame") or die(mysql_error()); mysql_query("CREATE DATABASE mydatabase") or die(mysql_error()); mysql_close();

Сначала соединяемся с MySQL-сервером. Затем создаём БД "mydatabase". И наконец - закрываем соединение с MySQL-сервером.

Пока неплохо... но всё несколько усложняется, когда мы хотим создать таблицы в PHP. При создании таблиц мы используем SQL-запрос CREATE TABLE с таким синтаксисом:

CREATE TABLE имя таблицы (имя_столбца1 ТИП_ДАННЫХ, имя_столбца2 ТИП_ДАННЫХ, имя_столбца3 ТИП_ДАННЫХ, ...)

имя_таблицы и имя_столбца это, понятное дело, соответствующие имена. ТИП_ДАННЫХ используется для специфицирования типа данных, вставляемых в столбец. Вот наиболее распространённые типы:

Целые числа Десятичные числа Краткий текст до 255 символов длиной Обычный текст до 65,535 символов Длинные куски текста до 4,294,967,295 символов Даты в формате ГГГГ-MM-ДД Время в формате ЧЧ:MM:СС Время и дата в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС

В целом логично и относительно просто. Попробуем вставить это в наш пример:

Mysql_connect("mysql.myhost.com", "user", "sesame") or die(mysql_error()); mysql_select_db("people") or die(mysql_error()); mysql_query("CREATE TABLE MyTable (id INT AUTO_INCREMENT, FirstName CHAR, LastName CHAR, Phone INT, BirthDate DATE PRIMARY KEY(id))") Or die(mysql_error()); mysql_close ();

В этом примере мы начинаем с соединения с MySQL-сервером. Затем используем функцию для выбора БД "people". Далее создаём таблицу "persons" из 5 столбцов.

Обратите внимание, что для столбца "id" мы используем для специфицирования того, что столбец содержит числа, а затем добавляем для автоматического инкремента этих чисел и гарантирования тог, что для каждого ряда будет сгенерирован уникальный ID.

В конце мы используем для установки столбца "id" как первичного ключа/primary key. Первичный ключ уникально идентифицирует каждую запись (/ряд) в таблице, что особенно пригодится при последующих обновлениях БД.

Создание БД и таблиц с использованием phpMyAdmin

Бывает полезно иметь возможность создавать БД и таблицы напрямую в PHP. Но часто проще использовать phpMyAdmin (или любую иную утилиту администрирования MySQL), которая является стандартной на большинстве вэб-хостов и в XAMPP. Скриншот ниже показывает, как создавать БД и таблицы с применением phpMyAdmin.

На уроке будет рассмотрен пример создания на локальной машине базы данных mySQL и ее таблиц; установка DENWER

Пакет denwer можно найти и загрузить с официального сайта.

Для работы с базами данных mySql существует популярный инструмент с удобным вебинтерфейсом — phpMyAdmin .

После успешной установки пакета Denwer, выполняются следующие действия для запуска инструмента phpMyAdmin:

  • ярлык Start Denwer
  • в адресной строке браузера: http://localhost/tools/phpmyadmin/
  • * в случае изменения используемого порта во избежание конфликтов при установке denwer, адрес инструмента может быть и другим, например:
    http://localhost:8080/tools/phpmyadmin

    Создание базы данных mySQL локально (insitute)

    Создадим базу данных с названием insitute :

    Создание таблиц в phpMyAdmin

    Теперь в готовой базе данных можно создавать таблицы с полями:

    Типы данных в mySQL

    Типы данных для MySQL можно разделить на три категории: числовые данные, дата и время, и данные типа строка.
    Таким образом, поля таблицы могут иметь следующие типы данных:

    Тип данных Использование Диапазоны TINYINT SMALLINT MEDIUMINT INT или INTEGER BIGINT FLOAT
    Очень маленькое целое число Диапазон числа со знаком от –128 до 127. Диапазон числа без знака (unsigned) от 0 до 255.
    Маленькое целое число Диапазон числа со знаком от –32768 до 32767. Диапазон числа без знака (unsigned) от 0 до 65535.
    Среднее целое число Диапазон числа со знаком от –8388608 до 8388607. Диапазон числа без знака (unsigned) от 0 до 16777215.
    Целое число Диапазон числа со знаком от –2147483648 до 2147483647. Диапазон числа без знака (unsigned) от 0 до 4294967295.
    Большое целое число Диапазон числа со знаком от –9223372036854775808 до 9223372036854775807. Диапазон числа без знака (unsigned) от 0 до 18446744073709551615.
    Малое (одинарной точности) число с плавающей запятой. Не может быть числом без знака Диапазоны от –3.402823466E+38 до –1.175494351E-38, 0 и 1.175494351E-38 до 3.402823466E+38. Если количество знаков после запятой не установлено или

    Мы можем оповещать вас о новых статьях,
    чтобы вы всегда были в курсе самого интересного.