Создать ответ 
Создать свой сайт по примерам из интернета
Автор Сообщение
Sergei1243 Не на форуме
Ефрейтор
*

Сообщений: 13
У нас с: Jan 2016
Сообщение: #1
Создать свой сайт по примерам из интернета.
Доброе время суток. Однажды я решил создать свой сайт. Опыта и понимания, что я делаю = 0. Углубился я на два месяца в Интернет и создал сайт, не совсем по шаблону, дизайн менять достаточно просто в отличие от администрирования. Я отказался от сторонних CMS в силу разных причин. Создал пару страниц купил домен, купил хостинг, взял готовую систему регистрации с одного именитого сайта и систему комментариев с этого сайта. В общем, все не так сложно, кроме как разобраться в PHP и MySQL. У меня не получается соединить пользователей и систему комментариев, ну не понимаю я как это должно выглядеть кодом. Прошу помощи в соединении системы регистрации и системы комментариев, а именно:

1) Когда пользователи оставляют комментарий, хочется, чтобы аватар отображался рядом с комментарием.

2) Нужно немного доделать личный кабинет и систему общения пользователей друг с другом.

В итоге получится готовый легкий сайт с регистрацией, личным кабинетом, системой комментариев! Исходниками я конечно же готов поделиться, дабы все могли использовать готовый полноценный шаблон - а не просто сайт визитку.

P.S. Пишу сюда потому что мне нравится этот сайт и админ лично отвечает на сообщения, да и в целом достаточно много различной информации.
01.01.2016 22:32:33
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #2
RE: Создать свой сайт по примерам из интернета.
А что тут сложного?

Добавьте еще один SQL запрос для получения аватаров для зарегистрированных пользователей и выводите результат его работы вместе с комментарием.

По поводу доработки - это всегда сложно разбираться в "чужом" коде, так что лично я бы не взялся, т.к. это затратно по времени.
03.01.2016 13:38:23
Найти все сообщения Цитировать это сообщение
Sergei1243 Не на форуме
Ефрейтор
*

Сообщений: 13
У нас с: Jan 2016
Сообщение: #3
RE: Создать свой сайт по примерам из интернета.
(03.01.2016 13:38:23)Admin писал(а):  А что тут сложного?
Добавьте еще один SQL запрос для получения аватаров для зарегистрированных пользователей и выводите результат его работы вместе с комментарием.

По поводу доработки - это всегда сложно разбираться в "чужом" коде, так что лично я бы не взялся, т.к. это затратно по времени.

if ($number>0) {
echo '<div style="border:1px solid #000000;padding:5px;text-align:center;">';
echo '<b>Последние комментарии:</b><br>';
while ($com=mysqli_fetch_assoc($res))
$tag[(int)$com["parent_id"]][] = array((int)$com["id"], $com["message"],
$com["login"], $com["date"], $com["plus"], $com["minus"], $com["first_parent"],
$com["id_users"]);
ВОТ В ЭТОМ месте кода нужно добавлять sql запрос?
echo parents().'</div><br>';
03.01.2016 13:55:43
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #4
RE: Создать свой сайт по примерам из интернета.
Код:
Код:
while ($com=mysqli_fetch_assoc($res))
$tag[(int)$com["parent_id"]][] = array((int)$com["id"], $com["message"], $com["login"], $com["date"], $com["plus"], $com["minus"], $com["first_parent"], $com["id_users"]);

Меняете на такой:
Код:
while ($com=mysqli_fetch_assoc($res)) {
$res2=mysqli_query($db,"SELECT avatar FROM users WHERE id=".$com["id_users"]);
$avatar=mysqli_fetch_array($res2);

$tag[(int)$com["parent_id"]][] = array((int)$com["id"], $com["message"], $com["login"], $com["date"], $com["plus"], $com["minus"], $com["first_parent"], $com["id_users"], $avatar["avatar"]);
}

Теперь внутри функции parents() в переменной $tag[$up][$i][8] будет содержаться ссылка на url аватарки.
Т.к. писал код "на глаз" без проверки, то возможно где-то ошибся, но принцип должен быть понятен.
03.01.2016 14:18:54
Найти все сообщения Цитировать это сообщение
Sergei1243 Не на форуме
Ефрейтор
*

Сообщений: 13
У нас с: Jan 2016
Сообщение: #5
RE: Создать свой сайт по примерам из интернета.
(03.01.2016 14:18:54)Admin писал(а):  Код:
Код:
while ($com=mysqli_fetch_assoc($res))
$tag[(int)$com["parent_id"]][] = array((int)$com["id"], $com["message"], $com["login"], $com["date"], $com["plus"], $com["minus"], $com["first_parent"], $com["id_users"]);

Меняете на такой:
Код:
while ($com=mysqli_fetch_assoc($res)) {
$res2=mysqli_query($db,"SELECT avatar FROM users WHERE id=".$com["id_users"]);
$avatar=mysqli_fetch_array($res2);

$tag[(int)$com["parent_id"]][] = array((int)$com["id"], $com["message"], $com["login"], $com["date"], $com["plus"], $com["minus"], $com["first_parent"], $com["id_users"], $avatar["avatar"]);
}

Теперь внутри функции parents() в переменной $tag[$up][$i][8] будет содержаться ссылка на url аватарки.
Т.к. писал код "на глаз" без проверки, то возможно где-то ошибся, но принцип должен быть понятен.

1) у меня $com["id_users"] в первом коде, это я дописал.
2) попробовал заменить выдает ошибку для каждого комментария Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /home/h0025290/public_html/comment_db.php on line 49
03.01.2016 14:33:29
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #6
RE: Создать свой сайт по примерам из интернета.
Т.к. я не знаю структуру Вашей БД, то запрос:
$res2=mysqli_query($db,"SELECT avatar FROM users WHERE id=".$com["id_users"]);
я накидал из головы. У Вас наверняка по-другому называется и таблица и столбец.
03.01.2016 14:51:15
Найти все сообщения Цитировать это сообщение
Sergei1243 Не на форуме
Ефрейтор
*

Сообщений: 13
У нас с: Jan 2016
Сообщение: #7
RE: Создать свой сайт по примерам из интернета.
(03.01.2016 14:51:15)Admin писал(а):  Т.к. я не знаю структуру Вашей БД, то запрос:
$res2=mysqli_query($db,"SELECT avatar FROM users WHERE id=".$com["id_users"]);
я накидал из головы. У Вас наверняка по-другому называется и таблица и столбец.

Вроде бы все правильно:

[Изображение: tid_353_comments.png]

[Изображение: tid_353_users.png]
03.01.2016 14:57:00
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #8
RE: Создать свой сайт по примерам из интернета.
Скорее всего? проблема в том, что скрипт пытается получить аватарки для всех пользователей (включая и не зарегистрированных). В результате для не зарегистрированных пользователей SQL запрос возвращает пустое значение.

Попробуйте заменить:
PHP код:
$avatar=mysqli_fetch_array($res2); 

на:
PHP код:
if (mysqli_num_rows($res2)>0$avatar=mysqli_fetch_array($res2); 
03.01.2016 15:08:48
Найти все сообщения Цитировать это сообщение
Sergei1243 Не на форуме
Ефрейтор
*

Сообщений: 13
У нас с: Jan 2016
Сообщение: #9
RE: Создать свой сайт по примерам из интернета.
(03.01.2016 15:08:48)Admin писал(а):  Скорее всего? проблема в том, что скрипт пытается получить аватарки для всех пользователей (включая и не зарегистрированных). В результате для не зарегистрированных пользователей SQL запрос возвращает пустое значение.

Попробуйте заменить:
PHP код:
$avatar=mysqli_fetch_array($res2); 

на:
PHP код:
if (mysqli_num_rows($res2)>0$avatar=mysqli_fetch_array($res2); 

Не помогло, я вроде пробовал и id_users прописать такое же как id пользователей.
03.01.2016 15:20:04
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #10
RE: Создать свой сайт по примерам из интернета.
Обратил внимание, что у Вас в таблице comment в столбце id_users везде значения NULL, потому и не работает.
03.01.2016 15:30:08
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)


LiveInternet
© Copyright 2011-2024 by UsefulScript.ru