[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод ссылки на файл из таблицы Mysql
ibruklin
Ссылки решил хранить в базе, а файлы на сервере. Зашел втупик! Не могу правильно организовать вывод ссылки на скачку файла.
Имеется таблица 'programms', в ней несколько ячеек. Одна из них 'link'. Там хранятся ссылки на файлы, лежащие в папке files . Ссылки такого формата: <a href="files/grafika/bla-bla.pdf"></a>
Должно примерно так быть:


include "blocks/db.php";
$result= mysql_query("SELECT * FROM programms WHERE page='link'", $db);
$myrow = mysql_fetch_accos($result);
echo '<a href="'.$link.'" >Скачать</a>';


Но по нажатию ничего не происходит... взываю о помощи..:-)






Спустя 4 минуты, 54 секунды (25.07.2012 - 19:43) kamanch написал(а):
В html свой загляни, что там?


Спустя 1 минута, 3 секунды (25.07.2012 - 19:44) RockerMisha написал(а):
ну тут нужно выводить цыклом

и не нужно ставить двойные кавычки и в запросе должно быть так

include 'blocks/db.php';
$result= mysql_query('SELECT * FROM `programms` WHERE page = link', $db);

Спустя 9 минут, 11 секунд (25.07.2012 - 19:53) ibruklin написал(а):
Подправил-неработает.((

При наведении на ссылку "Скачать" браузер высвечивает путь: http://localhost/site/view_grafika.php?id=1

Спустя 6 секунд (25.07.2012 - 19:53) Ser18 написал(а):
SELECT * FROM programms WHERE page='link'

WHERE page='link' - что это значт? Или что должно значить?

Спустя 3 минуты, 51 секунда (25.07.2012 - 19:57) ibruklin написал(а):
Цитата (Ser18 @ 25.07.2012 - 16:53)
SELECT * FROM programms WHERE page='link'

WHERE page='link' - что это значт? Или что должно значить?

'link' - это ячейка хранения ссылок. Возможно у меня ошибка при выборке из базы. я новичок:-)

Спустя 4 минуты, 59 секунд (25.07.2012 - 20:02) Ser18 написал(а):
Вам надо выбрать все ссылки? Или удовлетворяющие определенному условию?

Например

$page = 1;

$result= mysql_query("SELECT `link` FROM programms WHERE link='".$page."'", $db);
$myrow = mysql_fetch_accos($result);
echo '<a href="'.$myrow['link'].'" >Скачать</a>';



Спустя 11 минут, 57 секунд (25.07.2012 - 20:14) ibruklin написал(а):
Цитата (Ser18 @ 25.07.2012 - 17:02)
Вам надо выбрать все ссылки? Или удовлетворяющие определенному условию?


Дело в том, что к каждой записи прилагается только одна ссылка:

такой вид:

id| name | link


name1 | ссылка1
name2 | ссылка2
name3 | ссылка3
name4 | ссылка4

Спустя 9 минут, 20 секунд (25.07.2012 - 20:23) Ser18 написал(а):
Если вам надо вывести все ссылки, то так

$result= mysql_query("SELECT `link` FROM `programms`", $db);
while($myrow = mysql_fetch_accos($result)){
echo '<a href="'.$myrow['link'].'" >Скачать</a>';
}


Если определенные, то что то типа этого


$result= mysql_query("SELECT `link` FROM `programms` WHERE `name`='".$name."'", $db);
while($myrow = mysql_fetch_accos($result)){
echo '<a href="'.$myrow['link'].'" >Скачать</a>';
}


Спустя 25 минут, 56 секунд (25.07.2012 - 20:49) ibruklin написал(а):
Выдает ошибку:
Цитата (Ser18 @ 25.07.2012 - 17:23)



$result= mysql_query("SELECT `link` FROM `programms` WHERE `name`='".$name."'", $db);
while($myrow = mysql_fetch_accos($result)){        // ЗДЕСЬ ОШИБКА
          echo '<a href="'.$myrow['link'].'" >Скачать</a>';
}




Fatal error: Call to undefined function mysql_fetch_accos() in X:\home\localhost\www\ibruklin_site\view_grafika.php on line 81

Спустя 1 час, 4 минуты, 47 секунд (25.07.2012 - 21:54) Ser18 написал(а):
Что находится в колонке name?
Что вы передаете в переменной $name?

Покажите 81 строку

Спустя 7 минут, 30 секунд (25.07.2012 - 22:02) neadekvat написал(а):
Цитата (Ser18 @ 25.07.2012 - 22:54)
Что находится в колонке name?
Что вы передаете в переменной $name?

Покажите 81 строку

Нахрена? Там все написано.

accos - это круто smile.gif Но assoc, ибо "ассоциативный".

Спустя 20 минут, 2 секунды (25.07.2012 - 22:22) NierRa написал(а):
$query = mysql_query("SELECT `name`, `link` FROM `programms`", $db);
while($res = mysql_fetch_assoc($query)) {
echo htmlspecialchars($res['name']).'|';
echo '<a href="'.htmlspecialchars($res['link']).'">Скачать</a><br />';
}


user posted imageuser posted image

Спустя 5 минут, 28 секунд (25.07.2012 - 22:27) NierRa написал(а):
ТС у вас на место якоря ссылки подставляется $link. Откуда вы его взяли, если результат работы функции mysql_fetch_assoc находится в массиве $res[]

Спустя 30 минут, 19 секунд (25.07.2012 - 22:57) ibruklin написал(а):
Цитата (NierRa @ 25.07.2012 - 19:22)
$query = mysql_query("SELECT `name`, `link` FROM `programms`", $db);
while($res = mysql_fetch_assoc($query)) {
  echo $res['name'].'|';
  echo '<a href="'.$res['link'].'">Скачать</a><br />';
  } 


user posted imageuser posted image

Почти то что нужно! НО мне нужно вывести только одну(!) определенную ссылку из поля link (просто скачать файл по соответствующей ему ссылке). А получается выводятся все ссылки из таблицы.
Вот так:
Скачать
Скачать
Скачать
Скачать
Скачать

Спустя 11 минут, 14 секунд (25.07.2012 - 23:09) Ser18 написал(а):
$name = 'name_1';

$result= mysql_query("SELECT `link` FROM `programms` WHERE `name`='".$name."'", $db);
while($myrow = mysql_fetch_assoc($result)){
echo '<a href="'.$myrow['link'].'" >Скачать</a>';
}

Спустя 1 минута, 20 секунд (25.07.2012 - 23:10) NierRa написал(а):
Какую именно вам нужно ссылку?
Если сортированную по какому то признаку то дописываете ORDER BY `some req.`и LIMIT 1
если у вас есть условие (допустим вам известно id ссылки), то дописываете WHERE `id` = (int)$id

Спустя 13 часов, 18 минут, 21 секунда (26.07.2012 - 12:28) ibruklin написал(а):
$query = mysql_query("SELECT `link` FROM `programms` WHERE id ='1'", $db);
Это я вбил вручную 'id' , зная в какой строке нужная ссылка. А если их сотни! Может я не понимаю всей сути работы со ссылками, наверняка все намного проще...
Так выводится правильно. Но я не пойму как идентифицировать нужную строку, какое условие составить после WHERE ...

Моя Таблица:
user posted image
Быстрый ответ:

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