[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Показывает спрятанные DIV
Telez
Нужен совет.
У меня есть спсок цветов, который я показываю на первом "язычке" - весь список, на всех следующих - по начальной букве имени. Т.е. А,Б,В,....
Каждая и этих букв - спрятанный DIV. При обновлении страницы, видны все (и спрятанные!) DIVы. Как этого избежать?
sergeiss
Показывай, как сейчас сделал - будем вместе модифицировать.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Telez
1. выбираю все цветы
$all_flors=array();
$first_letter=array();

if(mysql_num_rows($florr_list) > 0)
{
while($flor = mysql_fetch_array($flor_list))
{
//добавляю в общий массив
array_push($all_flors, $flor);

//проверяю первую букву, создаю массив и добавляю цветок в массив
if(!in_array($flor['last_name'][0], $first_letter))
{
array_push($first_letter, $flor['last_name'][0]);

$arr_{$flor['last_name'][0]} = array();
array_push($arr_{$flor['last_name'][0]}, $flor);
}
else
{
array_push($arr_{$flor['last_name'][0]}, $flor);
}
}
}
......
создаю первый(главный) таб
<div id="ALL">
for($i=0; $i < count($all_flors); $i++)
{
$flor_details = $all_flors[$i];
echo "<tr>";
.........
echo "</tr>";
}
</div>

создаю другие табы и заполняю их данными
foreach($first_letter as $f_let)
{
$arr_name = $arr_{$f_let};
$i = 0;
$account = 0;
echo "<div id={$f_let}>";
echo "<table>";
.....
echo "</table>";
echo "</div>";
}
Kusss
я бы все в один массив положил , и дергал бы и из него.
<?php
$all_flors=array();

if(mysql_num_rows($florr_list) > 0) {
while($flor = mysql_fetch_assoc ($flor_list)) {
// Если название не пустое
if (!empty($flor['last_name'][0])) {
// Всесто наименования, можно добавить массив со всеми другими данными
$all_flors[ $flor['last_name'][0] ][ $flor['id'] ] = $flor['last_name'];
}
}
}

?>
......
создаю первый(главный) таб
<div id="ALL">
<?php
echo "<tr>";
foreach($all_flors AS $letter=>$value) {
// Алфавитный указатель
echo '<a href="flover_all.php?letter='.$letter.'" title="Всего '.count($value).' позиций"></a>';
}
echo "</tr>";
?>
</div>

создаю другие табы и заполняю их данными
<?php
foreach($all_flors as $letter=>$value) {
foreach ($value AS $flors_id=>$name) {

echo '<div id="flover_'.$letter.'">';
echo '<h2>'.$name.'</h2>';
echo '<table>';
.....

echo '</table>';
echo '</div>';
}
}

Второй раз можно не проходить массив, а скажем собрать данные на вывод в первом проходе. Ну и если выбрали букву - загрузить/показать только нужноe.

А чтобы дивы не отображались во время загрузки страницы, присвой закрытым вивам style="display:none;" а лучше это через css сделать
Быстрый ответ:

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