2015-12-07 5 views
0

Я искал повсюду, но не смог найти правильный ответ.Html table style first row with foreach

Как вы можете создать таблицу html, но только первую строку. (И если возможно als только первый столбец той же строки)

Но теперь эта сложная часть, я использую foreach с desc на ней. Поэтому я извлекаю данные из базы данных и не просто имею данные в моей таблице.

Вот что мой код выглядит следующим образом:

<table class="table sortable" id="voteResults" name="voteResults"> 
    <thead> 
    <tr> 
     <th>Keuze</th> 
     <th>Aantal punten</th> 
    </tr> 
    </thead> 

    @foreach($lists as $i => $list) 
    <tbody> 
     <tr> 
     <td>{{ $list->option }}</td> 
     <td>{{ $list->points }}</td> 
     </tr> 
    </tbody> 
    @endforeach 
</table> 

Но как я могу стиль только первый столбец? И если возможно, дайте ему изображение или пограничный цвет. (В основном каждый css

Я немного обновил свой код ($ i =>), при этом вы можете легко получить первый идентификатор столбца. Только следующая проблема: я не знаю, как стиль его с, если функцией .. (если $ я === 1 отдавание фон-цвет: красный, например)

+0

Что этот синтаксис: '@ foreach' –

+0

Это запрос:' $ списки = DB :: таблица ('Параметры') -> OrderBy ('точки', 'DESC') -> прибудете(); ' – Jeroen

+0

Вы не понимаете. Я спрашиваю, является ли это PHP ... –

ответ

0

A CSS-единственное решение:

.table tbody:nth-child(2) tr:first-child td:first-child { 
    border: 1px solid #cc0000; 
} 

выбирает первую строку внутри тела, то первый тд внутри этой строки.

https://developer.mozilla.org/en-US/docs/Web/CSS/%3Afirst-child

+0

Спасибо за ваш комментарий, но это дает тот же результат, что и все остальные, которые я нашел, это влияет на весь столбец, а не на одну строку. – Jeroen

+0

какой браузер вы используете? Можете ли вы попробовать эту скрипку: http://jsfiddle.net/doc_snyder/efLmcd2r/ - для меня она отображает красную рамку только вокруг первой ячейки в первой строке. –

+0

Да, это правильно, но вы не используете foreach, попробуйте сами по себе с проектом fres, некоторые данные в вашей базе данных и foreach, чтобы получить данные и показать их в своей таблице. Вы увидите, что весь первый столбец получает круглую границу, а не только одну строку. Кстати, я использую хром. – Jeroen

0

Вы можете просто обернуть его с <div /> или дать класс first к нему:

<td class="first">{{ $list->option }}</td> 

И в CSS:

.first {padding-left: 50px; background: url("50px-image.png") left top no-repeat;} 

В чистом PHP я хотел бы сделать:

$first = true; 
    @foreach($lists as $list) 
    <tbody> 
     <tr> 
     <td{{ ($first) ? ' class="first"' : "" }}>{{ $list->option }}</td> 
     <td>{{ $list->points }}</td> 
     {{ $first = false }} 
     </tr> 
    </tbody> 
    @endforeach 
+0

Спасибо за ваш комментарий, но теперь он берет все первые td в первом столбце, я только хочу, чтобы он взял первую строку. – Jeroen

+0

К сожалению, это не сработало, larael выведет '$ first = true' как '1' на моем экране. Но я обновил свой код, Думаю, я сейчас очень близко! – Jeroen