| |
|
|
| | есть форма в которую при добовлении [file=243] на выводит выводит файл из базы под номер 243 должным образо оформленный вот как я пытаюсь это делать :
// здесь я выдераю id из скобок
$file_id = preg_replace("/\[file=([0-9]*)\]/i","\\1", $txt);
//здесь я выбираю из базы ну запись которая мне нужна
$select_file = "SELECT * FROM `files` WHERE `id` = '$file_id'";
$results = MYSQL_QUERY($select_file);
$fl = mysql_fetch_array($results);
$link = "../".$fl['url'].$fl['name'];
$f = "Имя файла:<a target=_blank href='$link'>Скачать</a><br>Размер".$fl['size'];
// после оформления и выборки я вставляю вместо [file=243] выбранный и оформленный файл
$txt = preg_replace("/\[file=([0-9]*)\]/i","$f", $txt);
|
Помогите пожалуйста неполучается чето что бработало все это $file_id не передает почему в базу или передает но нужно какойто массив создать или еще что но когда я указываю вместо $file_id допустим число при выборке все пашет но на 1 id а вдруг пользователь несколько файлов в докуменсте вставит их нужно соответственно и вывести в тех местах где он их вставил .
подскажите что я делаю не так и как надо,
P.s. заранее благодарен
p.p.s Насчет темы Форму может я и ошибся но долго думал куда вставить и почемуто пал выбор на эту | |
| |
|
|
| |
|
|
| |
для: sidPR
(22.11.2006 в 12:32)
| | | Не понятно, что не работает. | |
| |
|
|
| |
|
|
| |
для: cheops
(22.11.2006 в 13:17)
| | | Не работает вывод ... пустота одна ... проблемы на этом этапе
$select_file = "SELECT * FROM `files` WHERE `id` = '$file_id'";
'$file_id' не передается либо не правильно ... и получается ничего не выводится а если я сам поставли вместо '$file_id' цифру id поля то вывод будет... | |
| |
|
|
| |
|
|
| |
для: sidPR
(22.11.2006 в 13:51)
| | | Попробуйте заменить строку на эту:
$file_id = preg_replace("/\[([0-9]*)\]/i","\\1", $txt);
|
Просто не пойму зачем запись file= | |
| |
|
|
| |
|
|
| |
для: dert
(22.11.2006 в 14:04)
| | | Да не регулярка работает правильно в ней менять ничего не надо ! она все правильно вырезает цифру из скобок с именем файл ... вопрос в том что почему она не переходи в селект из базы? | |
| |
|
|
| |
|
|
| |
для: sidPR
(22.11.2006 в 14:23)
| | | А операторы вывода print() или echo() то где? | |
| |
|
|
| |
автор: ita (22.11.2006 в 14:52) |
|
| |
для: sidPR
(22.11.2006 в 14:23)
| | | после
$select_file = "SELECT * FROM `files` WHERE `id` = '$file_id'";
поставь die($select_file);
возьми результат и попробуй делать запрос к базе из phpmyadmin например, дальше думай. | |
| |
|
|
| |
|
|
| |
для: ita
(22.11.2006 в 14:52)
| | |
$file_id = preg_replace("/\[file=([0-9]*)\]/i","\\1", $txt);
$g = print($file_id);
$select_file = "SELECT * FROM `files` WHERE `id` = '$g'";
$results = MYSQL_QUERY($select_file);
$fl = mysql_fetch_array($results);
$link = "../".$fl['url'].$fl['name'];
$f = "Имя файла:<a target=_blank href='$link'>Скачать</a><br>Размер".$fl['size'];
$txt = preg_replace("/\[file=([0-9]*)\]/i","$f", $txt);
|
вот как я написал но работает всеравно криво =\ выводит только файл с одним id хотя указанно 2 в документе тоесть [file=1] [file=2] может както с циклом нужно сделать пожскажите пожалуйста немоу решить задачу :( перепробывал все что смог | |
| |
|
|
| |
|
|
| |
для: sidPR
(22.11.2006 в 23:07)
| | | Помагите! | |
| |
|
|
| |
|
|
| |
для: sidPR
(23.11.2006 в 15:40)
| | | Ладно попробую объяснить еще раз я вставляю в форму [file=234] где потом посредством регулярных выражений при обработки выдерается это цифра 234 которая в свою очередь является уникальным id поля из Mysql так вот я хочю сделать так чтобы я вставляя в форму [file=234] после обработки на томже месте вместо этого получил заранее оформленный вывод из базы . причем человек может указать как 1 файл в форме [file=234] так и не сколько файлов к примеру
[file=234]
[file=235]
[file=236]
и для каждого на томже месте вывелобы вывод по их id ... вот чего я добиваюсь но чего не получается :( | |
| |
|
|
| |
|
|
| |
для: sidPR
(25.11.2006 в 00:56)
| | | HELP ME!! | |
| |
|
|
| |
|
|
| |
для: sidPR
(25.11.2006 в 00:56)
| | | что такое "вывод по их id"? | |
| |
|
|
| |
|
|
| |
для: Trianon
(25.11.2006 в 21:52)
| | | Ну как это что есть ID поля в базе в котором прописаны линк на файл имя файла там дата создания и тп ! | |
| |
|
|
| |
|
|
| |
для: sidPR
(25.11.2006 в 22:07)
| | | пример того, что вы хотите получить, здесь кто-нибудь увидит? | |
| |
|
|
| |
|
|
| |
для: Trianon
(25.11.2006 в 22:09)
| | | я вроде описал что должно произойти человек добовляет в форму посредством ббтегов id файла а по этому нормеру из базы выводится информация вместо этого бб кода о файле вот и все | |
| |
|
|
| |
|
|
| |
для: sidPR
(26.11.2006 в 01:06)
| | | НЕ поверю что никто не реализовывал такую фишку в своих движках | |
| |
|
|
| |
|
|
| |
для: sidPR
(26.11.2006 в 17:56)
| | | Вопрос все еще в силе !!! :( | |
| |
|
|
| |
|
|
| |
для: sidPR
(28.11.2006 в 14:35)
| | |
// $file_id - регулярное выражение вытаскивает из текста пример такого содержания [file=21]
// $file_id - будет = 21
//$select_file - выборка из таблици поля с id=21;
//$f - формирует записи из выбранного поля
//$txt - ищет в тексте [file=21] только
// ужэ не вытаскивает id поля а вместо
// этой всей записи вставляет сконфигурированный тект из базы а тоесть
// содержимое переменной $f
$file_id = preg_replace("/\[file=([0-9]*)\]/i","\\1", $txt);
$g = print($file_id);
$select_file = "SELECT * FROM `files` WHERE `id` = '$g'";
$results = MYSQL_QUERY($select_file);
$fl = mysql_fetch_array($results);
$link = "../".$fl['url'].$fl['name'];
$f = "Имя файла:<a target=_blank href='$link'>Скачать</a><br>Размер".$fl['size'];
$txt = preg_replace("/\[file=([0-9]*)\]/i","$f", $txt);
|
Люди подскажите что я написал не правильно и почему не хочет работать если в тексте я укажу двай файла тоесть [file=21] и [file=22] а тоесть в $file_id будут 2 id а может быть и более ....
P.S. выручите плиз никак не могу догнать как реализовать это | |
| |
|
|
| |
|
|
| |
для: sidpr
(05.12.2006 в 00:13)
| | | понял проблема в том что $file_id после обработки
$file_id = preg_replace("/\[file=([0-9]*)\]/i","\\1", $txt);
|
не виден после в
$select_file = "SELECT * FROM `files` WHERE `id` = '$file_id '";
|
а отсюда проблема как из регулярки вставить значение которое получается? | |
| |
|
|
| |
автор: Serrrgo (05.12.2006 в 11:00) |
|
| |
для: sidPR
(05.12.2006 в 02:27)
| | | может как-то так?
$file_id = preg_replace("/\[file=([0-9]*)\]/i","OR id='\\1'", $txt);
|
ну и сам запрос подправить немного | |
| |
|
|
| |
|
|
| |
для: Serrrgo
(05.12.2006 в 11:00)
| | | безрезультатно | |
| |
|
|
| |
автор: Serrrgio (05.12.2006 в 17:25) |
|
| |
для: sidPR
(05.12.2006 в 17:19)
| | | результатно
что вы сделали?
какой получился у вас запрос?
вы смотрели что получилось в $file_id?
попробуте выполнить этот запрос в phpmyadmin | |
| |
|
|
| |
|
|
| |
для: Serrrgio
(05.12.2006 в 17:25)
| | | Запрос выполняется если я вместо переменно вставляю цифру , регулярное вражинеи все правильно вырезает и вставляет .... но причина тому то что регулярка выведет полученный результать только псоле принт или echo вот косяк :( короче в $file_id нету ничего пока нету принта... =\ | |
| |
|
|
| |
|
|
| |
для: sidPR
(05.12.2006 в 17:35)
| | | Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result
$file_id = preg_replace("/\[file=([0-9]*)\]/i","WHERE `id`='\\1'", $txt);
$select_file = "SELECT * FROM `files` $file_id";
//die($select_file);
$results = MYSQL_QUERY($select_file);
$fl = mysql_fetch_array($results);
$link = "../".$fl['url'].$fl['name'];
$f = "Имя файла:<a target=_blank href='$link'>Скачать</a><br>Размер".$fl['size']."<br>";
$txt = preg_replace("/\[file=([0-9]*)\]/i","$f", $txt);
|
| |
| |
|
|
| |
автор: Serrrgio (05.12.2006 в 17:52) |
|
| |
для: sidPR
(05.12.2006 в 17:39)
| | | давайте еще раз, регулярку как я написал выше
$file_id = preg_replace("/\[file=([0-9]*)\]/i","OR id='\\1'", $txt);
измените ваш запрос чтоб он получился валидный $select_file = "SELECT * FROM `files` $file_id";
и потом die($select_file);
и я еще говорил чтоб вы этот запрос выполнили в phpmyadmin чтоб увидеть результаты, а говорил я это не просто так, а для того, чтобы вы увидели что запрос возвращает не 1 запись а несколько, и эти несколько записей тоже нужно обработать, нужно менять механизм
$fl = mysql_fetch_array($results);, т.е. юзать цикл для выводов результатов запроса. | |
| |
|
|
| |
|
|
| |
для: Serrrgio
(05.12.2006 в 17:52)
| | | В тот то вся и проблема то что я не могу правильно сделать цикл -\
Показывает записи 0 - 1 (2 всего, Запрос занял 0.0008 сек)SQL-запрос:SELECT *
FROM `files`
WHERE id = '1'
OR id = '2'
LIMIT 0 , 30 | |
| |
|
|
| |
автор: Serrrgio (06.12.2006 в 12:19) |
|
| |
для: sidpr
(06.12.2006 в 04:47)
| | |
$results = mysql_query($select_file);
while ($row=mysql_fetch_array($result)) {
$link = "../".$row['url'].$row['name'];
$f = "Имя файла:<a target=_blank href='$link'>Скачать</a><br>Размер".$row['size']."<br>";
$txt = preg_replace("/\[file=([0-9]*)\]/i","$f", $txt);
}
|
| |
| |
|
|
| |
|
|
| |
для: Serrrgio
(06.12.2006 в 12:19)
| | |
$select_file = "SELECT * FROM `files` WHERE id='1' OR id='2'";
$results = mysql_query($select_file);
while ($row=mysql_fetch_array($results)) {
$link = "../".$row['url'].$row['name'];
$f = "Имя файла:<a target=_blank href='$link'>Скачать</a><br>Размер".$row['size']."<br>";
$txt = preg_replace("/\[file=([0-9]*)\]/i","$f", $txt);
}
|
Выводит почемуто если я указываю 2 объекта с двумя Id то выводит почемуто только первый =\ | |
| |
|
|
| |
автор: Serrrgio (07.12.2006 в 10:36) |
|
| |
для: sidPR
(06.12.2006 в 22:41)
| | | ну не знаю, у меня все работает
while ($row=mysql_fetch_array($results)) {
print_r ($row);
print "<br>";
}
|
ищите баги здесь
$link = "../".$row['url'].$row['name'];
$f = "Имя файла:<a target=_blank href='$link'>Скачать</a><br>Размер".$row['size']."<br>";
$txt = preg_replace("/\[file=([0-9]*)\]/i","$f", $txt);
|
| |
| |
|
|