Jump to content
  • 0

Вывод чисел с последовательным смещением на единицу


Dimitry Wolotko
 Share

Question

В БД есть числа от 1 до 4.

Что мне поможет сделать примерно такое чудо?

1 2 3 4

2 3 4 1

3 4 1 2

4 1 2 3

Никак не могу найти, пните пожалуйста.

prev и next - оно или нет?

переименовано. Tokolist

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0

Попробую помочь:

Полагаю, данные хранятся в РБД с каким-то одним атрибутом. Пусть будет "atribute";

С помощью PHP можно извлечь данные всех полей БД с этим атрибутом :

$query= "select atribute from name_your_tb where 1";
$result=$your_db -> query($query);//все Ваши циферки
$rows=mysqli_fetch_row($result);//теперь у нас не какие-то данные, а обычный массив; нумерация с 0 с первой строки Вашего атрибута "atribute".
Еще нам понадобится количество строк(сколько всего цифер)
{
$query= "select count(atribute) from name_your_tb where 1";
$result=$your_db -> query($query);//все Ваши циферки
$z=mysqli_fetch_row($result);//нулевой элемент-наше количество

}
тут можно работать уже циклами:
for($s=0; $s<z[0];$s+=1)
{
echo </br>;
for($d=$s; $d<$s+z[0];$d+=1)
{
echo $rows[$d-$z[0]*($d%z[0])]."_";//убираем целую часть
}
}

Говоря честно, написал навскидку, поэтому не обещаю, что все заработает. Но надеюсь мысль какую-нибудь подал...

NIKKK используйте [cоde] !!! (Tokolist)

Link to comment
Share on other sites

  • 0
Sectronix, храняться в разных полях, в одной табличке.

Ладно, вс? равно как хранятся, вот рабочий скрипт :)

Как сформировать массив $arr сами догадаетесь =)

<?php

//Массив из чисел в произвольном порядке
$arr = array(4,3,1,2);

//Сортируем
sort($arr);

$cnt = sizeof($arr) - 1;

//Результирующий двумерный массив
$result = array();

for($i=0;$i<=$cnt;$i++)
{
$result[$i] = array();
$k = $i;
for($j=0;$j<=$cnt;$j++)
{
$result[$i][$j] = $arr[$k];

$k = $k == $cnt ? 0 : $k + 1;
}
}

//Смотрим что получилось
echo '<pre>';
print_r($result);
echo '</pre>';

?>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy