[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Прошу проверить код
Не гость
Прошу проверить код: на читаемость, грамотность..


<?php
// Подключаем файл БД
include 'db.php';
$settings = mysql_query ("SELECT `title`, `meta_d`, `meta_k` FROM `settings` WHERE `page`='index'") or die(mysql_error());
// Open if/else (#1)
if ($my_settings = mysql_fetch_assoc ($settings))
{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<
title><?php echo $my_settings['title']; ?></title>
<
meta name="description" content="<?php echo $my_settings['meta_d']; ?>">
<
meta name="keywords" content="<?php echo $my_settings['meta_k']; ?>">
</
head>
<
p>Последние новости:</p>
<?php
// Close if/else (#1)
}
$news = mysql_query ("SELECT `id`, `title`, `description`, `author`, `date`, `view` FROM `news`") or die(mysql_error());
// Open if/else (#2)
if ($my_news = mysql_fetch_assoc ($news))
{
while ($my_news = mysql_fetch_assoc ($news))
// Open while (#1)
{
echo "<p><a href='view_news.php?id=" . $my_news['id'] . $my_news['title'] . "</a></p>"
. "<p>" . $my_news['description'] . "</p>"
. "<p>Автор: " . $my_news['author'] . " " . $my_news['date'] . " · Просмотров: " . $my_news['view'] . "</p>"
// Close while (#1)
}
// Close if/else (#2)
}
?>
<body>
</
body>
</
html>


После написания новых "кодов" буду выкладывать в эту тему :)



Спустя 27 минут, 33 секунды (3.02.2011 - 17:37) @dmir@l написал(а):
я бы констукцию While заменил бы на do-while и echo поменял бы на printf

Спустя 1 минута, 11 секунд (3.02.2011 - 17:38) sharki написал(а):
@dmir@l
А ты бы отучился от Попова то =)))

Спустя 1 минута, 24 секунды (3.02.2011 - 17:40) sharki написал(а):
Не гость
Ну для начало код сойдет, но уже пытайся разделять логику(PHP код и т.д) от вида(HTML)

Спустя 1 минута, 46 секунд (3.02.2011 - 17:41) @dmir@l написал(а):
sharki
причем здесь попов? я по нему не учился!
blink.gif

Спустя 56 секунд (3.02.2011 - 17:42) Dron19 написал(а):
Цитата (@dmir@l @ 3.02.2011 - 14:37)
я бы констукцию While заменил бы на do-while и echo поменял бы на printf

и в двух случаях замедлил бы скрипт...

Спустя 28 секунд (3.02.2011 - 17:43) @dmir@l написал(а):
sharki
просто знаком с его уроками и с людьми которые по этим урокам обучались biggrin.gif

Спустя 44 секунды (3.02.2011 - 17:44) Dron19 написал(а):
а нет, только из-за do-while бы замедлил, а в данном случае printf предпочтительнее, но только лишь из-за удобства

Спустя 58 секунд (3.02.2011 - 17:45) @dmir@l написал(а):
Dron19
ну ок...с конструкцией do-while я погоречился (признаю) что while сработает быстрее т.к. сначало проверяет условия а затем только выполняется тело функции))) но вот в echo выводить хтмл это грубо

Спустя 1 минута, 38 секунд (3.02.2011 - 17:46) Dron19 написал(а):
почему грубо, он ссылки лишь выводит, тут ничего страшного в принципе нет

Спустя 1 минута, 39 секунд (3.02.2011 - 17:48) Не гость написал(а):
sharki, Подскажи как это сделать smile.gif
@dmir@l, "но вот в echo выводить хтмл это грубо" - А как в этом случаи быть?smile.gif

Спустя 1 минута, 14 секунд (3.02.2011 - 17:49) sharki написал(а):
Не гость
Почитай про MVC ну и курсы можешь пройти http://irbis-team.com/ хуже не станет, и как раз поймешь что это такое, MVC

Спустя 2 минуты, 47 секунд (3.02.2011 - 17:52) Guest написал(а):
sharki, Спасибо! wink.gif

Спустя 1 минута, 25 секунд (3.02.2011 - 17:53) @dmir@l написал(а):
printf("
<p><a href='view_news.php?id='%s'>%s</a></p>
<p>%s</p>
<p>Автор: %s | Добавлено: %s | Просмотров: %s</p>
"
,$my_news['id'],$my_news['title'],$my_news['description'],$my_news['author'],$my_news['date'],$my_news['view']);

Спустя 47 секунд (3.02.2011 - 17:54) @dmir@l написал(а):
Guest

Практичнее)

Спустя 10 секунд (3.02.2011 - 17:54) Не гость написал(а):
@dmir@l, как на С что ли?smile.gif

Спустя 4 минуты, 24 секунды (3.02.2011 - 17:59) @dmir@l написал(а):
знаешь с?

Спустя 2 минуты, 39 секунд (3.02.2011 - 18:01) Не гость написал(а):
@dmir@l, нет laugh.gif ну так коды видел smile.gif

Спустя 1 минута, 48 секунд (3.02.2011 - 18:03) @dmir@l написал(а):
php это си подобный язык) так что может быть wink.gif

Спустя 2 минуты, 39 секунд (3.02.2011 - 18:06) Не гость написал(а):
@dmir@l, ну да smile.gif

Спустя 1 час, 3 минуты, 34 секунды (3.02.2011 - 19:09) Gradus написал(а):
@dmir@l,какое практичнее , какое грубо ? всё совсем наоборот
Не гость, предпочтительней писать echo , но если вам удобно то пишите printf, но это лишь нарушит валидность в нынешних "стандартах программирования"
а это что за ужас?)
 if ($my_news = mysql_fetch_assoc ($news))
{
while ($my_news = mysql_fetch_assoc ($news))
// Open while (#1)
{

зачем вообще здесь проверка , да ещё такая
просто пишите

while ($my_news = mysql_fetch_assoc ($news))
....


Спустя 3 минуты, 13 секунд (3.02.2011 - 19:12) twin написал(а):
Цитата
printf("
  <p><a href='view_news.php?id='%s'>%s</a></p>
  <p>%s</p>
  <p>Автор: %s | Добавлено: %s | Просмотров: %s</p>
    ",$my_news['id'],$my_news['title'],$my_news['description'],$my_news['author'],$my_news['date'],$my_news['view']);

Чушь.

Спустя 9 минут, 42 секунды (3.02.2011 - 19:22) @dmir@l написал(а):
twin
Поясни пожалуйста почему чушь?

Спустя 11 минут, 22 секунды (3.02.2011 - 19:34) Gradus написал(а):
@dmir@l,а ты попробуй вывести таким способом ну 10 переменных, а потом перепиши html код.Вот веселье будет глазами бегать туда сюда и высчитывать тут ли нужная переменная выводиться или нет, а если больше переменных ? а если этим заниматься будет не создатель этого "кода" ?

Спустя 7 минут, 28 секунд (3.02.2011 - 19:41) Не гость написал(а):
Вопрос насчет отступов от края то что нужно отступать именно пробелами, а когда переходишь на новую строку (методом ENTER) и курсор уже не прижат к левому краю, это нормально, можно так оставить? Или стереть и поставить пробелы?smile.gif

Спустя 8 минут, 48 секунд (3.02.2011 - 19:50) Gradus написал(а):
Не гость, делай как самому бы работать было удобней smile.gif лично для меня удобнее читать когда с пробелами (или табами) и переводом строк

Спустя 1 минута, 6 секунд (3.02.2011 - 19:51) @dmir@l написал(а):
Gradus
Я об этом не задумывался sad.gif
только вот непонятно почему чушь то?

Спустя 1 минута, 13 секунд (3.02.2011 - 19:52) @dmir@l написал(а):
может мануал старый ? huh.gif

Спустя 6 минут, 58 секунд (3.02.2011 - 19:59) twin написал(а):
Цитата
twin
Поясни пожалуйста почему чушь?

Ну уже Gradus написал. Продолжу, если мало.
Особое веселье начинается, когда в тексте HTML встречаются проценты.
Про подсветку тут речи нет, она вообще никого не интересует. Ведь очень практично искать среди этих красных каракулей %s а потом считать их и переменные.
А обрабатывать переменные не нужно? И предствь себе такую практичную портянку:
printf("
  <p><a href='view_news.php?id='%s'>%s</a></p>
  <p>%s</p>
  <p>Автор: %s | Добавлено: %s | Просмотров: %s</p>
    "
,$my_news['id'], htmlspecialchars($my_news['title']),htmlspecialchars($my_news['description']),
      htmlspecialchars($my_news['author']),$my_news['date'], htmlspecialchars($my_news['view']));


Ну и то, что это семантическая ошибка, вообще не нужно говорить. Заставить функцию делать несвойственные ей вещи и считать это практичным... Ну давай тогда вместо 2 + 2
    $a = 2;
$b = 2;

echo ($a + $b);

будем юзать это:
    $a = 2;
$b = 2;

$arr = array($a, $b);
$result = compact('a', 'b');

echo array_sum($result);

результат же один.

Спустя 11 минут, 46 секунд (3.02.2011 - 20:11) @dmir@l написал(а):
twin
Теперь понял! тогда принтф в данном случае лучше не использовать

Спустя 8 минут, 39 секунд (3.02.2011 - 20:19) alex12060 написал(а):
if ($my_news = mysql_fetch_assoc ($news)) {


Я вот этого не понимаю, зачем?

Спустя 8 минут, 16 секунд (3.02.2011 - 20:28) inpost написал(а):
alex12060
Потому что у нас больше принято проверку череz
if(mysql_num_rows > 0).

Спустя 7 минут, 15 секунд (3.02.2011 - 20:35) alex12060 написал(а):
Ответ понял, только не въехал. это был сарказм?)

Спустя 11 минут, 57 секунд (3.02.2011 - 20:47) inpost написал(а):
alex12060
В таблице может не быть данных, поэтому TRUE - если были строки, и FALSE - если не было. Вот как у нас:
if(mysql_num_rows > 0)
{
ТУТ ДЕЙСТВИЯ
}
else
{
echo 'Не было строк в таблице по заданным критериям';
}

Спустя 4 минуты, 32 секунды (3.02.2011 - 20:51) alex12060 написал(а):
хах, ну да)
Значит у него своя методика)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.