Вот возникла такая проблема ))
Имеется список из 32 пользователей(топ сайта), так вот их нужно разбить на 8 групп по 4 человека (рандомно).
при нажатии на кнопку 1 раз определяется группа заносится в БД, когда обработаны все 32 пользователя кнопка исчезает(это я уже сделаю сам)
как я предполагаю это нужно делать через цикл
Помогите разобраться на примере название БД любое(я потом подставлю свое)
Заранее всем спасибо
Спустя 57 минут, 52 секунды (12.09.2010 - 20:14) Guest написал(а):
$users; // массив из 32 участников начинающийся с нулевого ключа
shuffle($users);
$users_range=$users;
$x=0;
for ($i=1; $i<=8;$i++)
{
$group[$i][1]=$users_range[$x];
$group[$i][2]=$users_range[$x+1];
$group[$i][3]=$users_range[$x+2];
$group[$i][4]=$users_range[$x+3];
$x=$x+4;
}
В итоге многомерный массив group, в котором 8 групп, в каждой 4 человека, что с ними делать -смотри сам!
Спустя 4 минуты, 33 секунды (12.09.2010 - 20:18) blade написал(а):
Эти все пользователи зранятся в БД а как их поместить в масив ?
Спустя 2 минуты, 1 секунда (12.09.2010 - 20:20) Lenarfate написал(а):
mysql_fetch_assoc и цикл while
Спустя 1 минута, 52 секунды (12.09.2010 - 20:22) Guest написал(а):
blade
у тебя слишком мало пока знаний, почитай про ФУНКЦИИ РАБОТЫ С MYSQL в PHP, а также основы языка SQL, конкретно если, в данном случаи тебе нужно использовать mysql_query();
п.с, каким образом они у тебя попали в базу данных, если ты не можешь их вывести?
у тебя слишком мало пока знаний, почитай про ФУНКЦИИ РАБОТЫ С MYSQL в PHP, а также основы языка SQL, конкретно если, в данном случаи тебе нужно использовать mysql_query();
п.с, каким образом они у тебя попали в базу данных, если ты не можешь их вывести?
Спустя 12 минут, 32 секунды (12.09.2010 - 20:35) blade написал(а):
ВЫВЕСТИ МОГУ ЦИКЛОМ СПИСОК ВЕСЬ А КАК ПРИМЕНИТЬ ЕГО К ЭТОМУ КОДУ НЕПОЙМУ
Спустя 5 минут, 58 секунд (12.09.2010 - 20:41) Guest написал(а):
blade
ну покажи как ты выводишь в цикле, а там видно будет)
ну покажи как ты выводишь в цикле, а там видно будет)
Спустя 4 минуты, 41 секунда (12.09.2010 - 20:45) blade написал(а):
$curr_status='';
$table_started=false;
while( $fetch = mysql_fetch_assoc( $q ) )
{
// как только статус сменился, начинаем новую таблицу;
// код работает и в случае самого начала данных, для первой строки
if( $fetch['user_status'] != $curr_status )
{
$curr_status=$fetch['user_status'];
if( $table_started )// если таблица уже была начата
{
// тут пишешь код закрытия текущей таблицы
}
....// тут пишешь код начала таблицы
.....
$table_started=true; // и про это надо не забыть этот статус уже не изменится до конца цикла while
}
// а тут пишешь код вывода текущей информации в таблицу
} // конец цикла while
if( $table_started )
{
// закрываем последнюю таблицу, если вообще они были начаты
}
Спустя 5 минут, 48 секунд (12.09.2010 - 20:51) Guest написал(а):
нужно в цикел собрать айди всех пользователей, я не знаю что у тебя в поле user_status, но если там не айди, то нам это поле не нужно!!
вот и все, в массиве $users - у нас есть все пользователи(а точнее их айди!)
do
{
$users[]=$fetch['id'];
}
while( $fetch = mysql_fetch_assoc($q) )
вот и все, в массиве $users - у нас есть все пользователи(а точнее их айди!)
Спустя 8 минут, 28 секунд (12.09.2010 - 21:00) blade написал(а):
do
{
$users[]=$fetch['id'];
}
while( $fetch = mysql_fetch_assoc($q) )
$users; // массив из 32 участников начинающийся с нулевого ключа
shuffle($users);
$users_range=$users;
$x=0;
for ($i=1; $i<=8;$i++)
{
$group[$i][1]=$users_range[$x];
$group[$i][2]=$users_range[$x+1];
$group[$i][3]=$users_range[$x+2];
$group[$i][4]=$users_range[$x+3];
$x=$x+4;
}
так код должен быть ?
Спустя 2 минуты, 43 секунды (12.09.2010 - 21:02) Guest написал(а):
blade
да, так, если:
1) у тебя есть поле id с автоинкриментом(отображает номер пользователя), там где пользователи))
2) если ты выбрал нужных тебе 32 человека.
да, так, если:
1) у тебя есть поле id с автоинкриментом(отображает номер пользователя), там где пользователи))
2) если ты выбрал нужных тебе 32 человека.
Спустя 1 минута, 7 секунд (12.09.2010 - 21:04) Guest написал(а):
точнее уже так
do
{
$users[]=$fetch['id'];
}
while( $fetch = mysql_fetch_assoc($q) )
shuffle($users);
$users_range=$users;
$x=0;
for ($i=1; $i<=8;$i++)
{
$group[$i][1]=$users_range[$x];
$group[$i][2]=$users_range[$x+1];
$group[$i][3]=$users_range[$x+2];
$group[$i][4]=$users_range[$x+3];
$x=$x+4;
}
Спустя 6 минут, 52 секунды (12.09.2010 - 21:10) blade написал(а):
спс завтра буду пробовать
Спустя 40 минут, 38 секунд (12.09.2010 - 21:51) linker написал(а):
Поповс... Правильно так
while($fetch = mysql_fetch_assoc($q))
{
$users[] = $fetch['id'];
}