Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Две колонки.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
event
Отправлено: 27 Декабря, 2011 - 01:09:20
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Привет.
Есть код:
PHP:
скопировать код в буфер обмена
  1. function languageslist() {
  2.         $ret = array();
  3.         $res = sql_query("SELECT id, name FROM languages ORDER BY sort ASC");
  4.         while ($row = mysql_fetch_array($res))
  5.                 $ret[] = $row;
  6.         return $ret;
  7. }
  8.  
  9. $cats = languageslist();
  10. foreach ($cats as $row){
  11.         $s .= "<input type='checkbox'  name=" . htmlspecialchars(strtolower($row["name"])) ." value=" . $row["id"] .">".htmlspecialchars($row["name"])."<br />";
  12.         }
  13. tr($tracker_lang['type']."<br />", $s, 1);


На выходе получаю, вот такую картину:



А как сделать чтобы все это разделилос на две колонки, и вышло так:



Заранее спасибо.
 
 Top
Pavelbeginner
Отправлено: 27 Декабря, 2011 - 04:35:49
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010  


Помог: 1 раз(а)




Используйте таблицы. Прочитайте про теги table, tr, td.

(Отредактировано автором: 27 Декабря, 2011 - 04:46:56)

 
 Top
event
Отправлено: 27 Декабря, 2011 - 11:56:57
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Pavelbeginner
Спасибо, кЭп.
 
 Top
Woice
Отправлено: 27 Декабря, 2011 - 12:01:19
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Янв. 2011  


Помог: 0 раз(а)




А чего вы хотите? Не вижу "вопроса". Человек же вам верно уже подсказал или чего вы хотите? Оо
 
 Top
EuGen Администратор
Отправлено: 27 Декабря, 2011 - 12:09:09
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




А что такое tr ? Где определено?
По логике так:
PHP:
скопировать код в буфер обмена
  1.     function languageslist() {
  2.             $ret = array();
  3.             $res = sql_query("SELECT id, name FROM languages ORDER BY sort ASC");
  4.             while ($row = mysql_fetch_array($res))
  5.                     $ret[] = $row;
  6.             return $ret;
  7.     }
  8.      
  9.     $cats = languageslist();
  10.     $s='<table>';
  11.     $i=0;
  12.     foreach ($cats as $row){
  13.            if(!($i%2))
  14.            {
  15.               $s.='<tr>';
  16.            }
  17.             $s .= "<td><input type='checkbox'  name=" . htmlspecialchars(strtolower($row["name"])) ." value=" . $row["id"] .">".htmlspecialchars($row["name"])."</td>";
  18.             if(!($i%2))
  19.             {
  20.               $s.='</tr>';
  21.             }
  22.             $i++;
  23.       }
  24.    $s.='</table>';
  25.     tr($tracker_lang['type']."<br />", $s, 1);

Хотя нет, вывод же перекрестный. Чуть исправить надо.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
event
Отправлено: 27 Декабря, 2011 - 12:20:39
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




EuGen
Привет, вставил твой код, все по прежному.

PS: Спасибо что откликнулся.
 
 Top
EuGen Администратор
Отправлено: 27 Декабря, 2011 - 12:27:12
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Верно, я уже отписал - не учел, что у Вас вначале и в конце вывод требуется. Так должно помочь:
PHP:
скопировать код в буфер обмена
  1. function languageslist() {
  2.             $ret = array();
  3.             $res = sql_query("SELECT id, name FROM languages ORDER BY sort ASC");
  4.             while ($row = mysql_fetch_array($res))
  5.                     $ret[] = $row;
  6.             return $ret;
  7.     }
  8.      
  9.     $cats = languageslist();
  10.     $s='<table>';
  11.    $rgCats=array_chunk($cats,2);
  12.    foreach($rgCats as $rgColumn)
  13.    {
  14.       $s.='<tr>';
  15.       foreach($rgColumn as $row)
  16.       {
  17.         $s .= "<td><input type='checkbox'  name=" . htmlspecialchars(strtolower($row["name"])) ." value=" . $row["id"] .">".htmlspecialchars($row["name"])."</td>";
  18.       }
  19.       $s.='</tr>';
  20.    }
  21.    $s.='</table>';
  22.     tr($tracker_lang['type']."<br />", $s, 1);


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
event
Отправлено: 27 Декабря, 2011 - 12:31:01
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




EuGen
Большое спасибо, работает, тыкнул спасибку.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB