Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Посоветуйте как лучше хранить данные
 
 автор: chexov   (23.11.2008 в 16:20)   письмо автору
 
 

Итак, в исходном виде есть таблица вида:

id
name
times

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

ДАТА
СОДЕРЖАНИЕ СТАТЬИ
-----------------------------------
Прикрепленный файл №1
Прикрепленный файл №2
Прикрепленный файл №n

Подскажите как лучше хранить эти приложения если заранее нельзя предугадать сколько их будет?

  Ответить  
 
 автор: Trianon   (23.11.2008 в 16:25)   письмо автору
 
   для: chexov   (23.11.2008 в 16:20)
 

Итак, в исходном виде есть таблица вида:
id
name
times

интересный вид такой.

тексты предполагается в базе хранить или файлами?
изображения предполагается в базе хранить или файлами?

  Ответить  
 
 автор: chexov   (23.11.2008 в 16:29)   письмо автору
 
   для: Trianon   (23.11.2008 в 16:25)
 

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

  Ответить  
 
 автор: Trianon   (23.11.2008 в 16:55)   письмо автору
 
   для: chexov   (23.11.2008 в 16:29)
 

если сами приложения
а) допустимо хранить в виде файлов, и
б) не требуется снабжать персональными именами
то достаточно лишь добавить в таблицу еще одно поле, в котором держать количество приложений к статье.

если приложения (хотя бы одного из типов) обязательно держать в базе, нужно будет добавить таблицу с ними.

  Ответить  
 
 автор: chexov   (24.11.2008 в 02:06)   письмо автору
 
   для: Trianon   (23.11.2008 в 16:55)
 

мне как раз наоборот требуется снабдить их персональными именами и желательно хранить в базе, покажите примерную структуру как это делается т.е можно ли к примеру 8 файлов хранить в одном поле таблицы? т.к количество полей предусмотреть нельзя, и если можно то каким образом их извлекать?
вот код формы загрузки:

<?
<form enctype="multipart/form-data" method="post" action="putimage.php">
Изображение: <input type="file" name="image" />
<
input type="submit" value="Загрузить" />
</
form>
?>

Обработчик формы

<?
// Проверяем пришел ли файл
if( !empty( $_FILES['image']['name'] ) ) {
  
// Проверяем, что при загрузке не произошло ошибок
  
if ( $_FILES['image']['error'] == ) {
    
// Если файл загружен успешно, то проверяем - графический ли он
    
if( substr($_FILES['image']['type'], 05)=='image' ) {
      
// Читаем содержимое файла
      
$image file_get_contents$_FILES['image']['tmp_name'] );
      
// Экранируем специальные символы в содержимом файла
      
$image mysql_escape_string$image );
      
// Формируем запрос на добавление файла в базу данных
      
$query="INSERT INTO `images` VALUES(NULL, '".$image."')";
      
// После чего остается только выполнить данный запрос к базе данных
      
mysql_query$query );
    }
  }
}
?>

Извлечение файла в image.php

<?
if ( isset( $_GET['id'] ) ) {
  
// Здесь $id номер изображения
  
$id = (int)$_GET['id'];
  if ( 
$id ) {
    
$query "SELECT `image` FROM `images` WHERE `id`=".$id;
    
// Выполняем запрос и получаем файл
    
$res mysql_query($query);
    if ( 
mysql_num_rows$res ) == ) {
      
$image mysql_fetch_array($res);
      
// Отсылаем браузеру заголовок, сообщающий о том, что сейчас будет передаваться файл изображения
      
header("Content-type: image/*");
      
// И  передаем сам файл
      
echo $image['content'];
    }
  }
}
?>

и собственно вывод

<img src="image.php?id=17" alt="" />

так вот мне нужно то же самое только с текстовыми файлами в частности MS word и количество файлов до 10

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования