Спустя 1 час, 59 минут, 50 секунд (20.10.2011 - 22:39) tanya12345 написал(а):
подскажите пожалуйста)
Спустя 37 минут, 36 секунд (20.10.2011 - 23:16) imbalance_hero написал(а):
document.getElementById().style.display = "block"
Тебе надо менять свойство: display:block, display:none, точнее проверять, какое сейчас на объекте и ставить другое.
Тебе надо менять свойство: display:block, display:none, точнее проверять, какое сейчас на объекте и ставить другое.
Спустя 10 минут, 12 секунд (20.10.2011 - 23:27) Winston написал(а):
Свернутый текст
<style type="text/css">
td{
width: 100px;
height: 100px;
}
</style>
<table border="1">
<tr>
<td onclick="this.style.display = 'none'">
первый
</td>
<td onclick="this.style.display = 'none'">
второй
</td>
</tr>
<tr>
<td onclick="this.style.display = 'none'">
третий
</td>
<td onclick="this.style.display = 'none'">
четвертый
</td>
</tr>
</table>
Спустя 9 часов, 58 минут, 10 секунд (21.10.2011 - 09:25) tanya12345 написал(а):
Делаю по все по вашему совету:
Моя таблица формируется динамически из базы данных.
И выглядит примерно так:
Строка : имя первого сайта (кнопки скрыть/показать)
//Далее идущий блок должен убираться при помощи скрыть/показать.Начало блока
Строка: страница, критическое событие, дата ****
Строка: страница, критическое событие, дата
Строка: страница, критическое событие, дата
//Конец блока
Строка : имя второго сайта (кнопки скрыть/показать)
//Далее идущий блок должен убираться при помощи скрыть/показать.Начало блока
Строка: страница, критическое событие, дата
Строка: страница, критическое событие, дата
//Далее идущий блок должен убираться при помощи скрыть/показать.Начало блока
И т.д.
МОЯ ПРОБЛЕМА:
При нажатии скрыть/показать на протяжении всей таблицы у меня убирается только 1 строка из блока, который должен убираться при помощи скрыть/показать ,ОТНОСЯЩИЙСЯ К ПЕРВОМУ САЙТУ, вместо всего блока.
**** - обозначена данная строка у меня на схеме, именна она открывается/скрывается, в какой бы части таблицы я ни нажала кнопку скрыть/показать.
В чем дело????Помогите решить проблему??? Пожалуйста!!!!!!
Моя таблица формируется динамически из базы данных.
И выглядит примерно так:
Строка : имя первого сайта (кнопки скрыть/показать)
//Далее идущий блок должен убираться при помощи скрыть/показать.Начало блока
Строка: страница, критическое событие, дата ****
Строка: страница, критическое событие, дата
Строка: страница, критическое событие, дата
//Конец блока
Строка : имя второго сайта (кнопки скрыть/показать)
//Далее идущий блок должен убираться при помощи скрыть/показать.Начало блока
Строка: страница, критическое событие, дата
Строка: страница, критическое событие, дата
//Далее идущий блок должен убираться при помощи скрыть/показать.Начало блока
И т.д.
МОЯ ПРОБЛЕМА:
При нажатии скрыть/показать на протяжении всей таблицы у меня убирается только 1 строка из блока, который должен убираться при помощи скрыть/показать ,ОТНОСЯЩИЙСЯ К ПЕРВОМУ САЙТУ, вместо всего блока.
**** - обозначена данная строка у меня на схеме, именна она открывается/скрывается, в какой бы части таблицы я ни нажала кнопку скрыть/показать.
В чем дело????Помогите решить проблему??? Пожалуйста!!!!!!
<html>
<head>
<title>Страница </title>
</head>
<body>
<div id="main">
<?php
include ("menu.php");
?>
<div id="cont">
<table width="100%" border="1" cellspacing="0" cellpadding="5">
<tr style="text-align:center;">
<td>Страница</td>
<td>Критическое событие</td>
<td>Дата</td>
</tr>
<?php
require("class.php");
//Выбираю список сайтов:
$resa = mysql_query("SELECT * FROM sait") or die(mysql_error());
while ($mass = mysql_fetch_assoc($resa))
{
$ap=$mass['id'];
$res = mysql_query("SELECT `sait`.`name`,`kategorii`.`kati` , `vest`.`razn`,`vest`.`times`,`vest`.`id`,`vest`.`datas`, `krit_sobytiy`.`names`,`pages`.`page` FROM `sait`,`kategorii` ,`vest`, `krit_sobytiy`,`pages` WHERE `sait`.`id`='" .$ap."' AND `sait`.`id`=`vest`.`saitid` AND `kategorii`.`id`=`sait`.`kategory` AND `krit_sobytiy`.`id`=`vest`.`sobytie` AND `vest`.`idpages`=`pages`.`id` AND `vest`.`ne_pokaz`=0 ORDER BY `krit_sobytiy`.`names`") or die(mysql_error());
$a=mysql_num_rows($res);
if ($a==0)
{
}
else
{
//Делаю строку с именем сайта
echo "<tr>";?>
<td colspan=5 >
<?php
echo $mass['name'];
?>
<button onclick="document.getElementById('must_delete').style.display='none'">hiden</button>
<button onclick="document.getElementById('must_delete').style.display=''">show</button>
</td>
</tr>
<?php
//Вывожу в цикле все строки, которые связанные с выбранным сайтом
while ($mass = mysql_fetch_assoc($res))
{
?>
<tr id="must_delete">
<?php
echo "<td >" . $mass['page'] . "</td>";
echo "<td >" ;
echo "+"; echo $mass['razn'];
echo "</td>" ;
echo "<td >" . $mass['names'] . "</td>";
echo "<td >" . $mass['datas'] ." " . $mass['times'] ."</td>";
echo "</tr>";
}
?>
</tr>
<?php
}
}
?>
</table></div></div></body></html>
Спустя 1 час, 2 минуты, 33 секунды (21.10.2011 - 10:27) YVSIK написал(а):
tanya12345 Тания!! пожалуйста приши в личку только по высшей необходимости !!
а чтоб все было понятно и не только тебе, а всем, пропробуй оформить свой код как тут написано АГА!???
спасибо за понимание!!
а чтоб все было понятно и не только тебе, а всем, пропробуй оформить свой код как тут написано АГА!???
спасибо за понимание!!
Спустя 30 минут, 54 секунды (21.10.2011 - 10:58) tanya12345 написал(а):
Отформатировала код. Проблема не решена. Прошу помочь.
Код:
Делаю по все по вашему совету:
Моя таблица формируется динамически из базы данных.
И выглядит примерно так:
Строка : имя первого сайта (кнопки скрыть/показать)
//Далее идущий блок должен убираться при помощи скрыть/показать.Начало блока
Строка: страница, критическое событие, дата ****
Строка: страница, критическое событие, дата
Строка: страница, критическое событие, дата
//Конец блока
Строка : имя второго сайта (кнопки скрыть/показать)
//Далее идущий блок должен убираться при помощи скрыть/показать.Начало блока
Строка: страница, критическое событие, дата
Строка: страница, критическое событие, дата
//Далее идущий блок должен убираться при помощи скрыть/показать.Начало блока
И т.д.
МОЯ ПРОБЛЕМА:
При нажатии скрыть/показать на протяжении всей таблицы у меня убирается только 1 строка из блока, который должен убираться при помощи скрыть/показать ,ОТНОСЯЩИЙСЯ К ПЕРВОМУ САЙТУ, вместо всего блока.
**** - обозначена данная строка у меня на схеме, именна она открывается/скрывается, в какой бы части таблицы я ни нажала кнопку скрыть/показать.
В чем дело????Помогите решить проблему??? Пожалуйста!!!!!!
Код:
<html>
< head > < title > Страница < / title > < / head > < body > < divid = "main" > <?phpinclude ("menu.php");
?>
<div id="cont">
<table width="100%" border="1" cellspacing="0" cellpadding="5">
<tr style="text-align:center;">
<td>Страница</td>
<td>Критическое событие</td>
<td>Дата</td>
</tr>
<?php require ("class.php");
//Выбираю список сайтов:
$resa = mysql_query("SELECT * FROM sait") or die(mysql_error());
while($mass = mysql_fetch_assoc($resa))
{
$ap = $mass['id'];
$res = mysql_query("SELECT `sait`.`name`,`kategorii`.`kati` , `vest`.`razn`,`vest`.`times`,`vest`.`id`,`vest`.`datas`, `krit_sobytiy`.`names`,`pages`.`page` FROM `sait`,`kategorii` ,`vest`, `krit_sobytiy`,`pages` WHERE `sait`.`id`='" .$ap."' AND `sait`.`id`=`vest`.`saitid` AND `kategorii`.`id`=`sait`.`kategory` AND `krit_sobytiy`.`id`=`vest`.`sobytie` AND `vest`.`idpages`=`pages`.`id` AND `vest`.`ne_pokaz`=0 ORDER BY `krit_sobytiy`.`names`") or die(mysql_error());
$a = mysql_num_rows($res);
if($a == 0)
{
}
else
{
//Делаю строку с именем сайта
echo "<tr>";
?>
<td colspan=5 >
<?php echo $mass['name'];
?>
<button onclick="document.getElementById('must_delete').style.display='none'">hiden</button>
<button onclick="document.getElementById('must_delete').style.display=''">show</button>
</td>
</tr>
<?php
//Вывожу в цикле все строки, которые связанные с выбранным сайтом
while($mass = mysql_fetch_assoc($res))
{
?>
<tr id="must_delete">
<?php echo "<td >". $mass['page'] ."</td>";
echo "<td >";
echo "+";
echo $mass['razn'];
echo "</td>";
echo "<td >". $mass['names'] ."</td>";
echo "<td >". $mass['datas'] ." ". $mass['times'] ."</td>";
echo "</tr>";
}
?>
</tr>
<?php
}
}
?> < / table > < / div > < / div > < / body > < / html
?>
Делаю по все по вашему совету:
Моя таблица формируется динамически из базы данных.
И выглядит примерно так:
Строка : имя первого сайта (кнопки скрыть/показать)
//Далее идущий блок должен убираться при помощи скрыть/показать.Начало блока
Строка: страница, критическое событие, дата ****
Строка: страница, критическое событие, дата
Строка: страница, критическое событие, дата
//Конец блока
Строка : имя второго сайта (кнопки скрыть/показать)
//Далее идущий блок должен убираться при помощи скрыть/показать.Начало блока
Строка: страница, критическое событие, дата
Строка: страница, критическое событие, дата
//Далее идущий блок должен убираться при помощи скрыть/показать.Начало блока
И т.д.
МОЯ ПРОБЛЕМА:
При нажатии скрыть/показать на протяжении всей таблицы у меня убирается только 1 строка из блока, который должен убираться при помощи скрыть/показать ,ОТНОСЯЩИЙСЯ К ПЕРВОМУ САЙТУ, вместо всего блока.
**** - обозначена данная строка у меня на схеме, именна она открывается/скрывается, в какой бы части таблицы я ни нажала кнопку скрыть/показать.
В чем дело????Помогите решить проблему??? Пожалуйста!!!!!!
Спустя 1 час, 54 минуты, 53 секунды (21.10.2011 - 12:53) Xes написал(а):
Ну так ясен перец ты обршаешься по id=must_delete а у тебя у всех таблиц этот id
динамически формируй id каждого блока
must_delete_1
must_delete_2
И у кнопок соответвено должно быть
динамически формируй id каждого блока
must_delete_1
must_delete_2
И у кнопок соответвено должно быть
onclick="document.getElementById('must_delete_1').style.display='none'"
Спустя 43 минуты, 7 секунд (21.10.2011 - 13:36) imbalance_hero написал(а):
ID - должен быть уникальным, ни одного дубля(!).
При этом выборка идёт только по первому ID, то есть выбирается и скрывается ТОЛЬКО первый <tr> у тебя, а не таблица.
Либо давай уникальные id, тогда их указывать надо, если одним нажатием тебе надо скрыть перечень блоков, тогда обращаться к ним как getElementsByName(), или по аттрибуту, получишь массив, и каждый циклом while обработаешь и скроешь!
При этом выборка идёт только по первому ID, то есть выбирается и скрывается ТОЛЬКО первый <tr> у тебя, а не таблица.
Либо давай уникальные id, тогда их указывать надо, если одним нажатием тебе надо скрыть перечень блоков, тогда обращаться к ним как getElementsByName(), или по аттрибуту, получишь массив, и каждый циклом while обработаешь и скроешь!
Спустя 25 минут, 8 секунд (21.10.2011 - 14:01) killer8080 написал(а):
tanya12345
для групповой идентификации можно использовать атрибут класс. Если используешь jQuery задача предельно упрощается.
onclick="$('.must_delete').hide()"
onclick="$('.must_delete').show()"
А вообще код у тебя очень кривой, делать такие сложные запросы в цикле - это зло. Такие задачи должны решаться одним запросом, например
и избегай mysql_num_rows в больших таблицах, слишком много ресурсов она жрёт.
Для подсчёта либо COUNT(*) для простых запросов или директива SQL_CALC_FOUND_ROWS для сложных. В последнем случае количество рядов можно узнать простым запросом
после основного запроса.
для групповой идентификации можно использовать атрибут класс. Если используешь jQuery задача предельно упрощается.
onclick="$('.must_delete').hide()"
onclick="$('.must_delete').show()"
А вообще код у тебя очень кривой, делать такие сложные запросы в цикле - это зло. Такие задачи должны решаться одним запросом, например
Свернутый текст
SELECT SQL_CALC_FOUND_ROWS
`s`.`name`,`kat`.`kati` , `v`.`razn`, `v`.`times`, `v`.`id`, `v`.`datas`, `kr`.`names`, `p`.`page`
FROM `sait` `s`
INNER JOIN `kategorii` `kat` ON `kat`.`id`=`s`.`kategory`
INNER JOIN `vest` `v` ON `v`.`saitid`=`s`.`id`
INNER JOIN `krit_sobytiy` `kr` ON `kr`.`id`=`v`.`sobytie`
INNER JOIN `pages` `p` ON `p`.`id`=`v`.`idpages`
WHERE `v`.`ne_pokaz`=0
ORDER BY `kr`.`names`
и избегай mysql_num_rows в больших таблицах, слишком много ресурсов она жрёт.
Для подсчёта либо COUNT(*) для простых запросов или директива SQL_CALC_FOUND_ROWS для сложных. В последнем случае количество рядов можно узнать простым запросом
SELECT FOUND_ROWS()
после основного запроса.
Спустя 5 часов, 52 минуты, 59 секунд (21.10.2011 - 19:54) tanya12345 написал(а):
Изменила код,чтобы динамически формировался id блока,но все равно код на скрытие/отобржение не работает.Чего не хватает? То, что моего ума - это я понимаю, но я имею ввиду в программном коде??? Подскажите
<html>
<head>
<title>Страница оповещений</title>
<link rel="stylesheet" type="text/css" href="adm.css" />
</head>
<body>
<div id="main">
<?php
include ("menu.php");
?>
<div id="cont">
<table width="100%" border="1" cellspacing="0" cellpadding="5">
<tr style="text-align:center;">
<td>Страница</td>
<td>Критическое событие</td>
<td>Дата</td>
</tr>
<?php
$must_delete=array();
$i=0;
require("class.php");
//Выбираю список сайтов:
$resa = mysql_query("SELECT * FROM sait") or die(mysql_error());
while ($mass = mysql_fetch_assoc($resa))
{
$ap=$mass['id'];
$res = mysql_query("SELECT `sait`.`name`,`kategorii`.`kati` , `vest`.`razn`,`vest`.`times`,`vest`.`id`,`vest`.`datas`, `krit_sobytiy`.`names`,`pages`.`page` FROM `sait`,`kategorii` ,`vest`, `krit_sobytiy`,`pages` WHERE `sait`.`id`='" .$ap."' AND `sait`.`id`=`vest`.`saitid` AND `kategorii`.`id`=`sait`.`kategory` AND `krit_sobytiy`.`id`=`vest`.`sobytie` AND `vest`.`idpages`=`pages`.`id` AND `vest`.`ne_pokaz`=0 ORDER BY `krit_sobytiy`.`names`") or die(mysql_error());
$a=mysql_num_rows($res);
if ($a==0)
{
}
else
{
//Делаю строку с именем сайта
echo "<tr>";?>
<td colspan=5 >
<?php
echo $mass['name'];
?>
<button onclick="document.getElementById('.$must_delete[$i].').style.display='none'">hiden</button>
<button onclick="document.getElementById('.$must_delete[$i].').style.display=''">show</button>
</td>
</tr>
<div id='.$must_delete[$i].'>
<?php
//Вывожу в цикле все строки, которые связанные с выбранным сайтом
while ($mass = mysql_fetch_assoc($res))
{
?>
<tr >
<?php
echo "<td >" . $mass['page'] . "</td>";
echo "<td >" ;
echo "+";
echo $mass['razn'];
echo "</td>" ;
echo "<td >" . $mass['names'] . "</td>";
echo "<td >" . $mass['datas'] ." " . $mass['times'] ."</td>";
echo "</tr>";
}
echo "</div>";
$i=$i+1;
?>
</tr>
<?php
}
}
?>
</table>
</div>
</div>
</body>
</html>