2015-03-11 5 views
1

Я хочу показать больше результатов в другом столбце через foreach из базы данных, но я не могу заставить его работать.Как показать результаты в другом столбце через «Foreach»?

<div class="row"> 

        <div class="col-md-4"> 

         <?php 
         if (is_array($results)) 
         { 
         foreach ($results as $data) { ?> 
         <!-- User item starts --> 
         <div class="user-item"> 
          <!-- User action buttons --> 
          <div class="user-btns"> 
           <a href="#" class="btn btn-green btn-xs"><i class="fa fa-pencil"></i></a> 
           <a href="#" class="btn btn-red btn-xs"><i class="fa fa-times"></i></a> 
          </div> 
          <!-- Image --> 
          <img src="<?php echo $data->avatar ?>" alt="" class="img-responsive"> 
          <!-- User details --> 
          <div class="u-details"> 
           <h5><i class="fa fa-user"></i><?php echo $data->first_name . ' ' . $data->last_name ?></h5> 
           <h5><i class="fa fa-envelope"></i> <?php echo $data->email ?></h5> 
           <h5><i class="fa fa-user-md"></i> <?php echo $data->username ?></h5> 

          </div> 
          <div class="clearfix"></div> 
         </div> 
         <!-- User item ends --> 
         <?php } } ?> 


        </div> 

        <div class="col-md-4"> 

         <?php 
         if (is_array($results)) 
         { 
          foreach ($results as $data) { ?> 
           <!-- User item starts --> 
           <div class="user-item"> 
            <!-- User action buttons --> 
            <div class="user-btns"> 
             <a href="#" class="btn btn-green btn-xs"><i class="fa fa-pencil"></i></a> 
             <a href="#" class="btn btn-red btn-xs"><i class="fa fa-times"></i></a> 
            </div> 
            <!-- Image --> 
            <img src="<?php echo $data->avatar ?>" alt="" class="img-responsive"> 
            <!-- User details --> 
            <div class="u-details"> 
             <h5><i class="fa fa-user"></i><?php echo $data->first_name . ' ' . $data->last_name ?></h5> 
             <h5><i class="fa fa-envelope"></i> <?php echo $data->email ?></h5> 
             <h5><i class="fa fa-user-md"></i> <?php echo $data->username ?></h5> 

            </div> 
            <div class="clearfix"></div> 
           </div> 
           <!-- User item ends --> 
          <?php } } ?> 

        </div> 
</div> 

Как вы можете видеть, это две разные колонки. Я хочу сделать foreach и показать один набор информации в одном столбце, а другой - в другом. Однако приведенный ниже код возвращает одно и то же значение в обоих столбцах.

как я могу это сделать? Благодарю.

+0

Что для вашего набора? Можете ли вы объяснить, какой результат вы ожидали? –

+0

Хорошо, так вот что я хочу: http://gyazo.com/13a832df1651ee6ec7bfc7675b1b349d - Я хочу, чтобы имя отображалось в другом столбце с помощью файла foreach, но я не знаю, как это сделать. –

ответ

0

Вы повторяете каждый элемент результатов в обеих циклах, поэтому их результаты одинаковы. Почему бы не попробовать что-то вроде этого

<?php 
$cols = 3; 
?> 
<div class="row"> 
     <?php 
     if (is_array($results)) 
     { 
      for($i = 0 ; $i < $cols ; $i++) 
      { 
       echo " 
       <div class='col-md-".(12/$cols)."'>"; 
       for ($j = 0 ; $j < (count($results)/$cols) + 1 ; $j++) 
       { 
        if ($i * $cols + $j < count($results)) // make sure it won't give errors for array out of range.... 
        { 
         echo " 
         <div class='user-item'> 
          <div class='user-btns'> 
          <a href='#' class='btn btn-green btn-xs'><i class='fa fa-pencil'></i></a> 
          <a href='#' class='btn btn-red btn-xs'><i class='fa fa-times'></i></a> 
         </div> 
         <img src='".$results[$i* $cols + $j]->avatar."' alt=' class='img-responsive'/> 
         <div class='u-details'> 
          <h5><i class='fa fa-user'></i>".$results[$i* $cols + $j]->first_name . ' ' . $results[$i* $cols + $j]->last_name."</h5> 
          <h5><i class='fa fa-envelope'></i>".$results[$i* $cols + $j]->email."</h5> 
          <h5><i class='fa fa-user-md'></i>".$results[$i * $cols + $j]->username."</h5> 
         </div> 
         <div class='clearfix'></div>"; 
        } 
       } 
       echo " 
       </div>"; 
      } 
     } 
     ?> 

</div> 
+0

Это сработало. Благодарю. У меня есть дополнительная строка, как бы добавить это в дополнительную строку, чтобы в третьей строке отображались другие 3 результата? Благодарю. –

+0

Я отредактировал код, чтобы дать еще 1 результат в первом столбце. не уверен, что это вы имели в виду, - вы путаете строки с колонками? – pgee70

+0

Прошу прощения за любую путаницу, я имею в виду колонны, извините. С кодом, который вы указали, я могу отображать только 2 столбца informaiton. Я также покажу его в третьей колонке. Спасибо: –

Смежные вопросы