[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: BLOB
Nite
Здравствуйте.
Прошу прошение может я покажусь не компетентным в данном вопросе, не обращайте внимания так и есть %)
Возможно я бы и не обратился. Но тут приспичило. Одному моему хорошему знакомому потребовалась так сказать создать базу на MySQL, при помощи PHP, ранее я немного имел с этой БД дело, но не когда не работал с бинарными данными, в общем, не очень то получается. Поэтому решил что попрошу помощи. Надеюсь, не откажите 0+)…
И так что я имею: База с полями BLOB а также TEXT
Структура:
_news
ID mediumint(9) UNSIGNED auto_increment
Date datetime null
Name text null
Memo text null
Image blob not null

Админка: Index.php

$result = mysql_query("SELECT ID, name FROM _news ORDER BY date DESC");
echo "<table cellspacing=0 cellpadding=1 class=table1 width=600 >";
while ($ff = mysql_fetch_array($result)):
if (!isset ($bgcolor) || ($bgcolor == "#F5F5F5")) $bgcolor = "#FFFFFF";
else $bgcolor = "#F5F5F5";
$styletd = "style='background-color: $bgcolor'";
echo "<tr >";
echo " <td class=td1 $styletd >" .$ff['name']. "</td >";
echo " <td class=td1 align=center $styletd >……….</td >";
echo " <td class=td1 align=center $styletd >………..</td >";
echo "</tr >";
endwhile;
echo "</table >";
echo "

";
echo "……….";

далее: Edit/index.php

if (isset($_GET ["ID"])) $ID = $_GET ["ID"];
if (isset($ID) && $ID)
{
$result = mysql_query("SELECT * FROM _news WHERE ID=$ID");
$ff = mysql_fetch_array($result);
foreach ($ff as $key => $value) $$key = $value;

далее: edit/action.php

require_once("serv.inc.php");
foreach ($_POST as $key => $value) $$key = $value;
if (isset($ID) && $ID)
{
$sql = "UPDATE _news SET";
$sql .= " name='$name'";
$sql .= " WHERE ID='$ID'";
} else
{
$sql = "INSERT INTO _news SET";
$sql .= " date=NOW(), name='$name'";
}
// echo $sql;
$result = mysql_query($sql);
// echo mysql_error();
header ("Location: ../");
Вот так я работаю с текстовыми полями. Пытался на этом примере организовать доступ в поле BLOB, напрасно.
Далее для вывода данных из поля я использую вот это… с картинками *цензура*оже не подходит $)))…
?php
require_once("serv.inc.php");
$result = mysql_query("SELECT image, name, date, developer FROM _news ");
echo "<table cellspacing=1 cellpadding=1 class=table1 width=100% >";
while ($ff = mysql_fetch_array($result)):
?>

echo "". $ff ["name"]. " $centr ";

?>
Помогите чем могите!
Если есть примеры которые могли бы помочь плз линки…
А так конечно бы хотелось узнать как это все можно впаять в мой код… уж очень уж друг хороши, так хочется помочь %)))…..



Спустя 31 минута, 44 секунды (13.06.2006 - 19:35) disc написал(а):
Nite А если просто сделать папку images для картинок, а в бд хранить только ссылки, я думаю от этого тока боет лучше и база будет занимать меньше места

Спустя 9 часов, 16 минут, 55 секунд (14.06.2006 - 04:52) Nite написал(а):
Возможно ты прав.
Где можно найти конкретный пример. Как это осуществить.

Спустя 3 часа, 56 минут, 48 секунд (14.06.2006 - 08:49) Nigga написал(а):
Для чего пример? Неужто сам не можешь придумать? Я вот так сделал: в базу вношу имена рисунков (типа image.gif), а когда выбираю, то пишу так:
[php]$quer="SELECT <поле с рисунком> FROM <таблица>";
$res=mysql_query($quer);
while($ff=mysql_fetch_array($res))
{
echo"";
}[/php]

Спустя 26 минут, 1 секунда (14.06.2006 - 09:15) vasa_c написал(а):
Nite, ты хотя бы понимаешь, что картинки не вставляются в html непосредственно? Туда вставляются ссылки на них, посредством тега (которого я в твоем коде не увидел).
И для получения каждой картинки браузер будет посылать серверу отдельный запрос. И если они храняться в базе, нужно писать отдельный скрипт, который будет обрабатывать эти запросы и выдавать картинки с нужными http-заголовками.

Спустя 2 часа, 55 минут, 53 секунды (14.06.2006 - 12:11) Nite написал(а):
Угу…понимаю…
Видишь ли, я знаю это, проблема у меня в другом.. опыта маловато %(
Дело в том что я хочу создать динамическую базу.
Первое что я хочу сделать так это просто запихнуть ссылку на картинку в базу, да да я понял что лучше ссылку, но как ее туда я знать не знаю, видишь ли если бы мне взглянуть на это хоть разок %)))… второе что я хочу сделать так это отобразить это все…
Вот как я это вижу:
При записи в TEXT я использую вот это
(echo " <td class=td1 $styletd >" .$ff['name']. "</td >";)
потом я все это отправляю на обработку с помочью вот этого:
(echo " <td class=td1 align=center $styletd >………..</td >";)
а если взглянуть выше и найти там вот этот файл action.php то можно понять как я все это обрабатываю, если бы я знал как сюда (echo " <td class=td1 $styletd >" .$ff['name']. "</td >";) вставить картинку(ссылку) то конечно же бы вставил могу только предположить какие функции для этого используются.
Видишь ли я до этого совсем не имел дело с БД на все про все у меня была лишь неделя, да к тому же учеба еще, так что мои познания в данной области мизерны, я не могу построить правильный запрос %))) все впереди надеюсь, так что плз….можно разжевать.
Мне нужен конкретный пример, записи в базу и отображения картинки. %) надеюсь прошу не многого.

Спустя 8 минут, 32 секунды (14.06.2006 - 12:19) vasa_c написал(а):
Nite, для каждого конкретного случая нужна своя структура. Обрисуй задачу.

Насколько я понимаю по названию таблицы там хранятся новости и у каждой новости есть 1 картинка.
Тогда можно привязать картинки просто к ID новости. Например, для новости с ID=5 сохранить картинку в файл:
/img/news/5.jpg
и тогда в базе и пути хранить не надо.
А при выводе новости в том месте где нужна картинка вывести просто:

Где $id, соответственно ID новости.

Спустя 49 минут, 42 секунды (14.06.2006 - 13:09) Nigga написал(а):
Что вы парите? Мой код не правильный разве?
Вставить картинку в базу (т.е. ссылку на нее) как обычный текст. Поле может быть VARCHAR. Тут конечно муторно - придется вручную набирать название картинки (image.gif), а как по-другому... Может идеи есть? Отдельную таблицу со всеми рисунками создавать, а потом из нее выбирать в виде списка и вставлять в другую (как предположили, с новостями). Но мне кажется, что это по-детски...

Спустя 8 минут, 15 секунд (14.06.2006 - 13:17) disc написал(а):
Надо понять ан что ориентирован проект, можно все файлы засунуть в папку images и потом с помощтю запроса их вывести на экран, я бы так поступил если бы это была фотогалерея. НИкаких БД тут не потр*цензура*еться.

Спустя 3 минуты, 38 секунд (14.06.2006 - 13:21) vasa_c написал(а):
Nigga, кто чего парит? Что по децки? Где там база? Прошу прочитать внимательно.

И я не понимаю зачем набирать адрес вручную?

Спустя 16 минут, 24 секунды (14.06.2006 - 13:37) Nigga написал(а):
Ну, он хотел выбрать из базы картинки. Я ему показал. Сказали, что лучше ссылки хранить - это всем ясно. Вон там код, пожалуйста. Теперь же вопрос в том, как эти ссылки в базу запихнуть. И вот тут я предложил подумать.
QUOTE( vasa_c )
А при выводе новости в том месте где нужна картинка вывести просто:

Ну, оп чем речь? Так и надо.

Спустя 18 часов, 24 минуты, 20 секунд (15.06.2006 - 08:02) Nite написал(а):
Привет..
Решил вот тут сказать спасибо….%)…. Что не дали «умереть»…. Гм….
Решил я проблему с картинками…. Точнее я ее реализовал по примеру привязки к ИД:



что стоит добавить так что это вот без этого $ID=($ff ["ID"]); не фурычило…
вот весь код целиком:
$result = mysql_query("SELECT ID, Name, FROM _news");
while ($ff = mysql_fetch_array($result)):
$ID=($ff ["ID"]);
?>

<td >

</td >

вот таки все работает….
Еще раз спасибо.

Быстрый ответ:

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