Большое спасибо за советы. Может какую литературу посоветуете на русском и желательно из свежих по sql в целом? Конечно можно просто рыться в интернете и читать ото всюду по чуть чуть, но больше понимаю когда мысль заложенная в книге пытается донести саму суть и потенциал изучаемого процесса.
P.S. Уровень знания SQL у меня самый базовый(или и того меньше), знаю самый элементарные команды и типы данных по этому хотелось бы почитать литературу которая будет доступно доносить информацию. Сейчас вроде бы начал читать книгу "SQL. Полное руководство 3е издание 2015г." Надеюсь что зайдёт...
типы данных в бд влияют на многое, во-первых это выборка, по некоторым типам проще сканить таблицу чем по другому, индексы работают лучше, во-вторых математические и строковые операции работают по разному, в третьих это только мускуль пренебрегает типами, в постгресе например такое не прокатит
т.е. Я так понимаю лучшая практика это всё же строгая типизация данных?
Добрый день.
Создавая структуру БД, задумался над такой вещью как типы полей в SQL таблицах. По логике если я с помощью PHP произвожу и запись данных в базу и считывание данных из неё с последующей обработкой(математические операции или же приведение к любому типу данных или просто вывод данных), то получается что для большинства полей(кроме id например) я могу использовать тип данных VARCHAR и просто менять длину для этих полей в зависимости от предполагаемых данных?
Я так понимаю что если мы с помощью самого SQL производим математические операции или строковые или другие работы с типами данных, тогда это важно, но тогда возникает вопрос: "Как лучше производить те же самые математические операции, средствами PHP или SQL?"
P.S. Сильно не пинайте если мои слова взрывают кому то мозг и кажутся бестолковыми, просто хочу понять как правильно мыслить при создании структуры БД.
1.Скинь сюда ещё код капчи, чтоб не догадываться что там у тебя в функциях запихано.
2. В этой строке "<form action="./" method="post">" я бы всё таки прописал конкретный файл, в вашем случае я так понимаю это index.php.
1. Такое ощущение, что у тебя в сессию заносится сгенерированная капча, а потом после загрузки страницы, она у тебя снова генерируется и по этому в первый раз не совпадает.
2. Такая примитивная капча не спасает от ботов. Если боты нащупают ваш сайт, то спам повалит по 50 а то и более писем за день*проверено). Нужно более изящные способы проверки делать.
ppm
Советую тебе:
1. Поставь IDE NetBeans, он поможет тебе искать элементарные ошибки и писать нормальный код.
2. Начни с нормальной книги, которая будет тебя учить с самых азов, до более или менее нормального уровня. Например "Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5. 4-е издание(Бестселлеры O'Reilly) - 2016" она хотя бы относительно свежая и не использует в книге устаревший код который уже практически не поддерживается в новых версиях(например как у тебя "mysql_query")
3. Используй форум только в тех случаях когда ты не можешь несколько дней подряд найти решение своей проблемы, перелопатив кучу литературы и перепробовав все возможные варианты которые ты встречал на просторах интернета(по крайней мере, я стараюсь так делать). Иначе тебе просто не будут помогать на форумах.
Добрый вечер!
Помогите, но особо не пинайте.
На сайте (на htm) есть форма обратной связи (обработчик на php, сама форма и страницы: ошибка, сообщение отправлено - на htm).
Когда все поля формы заполнены, вводится код в окно капчи и с первого раза сообщение не отправляется, если снова вернуться в форму и ввести новую капчу (старая обновилась), то все нормально, сообщение уходит и теперь пока на сайте, то сообщения со всех страниц отправляются сразу и сколько хочешь.
Но при первом заходе на сайт или после его закрытия, а потом снова открытия, то все повторяется снова.
Т.е. форма отправляет сообщение только со второго раза.
Где-то нашел, что надо в .htaccess добавить строку для автостарта сессии php:
php_value session.auto_start 1
Но это ни чего не дало - отправляет только со второго раза.
Сам сайт http://fаnаtgusyаtnik[dot]ru
Помогите пожалуйста с этой проблемой.
Если потребуется, то могу выложить файл обработчика на php,
В php почти ни бум-бум.
Извините. Исправил.
Конечно не капча срабатывает со 2-го раза, а форма отправляет со второго раза.
1. Ссылка на сайт не работает
2. Выложите код обработчика формы на всякий случай
я бы реализовал такую задачу на js. весь подсчет, формирование и отправка на сервер, а использовать php для этого (могу показать грубым) - извращение, но каждому свое.
Походу действительно лучше на JS... Посмотрел как можно это через регулярные выражения, там просто жесть чё получается в моём случае.
ТС, таблица на твоём хосте и генерируется твоим скриптом или чужой хост?
Таблица выводится с помощью PHP, а потом в неё добавляются строки(пользователем) с помощью кнопки которая обрабатывает клик JS скриптом, для того чтобы создать в таблице нужное количество строк. После того как пользователь вводит данные в таблицу и нажимает кнопку отправку формы я хочу подсчитать количество строк и столбцов в таблице и циклом for записать данные из таблицы в mysql таблицу.
Добрый день!
Хочу попробовать написать универсальный класс для считывания данных из любых таблиц и помещения их в таблицу MySQL. Для этого мне нужно считать со страницы количество столбцов и строк чтоб запихнуть эти значения в цикл с помощью которого будет идти поиск значений и сохранение их в базу. Строки создаются динамически с помощью JS скрипта по нажатию на кнопку.
В голове я представляю это так:
1. Передаём имя таблицы на странице ($table) и имя таблицы в базе MySQL
2. Считаем количество столбцов и строк в таблице html
3. Начинаем считывать данные помещая их в массив(или же сразу записываем данные через плейсхолдеры в поля таблицы MySQL. Если так то пункт 4 пропускаем). до тех пор пока не встретим пустое поле или конец таблицы.
4. Записываем массив в таблицу
Собственно отсюда и вопрос. Реально ли посчитать на PHP количество строк и столбцов?
На сколько я знаю в JS это делается вот так:
А существует ли какой нибудь способ запихнуть данную конструкцию в конструктор класса "extends mysqli"? Чтоб можно было после создания объекта класса сразу делать запросы типа:
$create_db='CREATE DATABASE IF NOT EXISTS `'.$DB.'` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; ';
$con->query($create_db);
$con->query('USE '.$DB.';');
$con->set_charset($charset);
}
return$con;
}
}
В классе я проверяю создана ли БД и если не создана, то создаю её взяв имя базы из настроек файла, перед этим соединившись с сервером MYSQL.
Я понял плюс конструкции которую вы мне предложили, но у меня база будет одна и создаваться она будет в самом начале, когда мастер создания подключения запрашивает данные. По этому я немного упростил конструкцию, не знаю правильно ли всё получилось, но вроде бы всё работает.
Спасибо большое за помощь: Строитель и armancho7777777. Благодаря вам я черпнул ещё знаний.