|
|
|
| Здравствуйте.
Делаю теги на форуме.
Нужно быстро получать имя пользователя вот таким тегом
[userid=n]
Делаю так
<?php
$text = preg_replace("'\[userid=([0-9]*)\]'is",userlogin("\\1"),$text);
?>
|
Соотвественно функция userlogin
<?php
function userlogin($id){
$quser = mysql_query("SELECT login FROM users WHERE id='".$id."'");
$quser = mysql_fetch_array($quser);
return '<a href="/user/'.$id.'">'.$quser['login'].'</a>';
}
?>
|
Выберается всегда первое значение из БД.
В чем проблема не могу никак понять..
Или может по другому как то лучше сделать ? | |
|
|
|
|
|
|
|
для: -sasha-
(01.02.2010 в 13:24)
| | тоесть первое значение из бд ?
я так и не понял что вам нужно..
зачем использовать mysql_fetch_array ? достаточно будет mysql_result | |
|
|
|
|
|
|
|
для: t3ma
(01.02.2010 в 13:31)
| | Да. первое значение из бд всегда | |
|
|
|
|
|
|
|
для: -sasha-
(01.02.2010 в 13:24)
| | впечатление такое, что Вы хотите применить
либо preg_replace_callback - но тогда у callback-функции другие аргументы.
либо preg_replace с модификатором execute - но тогда а) этот модификатор нужно указать и б) вызов callback поместить в строку. | |
|
|
|
|
|
|
|
для: Trianon
(01.02.2010 в 13:44)
| | Спасибо. preg_replace_callback помогло! | |
|
|
|
|
|
|
|
для: -sasha-
(01.02.2010 в 14:11)
| | код ? | |
|
|
|