[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: - Текстовая база данных -
Страницы: 1, 2
igor-radmin
Здравствуйте уважаемые программисты, я сам по своей сути дизайнер, но лет 5 назад я очень даже не плохо программировал на php (для начинающего, очень не плохо) всегда правда работал и создавал скрипты на текстовой базе, и очень прошу не писать преимуществ мускула или xml мне это не нужно, ибо сроднен я с текстовыми базами и их достаточно для того что я пишу.

В данный момент у меня заказ на сайт под ключ, и мне приходится вспоминать все то что я уже позабыл на php, дизайн нарисовал с этим проблем нет, и даже написал уже движок, в котором есть каталог товаров, так вот база каталога выглядит следующим образом:

ru<>0<>1<>M-052-1.jpg<>M-052-2.jpg<>M-052-3.jpg<><><><><iframe width="420" height="315" src="https://www.youtube.com/embed/XaAOWxQz1nA" frameborder="0" allowfullscreen></iframe><><>Слон Пинки<>Слоник с розовыми ушами, создаст позитивное настроение на весь день<>
en<>0<>1<>M-052-1.jpg<>M-052-2.jpg<>M-052-3.jpg<><><><><iframe width="420" height="315" src="https://www.youtube.com/embed/XaAOWxQz1nA" frameborder="0" allowfullscreen></iframe><><>Слон Пинки<>Слоник с розовыми ушами, создаст позитивное настроение на весь день<>

в котором:

язык сайта<>категория каталога (это можно пропускать так как категория будет всего 1)<>id товара<>изображение1<>изображение2<>изображение3<>пустой слот для доп изображения<>пустой слот для доп изображения2<>пустой слот для доп изображения3<>видео с ютуба<>пустой слот для доп видео<>название товара<>описание товара<>

так вот

1) я уже вспомнил как к примеру вывести все товары на русском языке:
$lang берется из кук

$fp = file("base/toys.base");
for($i = 0; $i < count($fp); $i++){
$dat = explode ("<>", $fp[$i]);
if ($lang == $dat[0]){
echo "тут соответственно вывод в красоте ".$dat[0].$dat[1]." и т.д.";
}

}


2) вспомнил как дописать в файл (тут идет запись в другую базу, но смысл понятен)

$fp = fopen("files/$cart.cart", 'a');
flock($fp, LOCK_EX);
fwrite($fp, $_POST['lang']."<>".$_POST['id_toy']."<>\r\n");
flock($fp, LOCK_UN);
fclose($fp);


3) даже нашел в интернете как стереть строку в файле по ID (5 лет назад я не пользовался именно такой функцией, по-этому я сам до сих пор не понял как я сделал так чтобы это работало если можете объясните подробно или же дайте какой-то другой код, можно даже который больше, но более понятный ато я впринципе то понимаю как работает, но применить на чемто другом не могу это array_splice, я помню раньше мне был понятен процесс, я считывал файл в массив, потом вроде затирал весь файл и перезаписывал его fputs но если мне попадался определенный id в строке я его затирал таким способом fputs($f,""); было бы гораздо удобмнее вспомнить именно этот вариант поскольку его же можно применить не только чтобы затиреть определенную строку но и перезаписать в нее чтото другое fputs($f,"новая информация<>еще 1 новая информация<>\r\n") и т.д.)

$file = file("files/$cart.cart");
$id_toy = $_POST['id_toy_del'];

foreach($file as $key=>$value)
{
if(substr_count($value,$id_toy))
{
array_splice($file, $key, 1);
}
}

$f=fopen("files/$cart.cart", "w");
for($i=0;$i<count($file);$i++)
{
fwrite($f,$file[$i]);
}
fclose($f);



также мне может понадобиться добавлять новую строку в базу не в конце а в самом начале, я помню сам принцип но не помню как реализовать

я вносил базу в массив, затирал базу, записывал сначало то что требуется, а после записывал то что в массиве, при этом не нужно забывать про блокировку файла на момент записи

еще может понадобиться переключатель страниц 1 2 следующая>

к примеру если вывелось 10 товаров остальные обрезаются и вставляется ссылка - следующая страница >

Пока вродибы это все вопросы (хотя по-любому не все), я очень благодарен тем кто не пожалеет времени и поможет, глядишь сработаемся вместе. В целом я дизайнер если понадобится смогу показать свой профиль на фрилансе чтобы знать уровень работ
Быстрый ответ:

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