Буду рад Вашим ответам, заранее спасибо.
Спустя 13 минут, 51 секунда (7.07.2010 - 12:50) waldicom написал(а):
В цикле проерять результат (counter % 4), и при необходимости выводить дополнительные </tr><tr>
Counter - это просто переменная, которая счиате количество итераций.
Counter - это просто переменная, которая счиате количество итераций.
Спустя 1 час, 50 минут, 54 секунды (7.07.2010 - 14:41) mishko_o написал(а):
Вот код после запроса:
Не могли бы вы подсказать, куда именно вставлять counter? И как должен выглядеть код в итоге?
while($cat_content=mysql_fetch_array($rez))
{
echo "
<a href='showwear.php?id=$cat_content[id_wear]' class='theme_link'><img src='$cat_content[image_small]'></a>
";
}
Не могли бы вы подсказать, куда именно вставлять counter? И как должен выглядеть код в итоге?
Спустя 43 минуты, 1 секунда (7.07.2010 - 15:24) Slays написал(а):
не лучший вариант на скорую руку, не проверял
$td = 0; // задаем переменную
echo "<table width='95%' border=0>";
$sql = "SELECT ..."; // вывод из базы
$result = mysql_query($sql) or die("ошибка");
while($par = mysql_fetch_assoc($result)){
/*если $td=0, значит это начала новой строк, открываем <tr> */
if ($td == 0)
echo "<tr>";
echo "<td><a href='showwear.php?id=".$cat_content[id_wear]."' class='theme_link'><img src='".$cat_content[image_small]."'></a></td>";
$td++; // прибавляем перменную
/*если у нас уже 4 ячейки <td> закрываем </tr> и обнуляем переменную*/
if ($td == 4){
echo "</tr>";
$td = 0;
}
}
echo "</table>";
Спустя 40 минут, 23 секунды (7.07.2010 - 16:04) waldicom написал(а):
Цитата (mishko_o @ 7.07.2010 - 13:41) |
Вот код после запроса: ..... Не могли бы вы подсказать, куда именно вставлять counter? И как должен выглядеть код в итоге? |
Вы не пользуетесь таблицами? Если результаты представляют собой табличные данные, то Вы спокойно можете пользовать таблицы.
что-то типа
<table>
<tr>
<?php
$counter = 0;
while($cat_content=mysql_fetch_array($rez)){
$counter ++;
echo "<td><a href='showwear.php?id=$cat_content[id_wear]' class='theme_link'><img src='$cat_content[image_small]'></a></td>";
if($counter % 4 == 0){
echo '</tr><tr>';
}
}
?>
</tr>
</table>
Спустя 11 минут, 21 секунда (7.07.2010 - 16:16) mishko_o написал(а):
Большое спасибо!
А можно ли сохранить эту упорядоченность и в то же время сделать так, чтобы при уменьшении разрешения не появлялась горизонтальная полоса прокрутки, а изображения перескакивали вниз, и в ряду уже становилось не по 4, а по 3 изображения? Таблица тогда здесь не подойдет.
А можно ли сохранить эту упорядоченность и в то же время сделать так, чтобы при уменьшении разрешения не появлялась горизонтальная полоса прокрутки, а изображения перескакивали вниз, и в ряду уже становилось не по 4, а по 3 изображения? Таблица тогда здесь не подойдет.
Спустя 8 минут, 15 секунд (7.07.2010 - 16:24) Ineed$ написал(а):
Тогда вопервых забудь про таблицы, во вторых просто делай растягиваэщуэся форму и все внутренние элементы + определи постоянный максимальный размер рамки и дели ячейки относительно рамки процентно с ограниченым минимумом для каждой ячейки. Сделай им всем float:left; и радуйся жизни.
Спустя 19 минут, 41 секунда (7.07.2010 - 16:44) Slays написал(а):
да, я в основном также делаю =)
Спустя 10 минут, 38 секунд (7.07.2010 - 16:54) mishko_o написал(а):
Да, я примерно так же это и представлял. Меня интересует реализация, как реализовать это на php..
Спустя 31 минута, 57 секунд (7.07.2010 - 17:26) Slays написал(а):
в пхп ничего нового, тут суть в css
первый ограничивающий блок, за пределы которого выведенные блоки не выберутся. Внутри этого блока выводишь свои товары в блоках нужных размеров, все что не влезет в один ряд, сами перенесутся на новую строку, т.е. в каждой строке будет столько блоков, сколько влезло в ограничивающий див.
div#block{
overflow:hidden;
width:100%; /*либо статический рамер*/
}
div#block div{
overflow:hidden;
width:150px;
height:150px
float:left;
}
первый ограничивающий блок, за пределы которого выведенные блоки не выберутся. Внутри этого блока выводишь свои товары в блоках нужных размеров, все что не влезет в один ряд, сами перенесутся на новую строку, т.е. в каждой строке будет столько блоков, сколько влезло в ограничивающий див.
echo "<div id=block>";
while($cat_content=mysql_fetch_array($rez))
{
echo "
<div><a href='showwear.php?id=$cat_content[id_wear]' class='theme_link'><img src='$cat_content[image_small]'></a></div>
";
}
echo "</div>";
Спустя 22 часа, 33 минуты, 28 секунд (8.07.2010 - 16:00) mishko_o написал(а):
Спасибо большое за ответы!
Чтобы не открывать новую тему, задам еще один небольшой вопрос здесь. На сайте есть регистрация посетителей, после того, как пользователь вошел в систему под своим логином, в одном из блоков появляется инфа, типа, "Здраствуйте, Ашот.". В общем на страницах в коде есть следующий фрагмент:
С помощью require присоединяю файл auth.php с обработчиком авторизации:
}
Как только я захожу на сайт под своим логином, высвечивается "Здраствуйте, Admin". При переходе на другую страницу, пропадает логин, остается "Здраствуйте, !". Код идентичный на разных страницах, я имею ввиду, что касается авторизации.
Такие вещи уже не раз делал, но сейчас никак не могу понять, в чем дело.. Как исправить данную проблему?
Тестировал в Денвере - там все корректно отображается.
Чтобы не открывать новую тему, задам еще один небольшой вопрос здесь. На сайте есть регистрация посетителей, после того, как пользователь вошел в систему под своим логином, в одном из блоков появляется инфа, типа, "Здраствуйте, Ашот.". В общем на страницах в коде есть следующий фрагмент:
session_start();
if(isset($_SESSION[id]))
{
echo"
Добро пожаловать, $_SESSION[login]!
}
С помощью require присоединяю файл auth.php с обработчиком авторизации:
if(isset($_POST['ok_auth']))
{
$sql="SELECT * FROM users WHERE login='$_POST[login]'";
$rez=mysql_query($sql);
if(@$users=mysql_fetch_array($rez))
{
$pass=($_POST[pass]);
if($pass==$users[pass])
{
session_register("login", "id");
$_SESSION[login]=$users[login];
$_SESSION[id]=$users[id];
}
}
}
Как только я захожу на сайт под своим логином, высвечивается "Здраствуйте, Admin". При переходе на другую страницу, пропадает логин, остается "Здраствуйте, !". Код идентичный на разных страницах, я имею ввиду, что касается авторизации.
Такие вещи уже не раз делал, но сейчас никак не могу понять, в чем дело.. Как исправить данную проблему?
Тестировал в Денвере - там все корректно отображается.
Спустя 11 минут, 46 секунд (8.07.2010 - 16:11) waldicom написал(а):
А session_start(); на всех страницах?
Спустя 18 часов, 13 минут, 26 секунд (9.07.2010 - 10:25) mishko_o написал(а):
Да, на всех, в том то и дело..