Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » База данных MYSQL

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

darknero98

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я создаю сайт объявлений,но я столкнулся с одной проблемой.Когда ты создал базу данных с именем сайта,ты создаешь таблицу для каждой категории.Но у меня есть,например,категория Транспорт:когда заходишь в неё,то появляются Рубрики.Вот вопрос: я создал таблицу c такими именами как title, text, date, meta_k,_meta_d ,но как создать еще одну таблицу в таблице,чтоб при выборе категории,когда создаешь объявление,тебя кинуло в рубрику?  
 
http://www.ex.ua/390248582090 фотографии

Всего записей: 5 | Зарегистр. 23-10-2013 | Отправлено: 16:13 23-10-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
darknero98
откройте любой SQL учебник и почитайте.
ваш нужны таблицы со связями, а не создавать отдельную таблицу для каждой категории.
есть таблица, которая содержит категории.
есть таблица, которая содержит все записи и в отдельном столбце указывать идентификатор той категории из первой таблицы, к которой относится.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 03:37 24-10-2013
darknero98

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery Для начала надо создать таблицы для каждой категории,а потом создать таблицу с содержаниями всех записей в отдельном столбце указав интификатор категорий,скинь пожалуйста видео на счет этого или статью..Да и еще я создал форму с фотографиями,но я не знаю как сделать чтоб человек выбирал категорию>рубрику.Помоги!  

Всего записей: 5 | Зарегистр. 23-10-2013 | Отправлено: 12:41 24-10-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
darknero98

Цитата:
,скинь пожалуйста видео на счет этого или статью

вам рано за это браться, так как вы не понимаете вообще что такое SQL и "с чем его едят".  
я советую прочитать, сначала, об основах. тогда и куча вопросов у вас просто исчезнет.
 

Цитата:
.Да и еще я создал форму с фотографиями,но я не знаю как сделать чтоб человек выбирал категорию>рубрику

вы как телепатов ищете.. без кода, без указания какой именно SQL сервер используется.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:30 24-10-2013
vs6262



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
может кто объяснит начинающему в MySQL
возможно ли в базе данных сохранить файл или файл картинку ?
или как это делается ?

Всего записей: 2188 | Зарегистр. 25-02-2013 | Отправлено: 17:50 23-05-2014
CheRt



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vs6262,

Цитата:
возможно ли в базе данных сохранить файл или файл картинку ?

Возможно.
Например, для MySQL blob (до 64Kb) и longblob (до 4Gb) вполне подходят.
 
В интернете описаний куча, скажем - http://janicky.com/stati/sohranenie-izobrazhenij-v-baze-dannyh-mysql

----------
В огне бода нет и не будет!
До встречи в СССР 2.0!

Всего записей: 1118 | Зарегистр. 14-12-2001 | Отправлено: 20:34 23-05-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vs6262
upload картинок в базу данных

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 06:32 24-05-2014
vs6262



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ссылка из поста CheRt
 

Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Сохранение бинарных данных в базе данных MySQL</title>
</head>
 
<body>
 
<?php
// Код, который будет выполняться, если форма была оправлена:
 
if ($_POST['submit']) {
 
// подключение к базе данных
 
// (возможно, вам придется настроить имя хоста, имя пользователя и пароль)
 
   $dbh = new mysqli("localhost", "100_100_root", "freeyyz555", "100_rrrr");
 
   if(mysqli_connect_errno())
   {
        exit("Ошибка подключения к базе данных MySQL: Сервер база данных не доступен!<br>
        Проверте параметры подключения к базе данных.");
    }
 
    $data = addslashes(fread(fopen($_FILES['file']['tmp_name'], "r"),  
    filesize($_FILES['file']['tmp_name'])));
    $_POST['form_description'] = trim($_POST['form_description']);
    $size = filesize ($_FILES['file']['tmp_name']);
    $result=$dbh->prepare("INSERT INTO binary_data (description,bin_data,filename,filesize,filetype)  
 
  "."VALUES ('".$_POST['form_description']."',
  '".$data."',
  '".$_FILES["file"]["name"]."',
  '".$size."',
  '".$_FILES["file"]["type"]."')");
  if(!$result) exit("Ошибка выполнения SQL запроса!");
  $result->execute();  
  $id = $dbh->prepare();
  echo "<p>Этот файл имеет следующий идентификатор (ID) в базе данных: <b>".$id."</b>";
} else {
 
 // отображаем форму для оправки новых данных:
 
?>
 
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
Описание файла: <input type="text" name="form_description" size="40">
<input type="hidden" name="MAX_FILE_SIZE" value="100000000">
Файл для загрузки/хранения в базе данных: <input type="file" name="file" size="40">
<p><input type="submit" name="submit" value="Отправить">
</form>
<?php
}
?>  
</body>
</html>

 
выдает только "Этот файл имеет следующий идентификатор (ID) в базе данных:" и никакого ID  
 
может я чтото неправильно скопировал / сделал ?

Всего записей: 2188 | Зарегистр. 25-02-2013 | Отправлено: 13:32 24-05-2014
Sutar



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vs6262
Зачем вам готовый код? вам дали ссылку как пример, по которому можно делать...
а скрипт, можно и самому написать...

Всего записей: 1150 | Зарегистр. 15-08-2011 | Отправлено: 14:30 24-05-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vs6262

Цитата:
 $id = $dbh->prepare();  

потому, что неправильно
 
$id = $dbh->insert_id;

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:26 24-05-2014
vs6262



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
спасибо Cheery
 
 
Добавлено:

Код:
<?php
if(!preg_match("|^[\d]*$|",$_GET['id'])) exit();
// подключение к базе данных
// (возможно, вам придется настроить имя хоста, имя пользователя и пароль)
$dbh = new mysqli("localhost", "100_100_root", "freeyyz555", "100_rrrr");
if(mysqli_connect_errno())
{
  exit("Ошибка подключения к базе данных MySQL: Сервер база данных не доступен!<br>
  Проверте параметры подключения к базе данных.");
}
$query = "SELECT bin_data,filetype from binary_data WHERE id=".$_GET['id'];
$result = $dbh->query($query);
if(!$result) exit("Ошибка выполнения SQL запроса!");
$row = $result->fetch_array();
Header( "Content-type: ".$row['filetype']."");
echo $row['bin_data'];
?>

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

Всего записей: 2188 | Зарегистр. 25-02-2013 | Отправлено: 05:19 25-05-2014 | Исправлено: vs6262, 06:08 25-05-2014
CheRt



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vs6262, не проверял работоспособность скрипта из приведенной в кач. примера статьи.
Однако, читая код:

Код:
 $result=$dbh->prepare("INSERT INTO binary_data (description,bin_data,filename,filesize,filetype)
...

Видим, что имя файла заносится в колонку filename.
Соответственно

Код:
$query = "SELECT bin_data, filetype, filename from binary_data WHERE id=".$_GET['id'];

Вывод имени файла при передаче по http

Код:
header('Content-Disposition: attachment; filename=' . basename($file));

http://habrahabr.ru/post/151795/

----------
В огне бода нет и не будет!
До встречи в СССР 2.0!

Всего записей: 1118 | Зарегистр. 14-12-2001 | Отправлено: 23:15 25-05-2014 | Исправлено: CheRt, 23:21 25-05-2014
vs6262



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CheRt
всеравно не получается

Всего записей: 2188 | Зарегистр. 25-02-2013 | Отправлено: 10:58 29-05-2014
kaliyan13

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подробнее...

Всего записей: 1 | Зарегистр. 04-06-2014 | Отправлено: 05:02 04-06-2014
vs6262



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
сделал так. теперь отдает правильное имя файла но файл пустой. помогите пожалуйста ?
 

Код:
<?php
if(!preg_match("|^[\d]*$|",$_GET['id'])) exit();
// подключение к базе данных
// (возможно, вам придется настроить имя хоста, имя пользователя и пароль)
$dbh = new mysqli("localhost", "100_100_root", "freeyxyz555", "100_rrrr");
if(mysqli_connect_errno())
{
  exit("Ошибка подключения к базе данных MySQL: Сервер база данных не доступен!<br>
  Проверте параметры подключения к базе данных.");
}
$query = "SELECT bin_data, filetype, filename from binary_data WHERE id=".$_GET['id'];  
$result = $dbh->query($query);
if(!$result) exit("Ошибка выполнения SQL запроса!");
$row = $result->fetch_array();
//header('Content-Disposition: attachment; filename=' . basename($file));
//echo $row['bin_data'];
 
$file = $row['filename'];
 
header('Content-type: ' . mime_content_type($file));
header('Content-Disposition: attachment; filename="' . basename($file) . '"');
header("X-Sendfile: " . $file);
?>

Всего записей: 2188 | Зарегистр. 25-02-2013 | Отправлено: 14:31 04-06-2014
vs6262



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я еще раз поднимаю вопрос

Всего записей: 2188 | Зарегистр. 25-02-2013 | Отправлено: 20:08 25-06-2014
t00z

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
после заголовоков добавь

Код:
echo $file_content;

 
Ты получил название файла, формат содержимое и прочее с базы. Заголовками сказал браузеру то что файл такой то, тип такой. и через "эцхо" выводишь само содержимое файла.

Всего записей: 7 | Зарегистр. 06-07-2014 | Отправлено: 20:52 08-07-2014
vs6262



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
t00z
спасибо

Всего записей: 2188 | Зарегистр. 25-02-2013 | Отправлено: 22:29 08-07-2014
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » База данных MYSQL


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru