За последние 24 часа нас посетили 58308 программистов и 1832 робота. Сейчас ищут 1024 программиста ...

Вывод рисунков в тело таблиц с базы данных циклом

Тема в разделе "PHP для новичков", создана пользователем МихаилГалузо, 16 янв 2017.

  1. МихаилГалузо

    МихаилГалузо Новичок

    С нами с:
    11 янв 2017
    Сообщения:
    29
    Симпатии:
    0
    При выводе циклом foreach ($cauntries as $key )данных в виде рисунка в таблицу получается вывод только или по горизонтали с строчку или по вертикали в столбец, а необходимо осуществить вывод картинок в виде таблицы к примеру 4х4. Подскажите заранее благодарен.
     
  2. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    Показывай, как делаешь
     
  3. МихаилГалузо

    МихаилГалузо Новичок

    С нами с:
    11 янв 2017
    Сообщения:
    29
    Симпатии:
    0
    Формирую массив:
    PHP:
    1. <ul id="gallery-photo">
    2.                 <?php
    3.       $result = mysql_query("SELECT * FROM table_products", $link);
    4.             $row = mysql_fetch_array($result);
    5.  
    6. Вывожу циклом, ну к примеру в списке:
    7. foreach ($row as $key ):?>
    8.      
    9. echo '       <li>
    10.                    <img src="'.$img_path.'" width="'.$width.'" height="'.$height.'"/>
    11.                  </li> ';
    12. endforeach;
    Картинки молотит по горизонтали. Как я не крутил и цикл в цикле выдает то строкой то столбцом
     
    #3 МихаилГалузо, 16 янв 2017
    Последнее редактирование модератором: 17 янв 2017
  4. Vihorek

    Vihorek Новичок

    С нами с:
    16 янв 2017
    Сообщения:
    21
    Симпатии:
    2
    это больше к верстке. показывай css
     
  5. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    почему ты не хочешь сделать табличку?
     
  6. Vihorek

    Vihorek Новичок

    С нами с:
    16 янв 2017
    Сообщения:
    21
    Симпатии:
    2
    сделай => образом: ul замени на <div class="gallery-photo"> (стиль для данного класса задай с длинной width: 960px;), затем каждую картинку выводи тоже div'ом -> <div style="display: inline; float: left; width: 240px;">
     
  7. МихаилГалузо

    МихаилГалузо Новичок

    С нами с:
    11 янв 2017
    Сообщения:
    29
    Симпатии:
    0
    Пропустил, для понимания $img_path = './uploads_images/'.$key["image"];
    --- Добавлено ---
    Идея понятна, мы заполняем родительский Див. Хорошо а изображение не будет выходить за бордюр(границы) род. Дива? Я тут копаю в google, что нужен Жаба скрипт при обращении к каждой ячейки таблицы и в цикл. Но попробую с Дивами.
    Эта вся бадяга нужна для вывода галереи многих картинок в виде таблицы.
     
  8. Vihorek

    Vihorek Новичок

    С нами с:
    16 янв 2017
    Сообщения:
    21
    Симпатии:
    2
    не нужно больше ничего, достаточно дивов
     
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    float-ами верстать прошлый век. Flex-ом надо. НО, если нужна именно таблица, не плитка адаптивная, а прям таблица, то генерируй таблицу, автор.
     
  10. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    на всякий случай,
    первая строка вытягивает из таблицы БД все столбцы и все строки.
    вторая строка вытягивает из полученной переменной одну строку
    поэтому код выглядит как то не правильно. Если тебе нужна вся таблица, то и выводить нужно всю таблицу. А если нужно выводить одну строку то и запрашивать из БД нужно одну строку. Если тебе нужно вывести в HTML таблицу аналогично тому, как выглядит таблица в БД,
    то это будет выглядеть примерно так:

    PHP:
    1. $result = mysql_query("SELECT * FROM table_products",$link);
    2.  
    3. echo "<table>";
    4.  
    5. while ( $row = mysql_fetch_array($result) ) { // тут получаем ассоциативный массив, ключами которого являются имена столбцов таблицы БД
    6.  
    7. echo "<tr>
    8.  
    9. <td>{$row['st1']}</td>
    10.  
    11.  
    12. <td>{$row['st2']}</td>
    13.  
    14.  
    15. <td>{$row['st3']}</td>
    16.  
    17.  
    18. <td>{$row['st4']}</td>
    19.  
    20. </tr>";
    21.  
    22. }
    23. // st1, st2, st3, st4 - это названия столбцов твоей таблицы в бд
    24. echo "</table>";
     
    МихаилГалузо нравится это.
  11. Vihorek

    Vihorek Новичок

    С нами с:
    16 янв 2017
    Сообщения:
    21
    Симпатии:
    2
    я вдаваться в подробности не стану, скажу лишь только то, что я верстаю по системе 960greed system. меня это вполне устраивает
     
  12. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    А у меня знакомый есть, до сих пор верстает таблицами, его тоже это вполне устраивает.
     
  13. Vihorek

    Vihorek Новичок

    С нами с:
    16 янв 2017
    Сообщения:
    21
    Симпатии:
    2
    поздравляю, конечно. но вы хотя бы немного знаете о 960gs? меня резиновые макеты не интересуют
     
  14. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Знаю. Не агрись. Флексы это не только про резину. Это нативное решение проблем, которые раньше можно было разрулить только костылями. И 960gs - один из таких костылей, созданных, когда флексов еще не было. На них и статичная верстка делается без малейших проблем. Другое дело, что оно легко и просто позволяет делать N-колоночные макеты вообще без особых усилий и сторонних средств.
     
  15. Vihorek

    Vihorek Новичок

    С нами с:
    16 янв 2017
    Сообщения:
    21
    Симпатии:
    2
    не агрюсь) но я и не считаю div верстку уже мертвой, она еще долго поживет)
     
  16. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    А я ничего не говорил против div-верстки. Упрекнули в том, что я не знаю про 960гридсис, а сами не знаете про flexbox ;)

    Флексы - эта тоже блочная верстка, с теми же div-ами, только интереснее и гибче, чем все, что было раньше. Чего только стоит автоматическое вертикальное выравнивание внутри контейнера, без бубнов и смс.
     
  17. Vihorek

    Vihorek Новичок

    С нами с:
    16 янв 2017
    Сообщения:
    21
    Симпатии:
    2
    сказали, что не актуально, вот я и встал в защиту)))) ладно, побережем байты. Удачи всем!=)
     
  18. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    В общем, попробуйте на досуге. Как распробуете - за уши будет не оттащить :)
     
  19. Vihorek

    Vihorek Новичок

    С нами с:
    16 янв 2017
    Сообщения:
    21
    Симпатии:
    2
    попробую, тем более что верстка для меня более интересная тема, нежели программная часть) Спасибо!
     
  20. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    Мне верстка кажется самой скучной частью ибо слишком просто. Наверное, чего-то не понимаю...
     
  21. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Все гораздо проще - каждому свое. Никто не обязан любить то же, что и кто-то другой.
     
    denis01 нравится это.
  22. General_App

    General_App Новичок

    С нами с:
    25 янв 2016
    Сообщения:
    51
    Симпатии:
    1
    PHP:
    1. $l_x1=$l_x-3;   $l_x2=$l_x+3;
    2. $l_y1=$l_y-3; $l_y2=$l_y+3;
    3. $qwe=43;                  // 43норма для 240px
    4. //  карта
    5. if ($result = $db->query("SELECT *  FROM loka WHERE (x>'$l_x1' AND x<'$l_x2' AND y>'$l_y1' AND y<'$l_y2') ORDER BY y,x"))
    6.      while( $n2 = $result->fetch_array() )  {  
    7.      $zaslon=$n2["zaslon"];
    8.  
    9. echo "<img class='titl' src='/img/t/$n2[tile].png' width='$qwe' height='$qwe'   alt=''>";
    10. echo "<img class='titl1' src='/img/t/$n2[tile1].png' width='$qwe' height='$qwe'   alt=''>";
    11. echo "<img class='titl2' src='/img/t/$n2[tile2].png' width='$qwe' height='$qwe'    alt=''>";
    12. Echo "<img class='titl3' src='/img/$zaslon.png' width='$qwe' height='$qwe'   alt=''>";
    13. echo "<img class='titl21' src='/img/0.png' width='$qwe' height='$qwe'   alt=''>";
    14.  
    15. IF ($n2["x"]==$l_x-1 AND $n2["y"]==$l_y ) {
    16.     echo "<img class='titl3' src='/img/t/player.png' width='$qwe' height='$qwe'    alt=''>";
    17.     }
    18. // ТУТ МНОГО БЫДЛО КОДА
    19.  
    20.                     IF ($n2["x"]==$l_x+2 AND $l_x!=20)  {Echo "<div>";}  // Вот эта строчка отвечает за перенос на новую строку можно <br> картинки также будут, Да и именно <div> а не </div>
    21.                
    22.  
    23.                            
    24.     }
    Загружает три спрайта друг поверх друга , потом рядом три, и так пять раз, Потом на новый абзац переходим и тк дальше в итоге 5х5 грузит.
    [​IMG]
     
    #22 General_App, 23 янв 2017
    Последнее редактирование: 23 янв 2017
  23. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    А не лучше ли собирать такие вещи на стороне клиента сразу?...ну там, в канвасе через JS?
     
  24. General_App

    General_App Новичок

    С нами с:
    25 янв 2016
    Сообщения:
    51
    Симпатии:
    1
    Для мобилок а там JS хз половина браузеров не поддерживают. Да и не знаю я его толком.
     
  25. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Чушь. Сорри за грубость, но это чушь. Жмакни там show all, если интересна общая картина.
    С этого надо было начинать :) А то браузеры не поддерживают... А перемещения у вас в игре как реализованы? Неужто каждый кадр считается сервером?