PHP+MYSQL — Создание блога 7


355 просмотров.

Краткое описание видео: .итак давайте займемся реализации того.что мы наметили в предыдущем уроке да то.есть.автоматизируем главную страницу чтобы.вся информация выводилась на нее уже.из базы возвращаемся в одном дриммер.и здесь пока я не забыл.объясню вам еще один моментик быстренько.когда мы сделали в папке blocks вот этот.файл bdp с помощью которого мы теперь.постоянно подключаемся к базе до.в нужных местах я вам советую эту.информацию сразу также сохранить как.сниппет как кусочек потому что в.последующем вам частенько придется.соединяться с базой да и чтобы постоянно.не держать в голове вот эти функции мои.сколько анаит москаль селе куда-то bsd.вам проще будет просто скопировать эти.вещи и как кусочек перейти вот на.вкладку snippets в нашу папочку.сохранить вот эту последовательность как.сниппет да и назовем его допустим.соединение с базой данных здесь как.обычный блок оставляем и ok.года у нас появился теперь когда вам.понадобится эта информация для.соединения с базой для вас она всегда.есть наготове.вот это то что я хотел напомнить а.сейчас возвращаемся к нашему сайту к.нашему файлу.index.php и давайте думать что мы должны.сделать перед тем как начать в.вытаскивать информацию из базы да я.хотел бы сделать небольшое вам небольшую.заметку так скажем да потому что сейчас.мы будем.вот так сказать информацию из базы.немножко по-другому да и сейчас я буду.объяснять почему мы ее будем вытаскивать.по другому для этого давайте вспомним.как мы это делали в предыдущем курсе.когда работали с простым печь писает он.да вот у нас был было папочка 1 pitch.писает этом файле index.php.мы в самом начале вы таскали информацию.таким образом то есть сделали запрос к.базе вот он москаленко ирина и.вытаскивали четыре поля тайтл методы.медаки текст из таблицы settings где p.равно индекс.а сейчас мы будем делать вот эту строчку.точно так же да вон сформировать запрос.чтобы вытащить вот эти четыре поля.потому что мы хотим их уже использовать.и второй момент мы сразу перемен умарову.заносили.результат вот этой функции то что мы.сюда вот в результа нас попала да мы.сразу вытаскивали в переменную мая роу.как массивная вот вроде бы все правильно.вроде бы у нас все работало до но в чем.здесь.хитрый с чем здесь есть подвох.смотрите да вот сейчас будете очень.внимательно потому что вот эта вещь.которую мы сейчас будем с вами делать.она очень важно и вам нужно ее.обязательно понять и уловить давайте.подумаем да вот у нас есть переменные.результы мы формируем запроса к базе.вытащить поля так вот у нас откроем базу.для наглядности на.можно даже нашу сразу базу открыть печки.блог потому что таблицы settings у нас.ничем не отличается от той что мы делали.в том курсе на нажимаем обзор и видим.что у нас здесь есть одна запись как раз.для страницы индекс который мы сейчас.будем делать итак вот у нас был запрос.до вытащить поля то это методы мит кей и.текст из settings где p равно индекс.вроде все нормально да вытащить вот эти.четыре поля раз-два-три-четыре где p.равно индекс все правильно вот эту вот.эту строчку вытащит в переменную результ.так идем дальше все брайан он его.вытащил и мы здесь уже в переменную моя.роль помещаем массив да то есть вот эти.данные вот эти четыре штучки как массив.у нас теперь они доступны нам для вывода.но где здесь подвох вот смотрим если.допустим мы здесь ошиблись да и написали.нет idol а той паладин у нас сразу.возникнет ошибка то есть так как.полетает aladdin у нас не существует.здесь в этой таблице.то соответственно сразу будет ошибка и в.переменную результат нас попадет ложь то.есть вот эта функция не сможет.выполниться потому что ей ниоткуда.просто взять вот это поле на.и естественно она вернет ошибку скажет.ни фига подобного нету там такого поля и.сюда у нас попадает ошибочка в результ и.идем дальше так как у нас в результате.бычка да то соответственно вот эта.функция тоже говорит блин никак не могу.я говорит вытащить массив потому что там.какая-то ошибка.и соответственно сюда тоже у нас.попадает ошибка и дальше у нас здесь.соответственно никакой методы не идет.никакой медики не выводятся тайтл тем.более так далее да то есть у нас вся.страница прогорает сплошные ошибки вот а.всего лишь из-за того что здесь появился.один ненужный символ то есть кто-то.допустил ошибку либо зашел в базу может.быть наоборот мы здесь написали той.talgo а кто-то взял зашел там вашу базу.и изменил вот это поле допустим style no.name.и все то же самое то есть вся страница у.нас раза рушится и даже непонятно из-за.чего так скажем да мы даже не увидим.из-за чего у нас ничего не работает.поэтому здесь естественно нужно.страховаться и везде проверяйте все ли у.нас нормально и каждый шаг обязательно.проверять на каждом шаге мы должны быть.уверены что все выполняется так как.нужно естественно там у нас был простой.сайта я не стал ничего усложнять мы.просто делали уже все.с уверенностью да то есть все писали.правильно все поля правильно у нас и мы.были уверены вот кроме этого еще какая.ситуация могла быть допустим мы здесь.даже все правильно писали тайтлами тогда.да все поля у нас вроде правильно но мы.всегда как бы делали в том случае для.тех случаев когда у нас записи уже в.таблице есть да то есть мы сначала в.таблицу загоняли записи потом только.писали код и в этом случае мы также.сделали таблицу дата мы загнали здесь 6.записи на в ком лицу setting загнали.хотя бы одну дату для яндекс и догнали.но представим ситуацию что у нас в.таблице нет записей то есть просто есть.таблиц но записи в нее нет.соответственно вот этот запрос у нас.пройдет нормально результат у нас на.тайтлами тандеме такие текст выпишется.хотя как бы пустота вытащиться но запрос.пройдет.вот а вот этот вопрос уже он будет.неудачной опеки.поэтому нужно везде все проверяете.сейчас мы этим займемся.так кстати вот эти две строчки у нас.будут такие же поэтому мы их можем.отсюда спокойно копировать и закрываете.этот файл открываем этот файл и.возвращаемся к своему сайту.теперь мы поняли что просто так писать.не желает на нужно обязательно все.страховать все проверять и возвращаемся.к сайту печь предлог возвращаемся к.нашему файл index.php и вставляем то что.скопировали и так давайте займемся этими.самыми проверками первую очередь у нас.будет проверку вот здесь действительно.ли попала в результат ходимо информация.на действительно ли там данные они.ошибка.вот как мы будем это проверять.естественно мы будем проверять с помощью.условий и в lcd.если все нормально делаем тот а иначе.делаем только все пишем iv и в скобочках.указываем условий до которое должно.соблюдаться вот мы пойдем здесь как бы.от обратного то есть мы будем проверять.на ложность да если в результат у нас.попала ложь стала сильный знак и пишем.результ вот это будет означать.условии что в результат попала ложь и.так если в результат попала ложь у нас.да то мы фигурных скобочках пишем.программе чтобы она нам вывела.соответствующее сообщение что у нас.запрос не может быть выполнен допишем.эхо и вам за це выводим соответствующие.сообщения так сначала теги абзаца просто.им и пишем.запрос допустим да так запрос на выборку.данных из базы не прошел так и нам бы.интересно было сразу знать почему он не.прошел и по идее нам нужно сразу.остановить выполнение программы да.потому что мы знаем что если мы здесь не.остановим то у нас эти ошибки пойдут.дальше и вся страница у нас будет в.ошибках поэтому нам нужно здесь.остановить выполнение и в.распространиться будет выводиться только.один-единственный абзац говорящий о том.что у нас есть ошибка он и здесь сразу.мы напомним посетителю до который увидит.эту страничку чтобы он оповестил.администратора.так запрос на выборку данных из базы.прошел напишите об этом администратору.и даем здесь email администратора одна.собачка раз и мир . кому к примеру я.свой даю вы можете дать свой и.естественно нам хотелось бы знать код.ошибки почему эта ошибка вылезла давайте.выведем на следующей строке для этого.введём так переноса и на следующей.строке напишем код код ошибки : на так и.даже можно его сделать жирным.выделяем этот текст.переходим на английский и нажимаем.комбинацию клавиш control + b у нас этот.текст будет выводиться жирным так все.функция х у нас отработал а теперь нам.нужно остановить выполнение всей.страницы и вывести сам код ошибки потом.пишем и gzip и в качестве параметров мы.и укажем функцию которую выводит код.ошибки это функциям sql error.так и параметра ставим пустыми.вот это у нас строчка означает что можно.остановить выполнение всех программ и.вывести вот это сообщение 3 сообщения.какая именно ошибка произошла отлично.этому проверку сделали идем дальше.теперь нужно нам посмотреть а.действительно ли у нас в результат.попали какие-то записи на то есть.действительно ли в таблице.были вот эти записи.это нам поможет проверить функция мой.sql нам роуз которая считает количество.записей вот в этом результате как раз.таки поэтому здесь мы можем создать еще.одно условие и написать так если в.результате больше чем одну из больше чем.0 записей до.то делать то иначе делать это потому.давайте напишем если функция маску или.нам rose вот так оно пишется выполненная.с параметром результата есть мы передаем.этой функции наши наши результаты.говорим посчитаю нам сколько в нем.записи да сколько строк попала в этот.результат да так вот если у нас эта.функция вернет больше нуля до что.результат больше нуля то есть хотя бы.одна запись есть то мы уже можем смело.выполнять вот эту функцию которую мы.раньше делали сразу после запроса на вот.она эта функция маска эльфы чары теперь.мы здесь знаем уже точно что у нас в.результате есть хотя бы одна запись вот.так и теперь мы уже можем смело.вытаскивать из нее данные виде массива а.иначе если же вдруг у нас там записи не.до приз либо ноль либо вообще какой обед.нам ложь вернулась дата мы здесь можно.написать иначе выведенном следующую.строчку ясно и выполнение программы так.напишем сразу эхо.откроем абзац.так и напишем информация по запросу не.может быть извлечено в таблице нет.записей.тогда так это мы написали и нужно нам.еще установить выполнение программы.потому что если нет записи то нам дальше.уже нечего будет выводить и пойдут.опять-таки ошибки поэтому здесь мы.напишем экзит экзит и в качестве.параметра оставим пустые скобки так.отлично да теперь давайте еще раз все.нормально на русском языке проговорим и.если все у нас отлично начнем заполнять.3 2 еще же данными из базы.так в переменную результат мы помещаем.результат запроса.вытащить поля то это у методами такие.текст из таблицы settings где p равно.индекс на все правильно так если у нас.функция сработала неправильно daiso.призыв попала.ложь то нужно вывести такое сообщение.запрос не прошел напишите админу код.ошибки такой-то и останавливаем.выполнение все правильно если запрос.прошел то вот эта вещь у нас.пропускается запрос прошел мы идем.дальше мы должны теперь дальше посчитать.если у нас в результате хоть одна.строчка чтобы из нее можно было что-то.выпить вот это нам для этого нам.помогает вот эта функция mais quel на ум.роуз который считает сколько строк в.результате если больше нуля то мы делаем.вот это да вытаскиваем в мэру информацию.как массив отлично если меньше нуля либо.ноль по.выводим информация по запросу не может.быть замечена в таблице нет записей.и выходим опять-таки останавливаем.выполнение нашей страничке.отлично так сохраним страницу index.php.и давайте займемся уже выводом.кстати вот эта конструкция вся да она.нам будет очень часто нужно поэтому.можно ее также сохранить как кусочек и.постоянно ей пользоваться весь мы ее.разобрали с ней же вопросов у нас нет.поэтому можно и и спокойно сохранять.выделяемые полностью от отсюда да и на.сюда копируем переходим сниппеты и.давайте здесь в папки наши блоки.создадим еще один кусочек с названием.запрос просто базе данных с проверкой.чтобы мы точно знали запросы к базе.данных проверкой обычный блок и так.отлично возвращаемся файлы так и уже.меняем здесь эти вещи на соответственно.данные из базы да то есть между тегами.той то мы выводим.мая row и ячейку то это мой кейк умысел.a tight луга и закрываем сразу и.прописываем переменную майору.как х точнее вывести переменную май ру.и какой именно элемент массива элемент.массива тайпу так вот эта вещь нам тоже.часто бывает нужно поэтому я предлагаю и.также сохранить как кусочек копируем.переходим в кусочки и сохранены как.кусочек к мэру так ok и давайте здесь.сразу добавим так meta description.вот здесь на вкладке common description.так и атрибут контент составляем umma.ru.meta description из базы так то же самое.с meta keywords делаем всегда мы.вставляем моя роль метод кей готова и.здесь где у нас сам текст должен.выводиться главной страничке вот в этой.ячейке на мы проставляем мэру текст все.4 поле которое мы здесь вытаскивали из.базы мы использовали.принципе можно уже проверять что мы.сделали что у нас получилось сохраняем.страницу index.php возвращаемся в.браузер возвращаемся на главную страницу.и обновляем так и видим что у нас текст.все как положено вывел сюда название то.это выявилось.если просмотреть исходный текст то.ключевые слова у нас выявились и.description тоже вывелся из базы все.нормально теперь давайте убедимся в.наших проверках то есть что мы их не зря.сделали.и допустим попробуем вот здесь изменить.тает вал допустим на тайтон один из мы.заведомо знаем что такого поля на базе.нас не существует и вот этот запрос.должен быть неудачный сохраняем.переходим на сайт и обновляем и видим.что у нас запрос выдается все правильно.сообщение что запрос на выборку данных.из базы не прошел вот и выдается код.ошибки что неизвестный.столбец стоят ладен найден вот в этом.как раз таки в списке полей до поэтому.это нам очень поможет да при поиске вот.этой ошибки соответственно мы сразу.знаем что он не нашел тайтл 1 значит мы.идем в код и.знаю может ошибка возникла вот из-за.этой вещи и теперь давайте что вот здесь.попробуем изменить где полно не индекс.допустимо индекс 1 да то есть мы опять.таки заведомо знаем что поле с таким.значением у нас не существует и по идее.сейчас должна вывести вот эта строковая.информация по запросу не может быть.извлечено в таблице нет таких записей.сохранение и давайте посмотрим.действительно у нас выводится ошибка что.в таблице таких записей с содержанием.поле плеч индекс 1 не существует если же.мы.ставим все на свои места по убеждаемся.что у нас все работает итак данный урок.здесь я заканчиваю обязательно.разберитесь максимально-максимально.понятно чтобы вам все было и никаких.вопросов здесь не возникало в том-то.архиве дар который будет у вас в меню вы.можете распаковать архив с этим сайтом я.естественно все эти стройки.прокомментирую и вы можете уже не всегда.что-то непонятно открывать мой файл и.читать мои комментарии каждой строке да.я на этом заканчиваю увидимся уже в.следующем уроке

PHP+MYSQL — Создание блога 7

Как? Вы еще не смотрели? Ну это зря...