Sherif ElShahawy
Sherif ElShahawy

Reputation: 1

Laravel 8 Combine HTML table column if same header

Okay so I am creating an election website I have a table getting the number votes of the Candidates from every section, my problem is that I am getting more than one column with the same candidate name , I need to merge all column with the same header into 1 column and the votes will be below each other. Table Image:

enter image description here

Table Code {index.blade.php}:

    <table class="table table-sm table-hover table-dark text-center">
        <thead class="text-center" style="font-weight:bolder;color:green">
            <tr>
                <td style="padding: 20px;">اضافه مرشح</td>
                <td style="padding: 20px;">اسم مرشح</td>
                <td style="padding: 20px;">Action</td> 
    <?php
                    
                     $counter = App\Models\Morshah::select('name')->where('dayra','=>','5')->groupBy('name')->get()->count();  
    
                    
                    ?>
                    @foreach($morshah as $morshahs) 
                    
                    
                    <td style="padding: 20px;">{{$morshahs->name}}</td>
                    @endforeach 
                    
                <td style="padding: 20px;">الباطل</td>
                <td style="padding: 20px;">الصحيح</td>
                <td style="padding: 20px;">الحضور</td>
                <td style="padding: 20px;">الدائره</td>
                <td style="padding: 20px;">اللجنه</td>
                
            </tr>
        </thead>
        <tbody>
            <?php $morshaheen = App\Models\Morshah::where('dayra','=','5')->get(); //dd($morshaheen);      ?>
    @if(count($data)>0)
            <tbody class="">
                @foreach($data as $datas)
                    <tr>
                    {!! Form::open(['action' => ['AfterDaysController@addMorshah',$datas->id],'method' => 'POST','style'=>'box-shadow:3px 3px 15px;']) !!}
                        <div class="form-group">
                           {{-- {{Form::hidden('_method','PUT')}} --}}
                           
                   <td>{{Form::submit('اضافه مرشح',['class' => 'btn-lg btn-warning'])}}</td>
                   <td> {{Form::text('name','',['class' => 'form-control'])}}
                    {{Form::hidden('dayra',$datas->dayra,['class' => 'form-control '])}}
                    {{Form::hidden('lagna',$datas->lagna,['class' => 'form-control '])}}
                </td>
                   {{ Form::close() }}
                   {!! Form::open(['action' => ['AfterDaysController@update',$datas->id],'method' => 'POST','style'=>'box-shadow:3px 3px 15px;']) !!}
                         <div class="form-group">
                            {{Form::hidden('_method','PUT')}}
                    <td>{{Form::submit('تعديل',['class' => 'btn-lg btn-warning'])}}</td>
                   @foreach($morshah as $morshahs)
    
                   @if($morshahs->dayra == $datas->dayra && $morshahs->lagna == $datas->lagna)
                   <td>{{Form::text('votes',$morshahs->votes,['class' => 'form-control'])}}</td>
                   @else
                   <td>{{Form::text('votes','',['class' => 'form-control'])}}</td>
                   @endif
                   @endforeach
                    
    
    
    
    
    
    
                    <td>{{Form::text('wrong',$datas->wrong,['class' => 'form-control'])}}</td>
                    <td>{{Form::text('right',$datas->right,['class' => 'form-control'])}}</td>
                    <td>{{Form::text('attend',$datas->attend,['class' => 'form-control'])}}</td>
                    
                </div>
                {{ Form::close() }}
                <?php
                if($datas->dayra == '5'){
                    $dayra = "اول المنتزه";
                }else if($datas->dayra == '7'){
                    $dayra = "ثان المنتزة";
                }else if($datas->dayra == '8'){
                    $dayra = "ثالث المنتزة";
                }else if($datas->dayra == '9'){
                    $dayra = "اول الرمل";
                }else if($datas->dayra == '10'){
                    $dayra = "ثان الرمل";
                }else if($datas->dayra == '11'){
                    $dayra = "سيدى جابر";
                }else if($datas->dayra == '12'){
                    $dayra = "باب شرقى";
                }else if($datas->dayra == '13'){
                    $dayra = "محرم بك";
                }else if($datas->dayra == '15'){
                    $dayra = "العطارين";
                }else if($datas->dayra == '16'){
                    $dayra = "المنشية";
                }else if($datas->dayra == '17'){
                    $dayra = "الجمرك";
                }else if($datas->dayra == '19'){
                    $dayra = "كرموز";
                }else if($datas->dayra == '20'){
                    $dayra = "اللبان";
                }else if($datas->dayra == '21'){
                    $dayra = "مينا البصل";
                }else if($datas->dayra == '22'){
                    $dayra = "الدخيلة";
                }else if($datas->dayra == '23'){
                    $dayra = "اول العامرية";
                }else if($datas->dayra == '24'){
                    $dayra = "ثان العامرية";
                }else if($datas->dayra == '26'){
                    $dayra = "برج العرب";
                }
                ?>
                <td style=""><?php echo $dayra; ?></td>
                <td>{{$datas->lagna}} لجنه</td>
                   </tr>
                
                @endforeach
    
                </tbody>
    @endif
        </tbody>
    </table>

public function index_montaza1() {

        $datas = AfterDay::orderBy('id','asc')->where(['dayra'=>'5'])->get();
        $morshah = Morshah::orderBy('id','asc')->where(['dayra'=>'5'])->get();

    return view('after_montaza1.index')->with('data',$datas)->with(compact('morshah'));
}

Upvotes: 0

Views: 418

Answers (1)

STA
STA

Reputation: 34698

You can't combine as you want, but you can ignore the duplicate data with array_unique():

foreach (array_unique($data) as $datas) {
   // Do stuff with $d ...
}

Upvotes: 1

Related Questions