Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проблема с базами данными
Форумы портала PHP.SU » » Вопросы новичков » Проблема с базами данными

Страниц (1): [1]
 

1. Heartofprogrammer - 11 Августа, 2015 - 15:17:31 - перейти к сообщению
Доброе время суток всем. Есть очень большая проблема для меня, не знаю может она и вам не проблема. Такие проблемы для профессионалов решаются в 2 клика. Так вот ближе к тебе, есть сайт на моем компьютере делаю я его ради место на работу. Скачал задания по которому надо сделать сайт, я ссылку скину, сам сайт будет в теме закреплен в архиве. Мне надо сделать вывод 10 новостей на страницу, плюс к тому что в новостях будет написано дата публикации, никнейм пользователя который добавил новость на сайт (Автор публикации). Надо чтобы при клике на ссылку названия новости перекидывало на отдельную страну этой новости и там так же было написано все. Это я все попытался сделать сам, но множество ошибок, множество не правильных кодов, так как я новичок вообщем много ошибок там. И прошу очень хорошего человека попробовать исправить их или помочь чем-нибудь, я очень просто хочу устроится на работу. Добрые люди помогите новичку устроится на работу.
Скриншот базы данных
http://s020[dot]radikal[dot]ru/i700/1508[dot][dot][dot]d20d16409aaa[dot]png
ссылка на задания https://dropmefiles[dot]com/fdXHz
2. DeepVarvar - 11 Августа, 2015 - 15:50:38 - перейти к сообщению
Раз так, то тебе еще рано.
Сиди дальше грызи.

А сейчас выходит что ты просишь сделать за тебя, как в школоло -- списать ))
Устроят тебя, а работать ты не сможешь, от слова совсем.
3. DelphinPRO - 11 Августа, 2015 - 16:31:02 - перейти к сообщению
Если не можешь решить такую простую задачу, тебя попрут с работы (если возьмут, конечно) сразу после испытательного срока Улыбка
4. andrewkard - 11 Августа, 2015 - 17:28:37 - перейти к сообщению
Heartofprogrammer
Heartofprogrammer пишет:
сделать вывод 10 новостей на страницу

Добавьте в запрос LIMIT (0,10)

Heartofprogrammer пишет:
Надо чтобы при клике на ссылку названия новости перекидывало на отдельную страну этой новости

Отлавливаете id новости и добавляйте его в запрос
PHP:
скопировать код в буфер обмена
  1.  
  2. $id = (int)$_GET['id'];
  3. $sql=...WHERE id=$id;
  4.  
5. Heartofprogrammer - 11 Августа, 2015 - 22:15:53 - перейти к сообщению
andrewkard пишет:
Heartofprogrammer
Добавьте в запрос LIMIT (0,10)

Heartofprogrammer пишет:
Надо чтобы при клике на ссылку названия новости перекидывало на отдельную страну этой новости

Отлавливаете id новости и добавляйте его в запрос
PHP:
скопировать код в буфер обмена

$id = (int)$_GET['id'];
$sql=...WHERE id=$id;
 


При клике на заголовок новости на главной странице index.php меня перебрасывает на страницу news.php и там не одну новость выводит а все новости.

в файле news.php вот такой код:

PHP:
скопировать код в буфер обмена
  1. $news = $_GET['id'];
  2.         $mysqli = mysqli_connect('localhost', 'weltkind', '123321', 'wl_db');
  3.         $sql = "SELECT
  4.                 n.id AS news_id,
  5.                 n.title AS title,
  6.                 n.content AS content,
  7.                 u.id AS user_id
  8.                 FROM news n
  9.                 LEFT JOIN users u
  10.                 ON n.user_id = u.id
  11.         ";
  12.  
  13.         $query = mysqli_query($mysqli, $sql);
  14.         while ($row = mysqli_fetch_assoc($query)) {
  15.                 echo '<div>';
  16.                 echo '<h1><a href="news.php?id='.$row['id'].'">'.$row['title'].'</a></h1>';
  17.                 echo '<p>'.$row['content'].'</p>';
  18.                 echo '</div>';
  19.         }

 
6. andrewkard - 12 Августа, 2015 - 11:00:55 - перейти к сообщению
Heartofprogrammer пишет:
При клике на заголовок новости на главной странице index.php меня перебрасывает на страницу news.php и там не одну новость выводит а все новости.


вставьте полученный id в запрос:
PHP:
скопировать код в буфер обмена
  1.  
  2. $news_id = (int)$_GET['id'];
  3. $sql = "SELECT * FROM news, users WHERE news.id = users.id AND news.id='.$news_id.'";
  4.  

как то так, код не проверял
7. Heartofprogrammer - 12 Августа, 2015 - 12:46:06 - перейти к сообщению
andrewkard пишет:
вставьте полученный id в запрос:
PHP:
скопировать код в буфер обмена
 
$news_id = (int)$_GET['id'];
$sql = "SELECT * FROM news, users WHERE news.id = users.id AND news.id='.$news_id.'";
 

как то так, код не проверял


Теперь нечего не показывает вообще, чисто пустая страница в запросе news.php.
В адресной строке news.php показывает http://localhost/weltkind/news.php?id=

вот код ваш вставил:

PHP:
скопировать код в буфер обмена
  1. <?
  2.         $news_id = (int)$_GET['id'];
  3.         $mysqli = mysqli_connect('localhost', 'weltkind', '123321', 'wl_db');
  4.         $sql = "SELECT * FROM news, users WHERE news.id = users.id AND news.id='.$news_id.'";
  5.  
  6.         $query = mysqli_query($mysqli, $sql);
  7.         while ($row = mysqli_fetch_assoc($query)) {
  8.                 echo '<div>';
  9.                 echo '<h1><a href="news.php?id='.$row['id'].'">'.$row['title'].'</a></h1>';
  10.                 echo '<p>'.$row['content'].'</p>';
  11.                 echo '</div>';
  12.         }
  13. ?>
8. RomAndry - 12 Августа, 2015 - 13:11:50 - перейти к сообщению
используйте в своей практике простейший дебаг, с помощью функций echo, print_r, var_dump, что бы убедится, что все приходит правильно.
для начала сделать простой вывод запроса и посмотреть синтаксис
PHP:
скопировать код в буфер обмена
  1.  
  2. $sql = "SELECT * FROM news, users WHERE news.id = users.id AND news.id='.$news_id.'";
  3. echo $sql;
  4.  

(Добавление)
а затем полученный синтаксис запроса выполните в SQL клиенте, что он вернет?
9. Heartofprogrammer - 12 Августа, 2015 - 13:39:34 - перейти к сообщению
RomAndry пишет:
используйте в своей практике простейший дебаг, с помощью функций echo, print_r, var_dump, что бы убедится, что все приходит правильно.
для начала сделать простой вывод запроса и посмотреть синтаксис
PHP:
скопировать код в буфер обмена
 
$sql = "SELECT * FROM news, users WHERE news.id = users.id AND news.id='.$news_id.'";
echo $sql;
 

(Добавление)
а затем полученный синтаксис запроса выполните в SQL клиенте, что он вернет?


Сделал простой вывод запроса и посмотрел синтаксис вывело 0
http://s017[dot]radikal[dot]ru/i415/1508[dot][dot][dot]54180e7d7ff8[dot]png
Потом полученное выполни в sql запросе и вывело вот это
http://s018[dot]radikal[dot]ru/i500/1508[dot][dot][dot]07a834a1ca94[dot]png
10. RomAndry - 12 Августа, 2015 - 13:42:18 - перейти к сообщению
Вы же в URL не передали ID новости, и еще... исправьте код ниже (я сразу не заметил
PHP:
скопировать код в буфер обмена
  1.  
  2. $sql = "SELECT * FROM news, users WHERE news.id = users.id AND news.id=".$news_id;
  3.  
11. Heartofprogrammer - 12 Августа, 2015 - 13:58:53 - перейти к сообщению
RomAndry пишет:
Вы же в URL не передали ID новости, и еще... исправьте код ниже (я сразу не заметил
PHP:
скопировать код в буфер обмена
 
$sql = "SELECT * FROM news, users WHERE news.id = users.id AND news.id=".$news_id;
 

А как URL передать ID новости?
$news_id = (int)$_GET['id']; не правильно что ли?
12. RomAndry - 12 Августа, 2015 - 14:03:57 - перейти к сообщению
Цитата:
http://localhost/weltkind/news.php?id=123

 

Powered by ExBB FM 1.0 RC1