|
|
|
| Мне нужна помощь. Я написал скрипт, который выводит из базы дааных MySQL описания скриптов и ссылки, что бы их скачать. Я не могу разобраться:
1. Как сделать вывод по категориям.
2. Как выводить разделение Мои и Другие скрипты.
Привожу код скрипта:
<?php
include "configuration.php";
@mysql_connect ($dblocation,$dbuser,$dbpasswd);
@mysql_query ("USE $dbname");
$num = $ss;
$page = $_GET['page'];
$result = @mysql_query("SELECT * FROM dload");
$posts = mysql_num_rows($result);
$total = intval(($posts - 1) / $num) + 1;
$page = intval($page);
if(empty($page) or $page < 0)
{
$page = 1;
}
if($page > $total)
{
$page = $total;
}
$start = $page * $num - $num;
$result = @mysql_query("SELECT * FROM dload LIMIT $start, $num");
$i = 1;
while ($postrow = mysql_fetch_array($result))
{
$moi = $postrow['moi'];
$cat = $postrow['cat'];
if (!$moi and !$cat)
{
echo "
";
}
if ($moi == 2)
{
$moi = 2;
echo "
<table width='600' border='0' bgcolor='#F5F5F5'>
<tr>
<td>Номер файла: ".$postrow['id']."<br>
Название: ".$postrow['id']." Дата: ".$postrow['date']."<br>
Описание: ".$postrow['opis']."<br>
<a href=/dload/".$postrow['fail'].">Скачать</a>
</td>
</tr>
</table>
";
}
if ($moi == 1)
{
$moi = 1;
echo "
<table width='600' border='0' bgcolor='#F5F5F5'>
<tr>
<td>Номер файла: ".$postrow['id']."<br>
Название: ".$postrow['id']." Дата: ".$postrow['date']."<br>
Описание: ".$postrow['opis']."<br>
<a href=/dload/".$postrow['fail'].">Скачать</a>
</td>
</tr>
</table>
";
}
$i++;
}
if ($page != 1)
{
$pervpage = "<a href= ./index.php?page=1><<</a>
<a href= ./index.php?page=". ($page - 1) ."><</a> ";
}
if ($page != $total)
{
$nextpage = " <a href= ./index.php?page=". ($page + 1) .">></a>
<a href= ./index.php?page=".$total.">>></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 + 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>";
}
echo "$pervpage $page2left $page1left <b> $page </b> $page1right $page2right $nextpage";
?>
|
Configuration.php
$ss = "10"; // Число Выводимых статей
$dblocation = "localhost"; //Имя сервера MySQL.
$dbname = "besp"; // Имя базы.
$dbuser = "root"; // Имя пользователя базы данных.
$dbpasswd = ""; // Пароль пользователя
|
Колонки в таблице dload:
id-номер.
naz-Название скрипта
date- дата
opis- описание
fail- ссылка на фаил(только имя и тип файла)
cat- категория
moi- принимает значение 1, при выводе ссылке на мой, 0 при выводе другого скрипта.
Если можно, помогите осуществить запись файла в колонку фаил, взаместо ссылки на него. | |
|
|
|
|
|
|
|
для: Эдуард
(19.10.2005 в 16:21)
| | А какова структура таблиц, не могли бы вы прикрепить дамп базы данных - без него мы не сможем запустить скрипт для отладки. | |
|
|
|
|
|
|
|
для: cheops
(19.10.2005 в 17:42)
| | Я создал для скриптов специальный код установки. Можете установить.
<?php
include "configuration.php";
$dbconnect = @mysql_connect ($dblocation,$dbuser,$dbpasswd);
if ($dbconnect)
{
echo "<center>Соединение с MySQL удачное.</center><br>";
}
else
{
echo "<center>Соединение не удачное. Ошибка: ".mysql_error()."</center><br>";
}
$sozdBD = mysql_query ("CREATE DATABASE $dbname");
if ($sozdBD)
{
echo "<center>Создание базы произошло удачно.</center><br>";
}
else
{
echo "<center>Создание базы произошло не удачно. Ошибка: ".mysql_error()."</center><br>";
}
$use = mysql_query ("USE $dbname");
if ($use)
{
echo "<center>Выбор базы сделан.</center><br>";
}
else
{
echo "<center>Выбор базы не сделан. Ошибка: ".mysql_error()."</center><br>";
}
$create = mysql_query ("CREATE TABLE dload (
id int(6) NOT NULL auto_increment,
naz text,
date text,
opis text,
fail text,
cat text,
moi text,
dr text,
PRIMARY KEY (id)
) TYPE=MyISAM;");
if ($create)
{
echo "<center>Создание таблиц произошло удачно.</center><br>";
}
else
{
echo "<center>Создание таблиц произошло не удачно. Ошибка: ".mysql_error()."</center><br>";
}
$musculclose = @mysql_close($dbconnect);
if ($musculclose)
{
echo "<center>Завершение создания базы данных MySQL завершено удачно.</center><br>";
}
else
{
echo "<center>Завершение создания базы данных MySQL завершено не удачно. Ошибка: ".mysql_error()."</center><br>";
}
?>
|
А что такое дамп? | |
|
|
|
|
|
|
|
для: Эдуард
(20.10.2005 в 02:05)
| | Дамп - это архив базы данных, насколько я понимаю... | |
|
|
|
|
|
|
|
для: Эдуард
(20.10.2005 в 02:05)
| | Я сейчас уже не успеваю (убегаю), если я вечером забуду ответить - поднимите пожалуйста тему.
PS Дамп это текстовый файл с набором записей, которые воспроизводят базу данных, получается при помощи утилиты mysqldump. | |
|
|
|
|
|
|
|
для: cheops
(20.10.2005 в 12:24)
| | Помочь Вы мне всё таки сможете.(Поднимаю тему) | |
|
|
|
|
|
|
|
для: Эдуард
(20.10.2005 в 15:34)
| | Просто я создал сайт [url]eddash.h15.ru[/url]. Он посвящён языку PHP. Мне нужно доделать только этот раздел и всё. | |
|
|
|
|
|
|
|
для: Эдуард
(20.10.2005 в 02:05)
| | Нужно ещё хотя бы несколько записей из таблицы, иначе нельзя запусить приложение и начать отладку - оно пишет
Warning: Division by zero in d:\main\get.php on line 13
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\main\get.php on line 26
1
|
| |
|
|
|
|
|
|
|
для: cheops
(21.10.2005 в 14:23)
| | Зпустите фаил setup.php, потом задайте в phpmyadmin SQL запрос:
INSERT INTO dload VALUES (1,'тест','9.9.99','Тестовое скачивание','testfile.zip','mail','1')
|
Выполните этот код. | |
|
|
|
|
|
|
|
для: Эдуард
(21.10.2005 в 15:51)
| | и желательно взаместо данного фрагмента в index.php
$moi = $postrow['moi'];
$cat = $postrow['cat'];
if (!$moi and !$cat)
{
echo "
";
}
if ($moi == 2)
{
$moi = 2;
echo "
<table width='600' border='0' bgcolor='#F5F5F5'>
<tr>
<td>Номер файла: ".$postrow['id']."<br>
Название: ".$postrow['id']." Дата: ".$postrow['date']."<br>
Описание: ".$postrow['opis']."<br>
<a href=/dload/".$postrow['fail'].">Скачать</a>
</td>
</tr>
</table>
";
}
if ($moi == 1)
{
$moi = 1;
echo "
<table width='600' border='0' bgcolor='#F5F5F5'>
<tr>
<td>Номер файла: ".$postrow['id']."<br>
Название: ".$postrow['id']." Дата: ".$postrow['date']."<br>
Описание: ".$postrow['opis']."<br>
<a href=/dload/".$postrow['fail'].">Скачать</a>
</td>
</tr>
</table>
";
}
|
поставить такой:
echo "
<table width='600' border='0' bgcolor='#F5F5F5'>
<tr>
<td>Номер файла: ".$postrow['id']."<br>
Название: ".$postrow['id']." Дата: ".$postrow['date']."<br>
Описание: ".$postrow['opis']."<br>
<a href=/dload/".$postrow['fail'].">Скачать</a>
</td>
</tr>
</table>
";
|
Так будет работать, но без категорий | |
|
|
|
|
|
|
|
для: Эдуард
(21.10.2005 в 15:54)
| | Пожалуйста ответьте на данный вопрос. | |
|
|
|
|
|
|
|
для: Эдуард
(21.10.2005 в 15:51)
| | >Зпустите фаил setup.php, потом задайте в phpmyadmin SQL
>запрос:
>
>INSERT INTO dload VALUES (1,'тест','9.9.99','Тестовое
>скачивание','testfile.zip','mail','1')
>
|
>Выполните этот код.
А категории каким полем определяются? Кстати, запрос не срабатывает, так как число полей в нём и в таблице dload, установщик для которой был приведён выше, не совпадают. | |
|
|
|
|
|
|
|
для: cheops
(23.10.2005 в 20:58)
| | просто уберите строку где создаётся поле dr, оно не нужно и mail измените на 1, так всё работает.
Категории определяются под предпоследним полем в строке cat. В данном случае это будет mail | |
|
|
|
|
|
|
|
для: Эдуард
(24.10.2005 в 10:09)
| | Помогите кто нибудь. | |
|
|
|
|
|
|
|
для: Эдуард
(28.10.2005 в 17:11)
| | Кто нибудь меня видит? | |
|
|
|
|
|
|
|
для: Эдуард
(31.10.2005 в 14:49)
| | Ага :))), только сложно воспроизвести ситуацию на локальной машине - прикрепите дамп со структорой таблицы и несколькими записями (хотя бы штук 5) и тот файл который с этой таблице работате. | |
|
|
|
|
|
|
|
для: cheops
(31.10.2005 в 19:22)
| | Подождите, я только найду где можно скачать программу mysqldump. | |
|
|
|
|
|
|
|
для: Эдуард
(01.11.2005 в 16:49)
| | phpMyAdmin можно загрузить с официального сайта этого Web-приложения http://www.phpmyadmin.net/ - там всегда свежая версия. | |
|
|
|
|
|
|
|
для: cheops
(01.11.2005 в 23:08)
| | Прикрепляю фаил дампа. | |
|
|
|
|
|
|
|
для: Эдуард
(03.11.2005 в 15:30)
| | Я уже сделал дамп, ответьте кто нить | |
|
|
|
|
|
|
|
для: Эдуард
(03.11.2005 в 15:30)
| | Нужно хотя бы несколько записей INSERT - т.е. то, что будет выводится на страницу. | |
|
|
|
|
|
|
|
для: cheops
(06.11.2005 в 19:00)
| | Используйте тестовый пример | |
|
|
|
|
|
|
|
для: Эдуард
(12.11.2005 в 17:32)
| | Всем спасибо за то что пытались помочь, я уже решил эту проблему, просто надо было мускулу дать команду SELECT....WHERE cat=$val. | |
|
|
|