Переделка txt базы в MySQL

Статус
В этой теме нельзя размещать новые ответы.

Med-Doc

Новичок
Переделка txt базы в MySQL

Объясню проблему. Загрузка текстовой базы требует долгого времени и много трафика. Поэтому я решил передалать сам запрос к категории с такого http://site.ru/index.php?cat=22 на такой http://site.ru/index.php?category=22&cat=%C3%EB%FE%EA%EE%EC%E5%F2%F0%FB
т.е это %C3%EB%FE%EA%EE%EC%E5%F2%F0%FB Значит название категории - Глюкометры. Вот скрипт файла index.php:

<?
//=================================================================================================================

require("config.php");
include ("header.htm");

//=================================================================================================================
?>

<?
//=================================================================================================================
// ВЫВОД СПИСКА КАТЕГОРИЙ ТОВАРОВ (МЕНЮ)
//=================================================================================================================

$fp = fopen ($dbcatlistfile,"r");
if (!$fp){echo "Ошибка!"; exit;};
$num_of_hidden = count($hidden_list) - 1;

while ($data = fgetcsv ($fp, 10000,"|"))
{
if (in_array($data[1], $hidden_list)==False)
{
print ("<a href=\"index.php?cat=$data[0]\" class=\"smalltext1\">$data[1]</a><br>");
};
};
fclose($fp);
//=================================================================================================================
?>

<?
//=================================================================================================================
// Закомментируйте ненужное:

// Категория по умолчанию
// if (($cat=="")&($product=="")) {$cat=$defaultcat;};

// Страница по умолчанию:
if (($cat=="")&($product=="")) {include("$startpage");};

//=================================================================================================================
// ВЫВОД ТОВАРОВ ЗАДАННОЙ КАТЕГОРИИ:
//=================================================================================================================

if ($cat!="")
{

$fp = fopen ($dbfile,"r");
if (!$fp){
echo "Не удается открыть базу данных. Приносим свои извинения, повторите попытку позже.";
exit;
};

$row=0;

while ($data = fgetcsv ($fp, 10000,"|"))
{

if ($data[6]=="$cat"){

$row++;

$name=$data[2];
$price=$data[3]*$comission;
$image=$data[4];
$description=substr($data[5], 0, $maxcharsindescription);
$size= GetImageSize($image);

if ($size[0]!=0){
$imagescale = $maximagesize/$size[0];
$size[0] = $size[0]*$imagescale;
$size[1] = $size[1]*$imagescale;
};

//Вывод названия категории:
if ($row==1) {print("<h3>$data[1]</h3><hr>");};

//Вывод описания товара:
print("<table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"2\">
<tr>
<td valign=\"top\"><a href=\"index.php?product=$data[0]\"><img src=\"$image\" width=\"$size[0]\" height=\"$size[1]\" border=\"0\" alt=\"$name\"></a></td>
<td valign=\"top\"><b><a href=\"index.php?product=$data[0]\" class=\"smalltext2\">$name</a><br>
<div align=\"right\"><a href=\"index.php?product=$data[0]\" class=\"smalltext2\">Подробнее | <b>ЗАКАЗАТЬ</b></a></div>
<a class=\"smalltext4\">$price руб.</a></b><br><br>
<a class=\"smalltext3\">$description...</a><br>
<br>
</td>
</tr>
</table>");
};
};

fclose($fp);
};

//=================================================================================================================
// ВЫВОД ОПИСАНИЯ ЗАДАННОГО ТОВАРА
//=================================================================================================================

if ($product!="")
{
$fp = fopen ($dbfile,"r");

if (!$fp){
echo "Не удается открыть базу данных. Приносим свои извинения, повторите попытку позже.";
exit;
};

while ($data = fgetcsv ($fp, 10000,"|"))
{
if ($data[0]=="$product")
{
$name=$data[2];
$price=$data[3]*$comission;;
$image=$data[4];
$size= GetImageSize($image);
$description=$data[5];


include("item_template.htm");

//Вывод описания товара:
//print("<img src=\"$image\" width=\"$size[0]\" height=\"$size[1]\" alt=\"$name\">");
//print("<br>");
//print("<h3>$name</h3>");
//print("<br>");
//print("<h4>$price руб.</h4>");
//print("$description");
//include("form.php");
};
};

fclose($fp);
};

//=================================================================================================================
?>

<?
//=================================================================================================================

include ("footer.htm");

//=================================================================================================================
?>

вот файл config.php

<?
//Конфигурационный файл магазина-клиента


//ОСНОВНЫЕ КОНСТАНТЫ

//полный путь до файла index.php (вида http://www.сервер/)
$path="http://site.ru";

//ID партнера:
$key=555;

//Файлы базы данных:
$dbfile = "http://site.ru/database.txt";
$dbcatlistfile = "http://site.ru/datacatlist.txt";
$dbrecomlistfile = "http://site.ru/recom_and_new.txt";

//Комиссия партнера (1.05 соответствует 5%):
$comission=1.05; // минимальное значение 1.01, максимальное - не ограничено

//Перечень рекомендуемых товаров и новинок:

$frec = fopen ($dbrecomlistfile,"r");if (!$frec){echo "Ошибка!"; exit;};
$datarec = fgetcsv ($frec, 10000,",");
$splist=$datarec;
$datarec = fgetcsv ($frec, 10000,",");
$nplist=$datarec;
fclose($frec);

//ДОПОЛНИТЕЛЬНЫЕ КОНСТАНТЫ

//Категории товаров, которые НЕ выводятся:
$hidden_list= array("Термометры","Люстры Чижевского","Барометры");

//Максимальная ширина фото товара при показе умегьшенного изображения:
$maximagesize = 80;

//Категория или страница, открываемая по умолчанию (для выбора см. index.php)
$defaultcat = "Глюкометры";
$startpage = "startpage.htm";

//Максимальное количество символов в предварительном описании товаров при выводе категории:
$maxcharsindescription = 255;

//Стили шрифтов (1 - меню, 2 - заголовки, 3 - описание, 4 - цена, 5 - новости)

?>

вот файл datacatlist.txt

22|Назв категории
32|Назв категории
33|Назв категории
34|Назв категории
35|Назв категории

и т.д.

вот файл database.txt

104|Название категории|описание|22
102|Название категории|описание|31

и т.д.
 

kos

Новичок
а в чем собственно вопрос, или я чего не понял???
 

ForJest

- свежая кровь
Тема закрыта.

Формулируйте вопрос так, чтобы его могли понять не только Вы.
Не пишите больше 10-15 строк кода.
Никто не будет вникать в Ваш код длиной 100 строк.
Правила форума: http://phpclub.ru/talk/announcement.php?s=&forumid=12
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху