[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Даже не знаю как обозвать. Перекрестная таблица
xDD
Передо мной стоит задача сделать таблицу вида
user posted image
и я не совсем понимаю как можно сделать так, чтобы одни и те же данные фигурировали и в столбцах и в строках. Тоисть на Иванова выводились все те с кем он играл например.
Кто нибудь сталкивался с такой задачей? Если да то отпишитиесь пожайлуста.



Спустя 2 минуты, 42 секунды (3.02.2011 - 01:20) xDD написал(а):
Таблица заполняеться из бд

Спустя 2 часа, 26 минут, 13 секунд (3.02.2011 - 03:46) @dmir@l написал(а):
tongue.gif
лучшая БД в данной ситуации...ручка и журнал)

Спустя 5 часов, 6 минут, 20 секунд (3.02.2011 - 08:52) Michael написал(а):
В самой таблице неточности: 8:1, 5:3 => 0.2

Алгоритм:
Делаешь двумерный массив 8*8 с числовыми индексами(1-8),
При записи данных в элемент массива a[3][1] его зеркальную копию записываешь в a[1][3]. А выводишь потом по строкам.


Спустя 5 часов, 50 минут, 14 секунд (3.02.2011 - 14:43) xDD написал(а):
Это так для примера, данные записывались так что неточности могут быть. Про зеркальную копию я знаю. Я просто думаю как делать сначала подавать размерность подавать n*n,а потом после заполнения таблицы записывать в бд или все же сначала делать ввод в бд и оттуда в эту таблицу отображать?

Спустя 1 минута, 49 секунд (3.02.2011 - 14:44) xDD написал(а):
Да массив должен быть n*n тоисть подаем сначала число. Как задать размерность массива
$arr = array(чтобы был n*n)?

Спустя 12 минут, 58 секунд (3.02.2011 - 14:57) xDD написал(а):
PHP вообще это может или лучше не яваскрипт переходить?

Спустя 27 минут, 47 секунд (3.02.2011 - 15:25) Michael написал(а):
Цитата (xDD @ 3.02.2011 - 13:44)
Да массив должен быть n*n тоисть подаем сначала число. Как задать размерность массива
$arr = array(чтобы был n*n)?

в php можно просто сразу присваивать:
print("<pre>");
$arr = array();
$arr[1][3] = 'x';
$arr[3][1] = 'x';
print_r($arr);
print("</pre>");


Цитата (xDD)
а потом после заполнения таблицы записывать в бд или все же сначала делать ввод в бд и оттуда в эту таблицу отображать?

ну ты спрашивал сначала о выводе таблицы, т.е. данные уже должны быть в базе данных.

Ввод можно отдельно сделать, без всяких таблиц. Если хочешь что то красивое - таблица, кликаешь и заполняешь + в базу добавляется тут нужен javascript + ajax

Спустя 1 день, 13 часов, 25 минут, 4 секунды (5.02.2011 - 04:50) xDD написал(а):
Потихоньку двигаюсь вот до чего дошел
 
<HTML>
<
HEAD>
<
TITLE>Элементы Text</TITLE></HEAD>

<
BODY>

<?php
@mysql_connect("localhost","root","admin")or die ('Error');
@mysql_select_db("admin") or die(mysql_error());
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");
$result = mysql_query("SELECT l.name, d.name, e.ob_sch
FROM jos_t_igra e
INNER JOIN jos_t_igrok d ON d.id = e.igr2
INNER JOIN jos_t_igrok l ON l.id = e.id"
);
$num_rows = mysql_num_rows($result);
$num_field=mysql_num_fields($result);

?>
<?php

while ($row = mysql_fetch_array($result,MYSQL_NUM)) {

$return[]=$row;
}
echo " <br><br>";
print_r($return);
error_reporting(7);
echo "<br>$num_rows Rows\n<br>";
echo "$num_field Field\n<br>";
echo "<b> count(return)=".count($return)."</b>";
echo "<table border='1'>";
var_dump($result);
//shapka
echo ("<TH>111</TH>");
$p=count($return)-1;
for($k=0;$k<count($return)-$p;$k++)
{ echo "count(return[k])=".count($return[$k])."<br>";
print_r($return[$k]);
for ($j=0;$j<count($return[$k])-1; $j++)
echo ("<TH>".$return[$k][$j]."</TH>");
}
echo ("</TR>");

//kishki

for($j=0;$j<count($return);$j++){
echo "<TR>";
//print_r($return[$j]);
$t=count($return[$j])-1;
echo count($return[$j])-$t;
for($k=0;$k<count($return[$j])-$t;$k++)
{//echo "<td> <input type=text size=5 value=" . print_r($return[$j])."><p> [j]".count($return[$j])."</p></td>";
echo "<TD><INPUT TYPE='TEXT' NAME='str' size=8 VALUE=".$return[$j][$k]."></TD>";
//problema nachinaetsya zdec zaciklivaetsya
for($i=0;i<3;$i++){
echo "<TD><INPUT TYPE='TEXT' NAME='str' size=3 VALUE=111></TD>";
}
}

echo "</tr>";
}

echo "</table >";

?>

</BODY>
</
HTML>



Проблема в том что наличие третьего цикла зацикливает программу, но тот же самый код в яве не зацикливает
 
<script>
l=prompt("Введите количество товара","");
var j,i;
document.write ("<TR><TH>111</TH>");
for (j=0;j<l; j++)
document.write ("<TH>"+j+"</TH>");
document.write ("</TR>");

for (i=0;i<l; i++)
{
// document.write ("<TR><TD><INPUT TYPE='TEXT' NAME='str' VALUE="+i+"></TD>")
t=l-1;
for (j=0;j<l-t; j++)
{
for(k=0;k<4;k++)
document.write ("<TD><INPUT TYPE='TEXT' NAME='str' VALUE='111'></TD>");


}
document.write ("</TR>")
}

</Script>

Работает кто может сказать причину?

Структура бд
CREATE TABLE IF NOT EXISTS `jos_t_igra` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`igr1` int(5) NOT NULL,
`igra1part1` varchar(5) NOT NULL,
`igra1part2` varchar(5) NOT NULL,
`igr2` int(5) NOT NULL,
`igra2part1` varchar(5) NOT NULL,
`igra2part2` varchar(5) NOT NULL,
`igrok1sch1` varchar(5) NOT NULL,
`igrok1sch2` varchar(5) NOT NULL,
`igrok2sch1` varchar(5) NOT NULL,
`igrok2sch2` varchar(5) NOT NULL,
`Ob_sch` varchar(5) NOT NULL,
`id_turnira` int(5) NOT NULL,
`published` tinyint(4) NOT NULL,
`checked_out` tinyint(4) NOT NULL,
PRIMARY KEY (`id`),
KEY `igr1` (`igr1`,`igr2`,`igrok2sch2`,`id_turnira`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=42 ;

--
-- Дамп данных таблицы `jos_t_igra`
--

INSERT INTO `jos_t_igra` (`id`, `igr1`, `igra1part1`, `igra1part2`, `igr2`, `igra2part1`, `igra2part2`, `igrok1sch1`, `igrok1sch2`, `igrok2sch1`, `igrok2sch2`, `Ob_sch`, `id_turnira`, `published`, `checked_out`) VALUES
(1, 1, '3', '8', 2, '4', '8', '0', '0', '1', '1', '0', 1, 0, 0),
(2, 2, '8', '3', 1, '8', '4', '1', '1', '0', '0', '2', 1, 0, 0);

Структура таблицы `jos_t_igrok`
--

CREATE TABLE IF NOT EXISTS `jos_t_igrok` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`name` varchar(40) NOT NULL,
`rez` int(5) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=14 ;

--
-- Дамп данных таблицы `jos_t_igrok`
--

INSERT INTO `jos_t_igrok` (`id`, `name`, `rez`) VALUES
(2, 'Петров', 80),
(1, 'Шариков', 77);


Быстрый ответ:

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