[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод пользователя
DedMorozzz
Задача такова: в таблицу нужно вывести пользователя у которых есть свои поля "name" и "статус". Но у пользователя может быть несколько name, тогда нужно не 2й раз выводить пользователя а сделать выпадающее меню в котором можно будет выбрать name. Как это сделать?? Связь с Бд реализовал.



Спустя 25 минут, 26 секунд (27.10.2009 - 16:37) glock18 написал(а):
Цитата
Связь с Бд реализовал.

что сие означает?

и в чем конкретно трудности?
а) вывод
б) выборка
в) другое

Спустя 1 минута, 15 секунд (27.10.2009 - 16:38) Michael написал(а):
Ну что формируешь элемент <select>, а в цикле уже выводишь
элементы "<option>$name</option>" со значениями имен пользователя.

Спустя 34 минуты, 43 секунды (27.10.2009 - 17:13) DedMorozzz написал(а):
Трудность именно в том, что бы не 2 раза выводить пользователя(его фотку) и описание, а юзер выводится единожды, а описание можно было бы выбрать. не выходит соединить разные name одного пользователя.

Спустя 21 минута, 2 секунды (27.10.2009 - 17:34) Gabriel написал(а):
DedMorozzz
Код
GROUP BY `name`
?

Спустя 4 минуты, 19 секунд (27.10.2009 - 17:38) DedMorozzz написал(а):
написал же, что с БД вопросов нету запрос выглядит так:
$gg=mysql_query("
SELECT lektor.id,lektor.file,lektor_program.name,lektor_program.Description,lektor.ChatOnline,lektor.name,
lektor.surname,lektor.fath,lektor.class
from lektor
LEFT JOIN lektor_program on lektor_program.id_lektor = lektor.id WHERE lektor.class>1
ORDER by lektor.vote desc ");
$col=mysql_numrows($gg);
for($i=0;$i<$col;$i++)
{
$lektor_id=mysql_result($gg,$i,0);
$lektor_file=mysql_result($gg,$i,1);
$lektor_name=mysql_result($gg,$i,2);
$lektor_desc=mysql_result($gg,$i,3);
$lektor_online=mysql_result($gg,$i,4);
$n1=mysql_result($gg,$i,5);
$n2=mysql_result($gg,$i,6);
$n3=mysql_result($gg,$i,7);

и в дальнейшем вывожу всех юзеров и сопутствующую им инфу. НО!!!! у 1 юзера может быть инфа 1 типа несколько раз и мне не нужно выводить этого юзера ещё раз, а просто добавить к уже выведеному

Спустя 2 минуты, 5 секунд (27.10.2009 - 17:40) glock18 написал(а):
видимо, group by + group_concat.

PHP
$lektor_id=mysql_result($gg,$i,0);
$lektor_file=mysql_result($gg,$i,1);
$lektor_name=mysql_result($gg,$i,2);
$lektor_desc=mysql_result($gg,$i,3);
$lektor_online=mysql_result($gg,$i,4);
$n1=mysql_result($gg,$i,5);
$n2=mysql_result($gg,$i,6);
$n3=mysql_result($gg,$i,7);


открой для себя mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc, ..object и прочие. mysql_result катит, если выбрать нужно 1-несколько значений из результата, но когда в результате куча строк с кучей столбцов, он явно медленней.

Спустя 18 часов, 2 минуты, 23 секунды (28.10.2009 - 11:42) DedMorozzz написал(а):
Может кому понадобится выкладываю как была решена задача, ибо "советы" были немного(совсем)не такие, что я ожидал услышать. Возможно выражался не верно, но вот код:
PHP
$gg=mysql_query("
                SELECT lektor.id,lektor.file,lektor_program.name,lektor_program.Description,lektor.ChatOnline,lektor.name,
                lektor.surname,lektor.fath 
                FROM lektor 
                LEFT JOIN lektor_program ON lektor_program.id_lektor=lektor.id WHERE lektor.class>1
                ORDER BY lektor.vote desc 
                "
);
$col=mysql_numrows($gg);
$index=0;
$lektor_id_last=abvgd;
for(
$i=0;$i<$col;$i++)
{
$lektor_id=mysql_result($gg,$i,0);
$lektor_file=mysql_result($gg,$i,1);
$lektor_name=mysql_result($gg,$i,2);
$lektor_desc=mysql_result($gg,$i,3);
$lektor_online=mysql_result($gg,$i,4);

//различные проверки и присвоения для "других" переменных

if ($lektor_id_last==$lektor_id)
    {
      $mas_lektor[$index-1]['desc']=$mas_lektor[$index-1]['desc'].'***'.$lektor_desc;
      $mas_lektor[$index-1]['name']=$mas_lektor[$index-1]['name'].'***'.$lektor_name;
    }
else
    {
      $mas_lektor[$index]['id']=$lektor_id;
      $mas_lektor[$index]['file']=$lektor_file;
      $mas_lektor[$index]['img']=$img;
      $mas_lektor[$index]['button']=$but;
      $mas_lektor[$index]['desc']=$lektor_desc;
      $mas_lektor[$index]['name']=$lektor_name;
      $index++;
    }
$lektor_id_last=$lektor_id;
}
for ($i=0;$i<$index;$i++)
{
?>
<tr class="stroka">
<td class="foto"><?php echo $mas_lektor[$i]['img'];?></td>
<td class="capt">
<?php
$str_name
=explode('***',$mas_lektor[$i]['name']);
$str_desc=explode('***',$mas_lektor[$i]['desc']);
echo "<SELECT>";
for ($j=0;$j<count($str_name);$j++)
echo "<OPTION>".$str_name[$j]."</OPTION>";
echo
"</SELECT>";

[MOD]Оформляйте код согласно правилам форума!Kuliev[/EX]


_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Быстрый ответ:

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