Скрипт для «Повторялки»

Идея сделать что-то типа листочка для повторения различных знаний возникла у меня относительно давно — чуть больше месяца назад. Тогда я попробовал сделать это с помощью плагина на вордпресс, который позволяет делать спойлеры. Тогда я как раз проходил (де факто) повторял html и вопросы-ответы были соответствующими. Но запустить этот раздел сайта я так и не запустил. Мне не очень понравился результат. Основным моментом стала невозможность менять данные местами и вообще осуществлять с ними какие-либо вариации.

Например <p> — тег обозначающий параграф. Я мог сделать так:

p »

тег обозначающий параграф

Но не мог сделать наоборот:
Точнее мог, то только один из вариантов. И в любом случае на выходе у нас получается сплошной текст, как на листе бумаги, где мы можем рукой закрывать правильный ответ.
А правильно сделать так, чтоб получилась соответствие термин-определение, и можно было, например выводить вопросы в разнобой, или выводить случайные 10 вопросов из 100, ну и тому подобное.
Тогда я и отложил эту затею до того знаменательного момента как освою PHP.
Но похоже все поворачивается несколько иначе. PHP я «начну изучать» завтра вечером. А какие-то попытки создать эту самую базу я начинаю уже сейчас. Собственно потому и начинаю, что не хочу (уверен что это не правильно) привязывать свое обучение к учебному процессу.
Не я один обладаю таким свойством — надеяться на других. Мне (нам) обычно кажется, что вот сейчас кто-то придет и сделает так как надо и научит нас всему, что нам нужно. Увы, я все более утверждаюсь в том, что только собственные усилия определяют, что мы можем освоить, а что нет. Конечно, повторяя за учителем, можно научиться.. повторять за учитетем 🙁
Я такую штуку ощутил, когда учился управлять машиной. Учитель (инструктор) — это конечно хорошо, но пока он сидит рядом с вами и подстрахует вас в любой неожиданности, вы даже и не начинаете думать своей головой.
Впрочем, прошу прощения, я отвлекся.
Итак, для создания базы знаний нам потребуется: установленный сервер apache, база MySQL, язык PHP. Часто это все добро идет в одном комплекте (денвер, xampp).

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

Базу с названием «1», пользователем «root», паролем «», я создал из утилиты PHPMYADMIN, которая позволяет в визуальном режиме работать с базами MySQL.

Саму таблицу я создал уже из PHP, запустив следующий скрипт

<?php
$link = mysql_pconnect ("localhost", "root", "");
mysql_select_db(1);
mysql_query("CREATE TABLE slovarphp(id int auto_increment primary key,
word TEXT,
mean TEXT)") or die(mysql_error());
mysql_close();
print "Таблица создана!";

Не могу сказать, что полностью этот код вывел сам, скорее вообще взял готовый и подставил в нем значения: название базы, название таблицы, название столбцов таблицы. Пока для меня главное то, что оно работает. И да никаких кусков кода, непонятных мне здесь нет.

А вот уже наличие таблицы — ну то что она действительно создана, я проверил с помощью все той же утилиты phpMyAdmin

Следующий этап (ну как этап — следующее что я делал. ) это создание строк (заполнение таблицы). Здесь я перепробовал разные способы, но в PHP это выглядит так:

<?php
$link = mysql_pconnect ("localhost", "root", "");
mysql_select_db(1);
mysql_query("INSERT slovarphp(word, mean) VALUES ('ex', 'describtion')")
 or die(mysql_error());
mysql_close();
print "Таблица заполнена!<br>";

И последнее что я смог сделать вчера/сегодня — это вывести с помощью PHP значения в этой таблице

$db = mysql_connect ("localhost", "root", "");
mysql_select_db("1",$db);
$result = mysql_query("SELECT * FROM slovarphp",$db);
 
while($myrow = mysql_fetch_array($result))
echo $myrow['word'], " - это ", $myrow['mean'], "<br />";

Этот скрипт выводит все данные которые есть в таблице подряд в следующем виде:

«теримин» — это «определение термина».о

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

 

 

4 комментария

  1. Так это повторялка всего, что происходит на сайте в одну базу по таблицам(база знаний коментариев, впросов) для сайта?

    1. Нет. Поскольку вордпесс сделан на php/mysql, то все записи комментарии и вообще все кроме файлов находятся в mysql.
      Речь о том чтоб сделать удобную штуку для повторения, например, экзаменационных билетов, терминов или дат.

  2. Если будет сильный наплыв пользователей, то база быстро забьется мусором. Так что пишите сразу скрипт очистки базы от сообщений.

Leave a Reply

Ваш e-mail не будет опубликован.