Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
161 / 122 / 85
Регистрация: 16.10.2013
Сообщений: 1,738
1

Проверка кода

19.12.2013, 15:13. Показов 751. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я сделал страницу, которая выводит список статей и страницу просмотра статей, я не спец в этом деле и хотел бы узнать, можно ли модифицировать этот код, или указать на мои ошибки, в наличаи которых я не сомневаюсь ибо пишу первый раз сайт:
index.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?
$num = 4;
$page = $_GET['page'];
$result00 = mysql_query("SELECT COUNT(*) FROM `ts`");
$temp = mysql_fetch_array($result00);
$posts = $temp[0];
$total = (($posts - 1) / $num) + 1;
$total =  intval($total);
$page = intval($page);
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;       
$query = mysql_query("SELECT * FROM `ts` ORDER BY `id` DESC LIMIT $start, $num");
$row = mysql_fetch_array($query);
do
{
$id = $row[id];
$title = $row[title];
$cat =$row[cat];
$pdate =$row[pdate];
$autor =$row[autor];
$content =$row[content];
    echo "<a href=view.php?id=$id>$title</a><br>";
    echo "$row[pdate]<br><br>";
}
while($row = mysql_fetch_array($query));                
if ($page != 1) $pervpage = '<a href=index.php?page=1>&lt;&lt;</a> | <a href=index.php?page='. ($page - 1) .'>&lt;</a> | ';
if ($page != $total) $nextpage = ' | <a href=index.php?page='. ($page + 1) .'>&gt;</a> | <a href=index.php?page=' .$total. '>&gt;&gt;</a>';
if($page - 5 > 0) $page5left = ' <a href=index.php?page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=index.php?page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=index.php?page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=index.php?page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = ' <a href=index.php?page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 5 <= $total) $page5right = ' | <a href=index.php?page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=index.php?page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=index.php?page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=index.php?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=index.php?page='. ($page + 1) .'>'. ($page + 1) .'</a>';
if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}
?>
view.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?
include "config.php";
$id=$_GET['id'];
$query = mysql_query("SELECT * FROM `ts` WHERE `id`=$id");
$row = mysql_fetch_array($query);
do
{
$title = $row[title];
$cat =$row[cat];
$pdate =$row[pdate];
$autor =$row[autor];
$content =$row[content];
}
while($row = mysql_fetch_array($query));
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title><?echo $title;?></title>
    <link rel="stylesheet" type="text/css" href="style/style.css" media="all">
</head>
<body>
<div id="con">
        <div id="top">
        <a href="index.php">Home</a>
        </div>
<div id="clear"></div>
        <div id="cont">
            <div id="left">
            </div>
            <div id="right">
                <div id="cn"> 
<?
echo "<h1>$title</h1><br>";
echo "<p>$cat</p><br>";
echo "<p>$pdate</p><br>";
echo "<p>$autor</p><br>";
echo "<p>$content</p><br><br>"; 
?>  
        
 
                </div>
            </div>
        </div>
<div id="clear"></div>
        <div id="bottom">
        </div>  
</div>
</body> 
</html>
Ну по view.php думаю я напорол боков, можно это другим путем сделать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2013, 15:13
Ответы с готовыми решениями:

Проверка промо-кода по GET запросу
Всем привет! При написании скрипта &quot;Проверки промо-кода&quot; столкнулся с проблемой! Не обрабатывается...

Проверка кода и советы по его улучшению. Генерация случайных чисел и проверка на уникальность
Привет народ! Занимаюсь изучением Java, захотелось реализовать выборку случайных чисел для лотереи....

Проверка пин кода и в соответствии с ним заполнить поля после ввода пин-кода на другой форме
Здраствуйте!Люди проблема в следующем, есть задача где мне надо сделать проверку пин кода и в...

Проверка кода
Вообщем нужно мне создать excel документ при помощи php =) Скачал библиотеку PHPExcel, начал с ней...

7
177 / 125 / 28
Регистрация: 30.10.2013
Сообщений: 686
19.12.2013, 15:17 2
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
while($row = mysql_fetch_array($query));                
if ($page != 1) $pervpage = '<a href=index.php?page=1>&lt;&lt;</a> | <a href=index.php?page='. ($page - 1) .'>&lt;</a> | ';
if ($page != $total) $nextpage = ' | <a href=index.php?page='. ($page + 1) .'>&gt;</a> | <a href=index.php?page=' .$total. '>&gt;&gt;</a>';
if($page - 5 > 0) $page5left = ' <a href=index.php?page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=index.php?page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=index.php?page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=index.php?page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = ' <a href=index.php?page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 5 <= $total) $page5right = ' | <a href=index.php?page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=index.php?page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=index.php?page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=index.php?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=index.php?page='. ($page + 1) .'>'. ($page + 1) .'</a>';
что вы хотите этим сделать? почему так? нельзя ли это сделать в цикле? от 1 до 5?
0
161 / 122 / 85
Регистрация: 16.10.2013
Сообщений: 1,738
19.12.2013, 16:41  [ТС] 3
плохая привычка)
0
177 / 125 / 28
Регистрация: 30.10.2013
Сообщений: 686
19.12.2013, 16:54 4
PHP
1
2
3
4
5
6
7
8
9
10
11
12
$id=$_GET['id'];
$query = mysql_query("SELECT * FROM `ts` WHERE `id`=$id");
$row = mysql_fetch_array($query);
do
{
$title = $row[title];
$cat =$row[cat];
$pdate =$row[pdate];
$autor =$row[autor];
$content =$row[content];
}
while($row = mysql_fetch_array($query));
почему именно так?

Добавлено через 32 секунды
Цитата Сообщение от dimabubyakin Посмотреть сообщение
плохая привычка)
не знаю насчет привычки, но это "ошибка", так писать противопоказано и скоро станет незаконно
0
161 / 122 / 85
Регистрация: 16.10.2013
Сообщений: 1,738
19.12.2013, 19:19  [ТС] 5
а как правильно?
0
177 / 125 / 28
Регистрация: 30.10.2013
Сообщений: 686
19.12.2013, 19:45 6
ну вот вы не замечаете, что в том большом куске кода присутствует последовательность от 1 до 5
0
161 / 122 / 85
Регистрация: 16.10.2013
Сообщений: 1,738
19.12.2013, 20:33  [ТС] 7
о понял спасибо, а что там про писать противозаконно? цикл с постусловием вне закона?

Добавлено через 1 минуту
я php учу всего лишь несколько дней, дается мне не трудно так как по синтаксису очень напоминает Си, но вот "правильное построение кода" для меня пока не доступно
0
177 / 125 / 28
Регистрация: 30.10.2013
Сообщений: 686
20.12.2013, 10:38 8
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
while($row = mysql_fetch_array($query));                
if ($page != 1) $pervpage = '<a href=index.php?page=1>&lt;&lt;</a> | <a href=index.php?page='. ($page - 1) .'>&lt;</a> | ';
if ($page != $total) $nextpage = ' | <a href=index.php?page='. ($page + 1) .'>&gt;</a> | <a href=index.php?page=' .$total. '>&gt;&gt;</a>';
if($page - 5 > 0) $page5left = ' <a href=index.php?page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=index.php?page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=index.php?page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=index.php?page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = ' <a href=index.php?page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 5 <= $total) $page5right = ' | <a href=index.php?page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=index.php?page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=index.php?page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=index.php?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=index.php?page='. ($page + 1) .'>'. ($page + 1) .'</a>';
Взгляните ещё раз на этот кусок кода, вы видите в нем последовательно от 1 до 5? почему бы не убрать лишний код с помощью цикла:
PHP
1
for($i=5;$i>=1;$i--)
0
20.12.2013, 10:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2013, 10:38
Помогаю со студенческими работами здесь

Проверка кода
Извлекаю из таблицы данные и проверяю на уникальность, тоесть если значение совпадает то я его не...

Проверка кода
На вход подаётся одна строка с кодом программы, нужно проверить правильность расстановки парных...

Проверка кода
Подскажите плз. Есть код календаря: &lt;SCRIPT LANGUAGE=&quot;JavaScript&quot;&gt; var nowdate function...

Проверка кода
Выбивает ошибку в инпуте a = int(input('Введите',i,'число')). Как правильно сделать? n =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru