2016-03-27 29 views
0

PHP的數組我有一個數組根據我的查詢是這樣的:產生來自爆炸成HTML

Array 
(
[0] => stdClass Object 
    (
     [ID_REQUEST] => 28 
     [DEPARTEMENT] => IT 
     [company] => TMS 
     [BULAN] => 03 
     [NUMBER_OF_LETTER] => 008 
     [NAMA_TIPE] => Perbaikan 
     [NAMA_ITEM] => 2 
     [first_name] => Ahmad 
     [last_name] => Fadly 
     [TANGGAL_PERSETUJUAN] => 
     [TANGGAL_TERIMA] => 2016-03-26 00:00:00 
     [PERKIRAAN_SELESAI] => 2016-03-26 00:00:00 
     [TANGGAL_SELESAI] => 
     [PELAKSANA] => Dzil 
     [KELUHAN] => Test 
     [CATATAN] => Saja 
     [nama_departement] => IT 
    ) 

[1] => stdClass Object 
    (
     [ID_REQUEST] => 5 
     [DEPARTEMENT] => IT 
     [company] => TMS 
     [BULAN] => 03 
     [NUMBER_OF_LETTER] => 003 
     [NAMA_TIPE] => Permintaan 
     [NAMA_ITEM] => 6 
     [first_name] => Indah 
     [last_name] => Kurnia 
     [TANGGAL_PERSETUJUAN] => 2016-03-25 08:00:00 
     [TANGGAL_TERIMA] => 2016-03-25 09:00:00 
     [PERKIRAAN_SELESAI] => 2016-03-25 10:00:00 
     [TANGGAL_SELESAI] => 2016-03-25 11:00:00 
     [PELAKSANA] => Dzil 
     [KELUHAN] => Refill toner 85 A 
     [CATATAN] => Sudah di refill 
     [nama_departement] => LCL 
    ) 

[2] => stdClass Object 
    (
     [ID_REQUEST] => 4 
     [DEPARTEMENT] => IT 
     [company] => TMS 
     [BULAN] => 03 
     [NUMBER_OF_LETTER] => 002 
     [NAMA_TIPE] => Perbaikan, Permintaan 
     [NAMA_ITEM] => 1,2,3,4,5,6 
     [first_name] => Hud 
     [last_name] => Adityawan 
     [TANGGAL_PERSETUJUAN] => 2016-03-25 03:00:00 
     [TANGGAL_TERIMA] => 2016-03-24 03:00:00 
     [PERKIRAAN_SELESAI] => 2016-03-25 03:00:00 
     [TANGGAL_SELESAI] => 2016-03-25 04:00:00 
     [PELAKSANA] => Awan 
     [KELUHAN] => Minta naik gaji dong 
     [CATATAN] => Iya, go ahead. Appproved 
     [nama_departement] => IT 
    ) 

[3] => stdClass Object 
    (
     [ID_REQUEST] => 3 
     [DEPARTEMENT] => IT 
     [company] => JFS 
     [BULAN] => 03 
     [NUMBER_OF_LETTER] => 001 
     [NAMA_TIPE] => Perbaikan 
     [NAMA_ITEM] => 2,3,4,5 
     [first_name] => Yakub 
     [last_name] => Yusuf 
     [TANGGAL_PERSETUJUAN] => 2016-03-25 03:00:00 
     [TANGGAL_TERIMA] => 2016-03-24 03:00:00 
     [PERKIRAAN_SELESAI] => 2016-03-25 03:00:00 
     [TANGGAL_SELESAI] => 2016-03-25 04:00:00 
     [PELAKSANA] => Dzil 
     [KELUHAN] => Mohon diperiksa login novell saya karena saya tidak bisa login 
     [CATATAN] => Akan kami cek jaringan tersebut 
     [nama_departement] => Ekspor 
    ) 

) 

請參閱[NAMA_ITEM]。這也許是簡單的觀點。

[0] => stdClass Object 
(
     [NAMA_ITEM] => 2 
) 

[1] => stdClass Object 
(
     [NAMA_ITEM] => 6 
) 

[2] => stdClass Object 
(
     [NAMA_ITEM] => 1,2,3,4,5,6 
) 
[3] => stdClass Object 
(
     [NAMA_ITEM] => 2,3,4,5,6 
) 

如果看到,將該字符串分解爲基於,分隔符的數組。

在html中。我的代碼是這樣的:

<table class="table table-striped table-bordered table-responsive table-hover" id="table-request" width="100%"> 
    <thead> 
     <tr> 
     <th>No</th> 
     <th>Nomor Request</th> 
     <th>Jenis Request</th> 
     <th>L</th> // FOR CODE 1 
     <th>P</th> // FOR CODE 2 
     <th>M</th> // FOR CODE 3 
     <th>C</th> // FOR CODE 4 
     <th>N</th> // FOR CODE 5 
     <th>LL</th> // FOR CODE 6 
     <th>Nama</th> 
     <th>Dept</th> 
     <th>Tgl/Jam Permintaan</th> 
     <th>Tgl/Jam Penerimaan</th> 
     <th>Tgl/Jam Perkiraan</th> 
     <th>Tgl/Jam Selesai</th> 
     <th>Pelaksana</th> 
     <th>Uraian Keluhan</th> 
      <th>Tindakan Yang Diambil</th> 
     </tr> 
    </thead> 

這是我representated:

<tbody> 

<?php      
foreach ($coba as $key => $row): 
    echo "<tr>"; 
    echo "<td>" . $key . "</td>"; 
    echo "<td>$row->DEPARTEMENT/$row->company/$row->BULAN/$row->NUMBER_OF_LETTER </td>"; 
    echo "<td>$row->NAMA_TIPE </td>"; 

    **// The Problem** 
    $nama_item = explode(",", $row->NAMA_ITEM); 
    foreach ($nama_item as $key => $v): 
    echo "<td>v</td>"; 
    endforeach; 

    echo "</tr>"; 
endforeach; 
?> 

</tbody> 

的結果是這樣的:

+----------------------------------------+ 
| L | P  | M | C | N | LL  | NAMA | 
+----------------------------------------+ 
| 2 | AHMAD | | | |  |  | 
| 6 | INDAH | | | |  |  | 
| 1 | 2  | 3 | 4 | 5 | 6  | HUD | 
| 2 | 3  | 4 | 5 | 6 | YAKUB |  | 
+----------------------------------------+ 

它lookeds這麼彆扭。我需要這樣的:

+--------------------------------+ 
| L | P | M | C | N | LL | NAMA | 
+--------------------------------+ 
| | 2 | | | | | AHMAD | 
| | | | | | 6 | INDAH | 
| 1 | 2 | 3 | 4 | 5 | 6 | HUD | 
| | 2 | 3 | 4 | 5 | 6 | YAKUB | 
+--------------------------------+ 

它看起來很簡單,但我堆積了一個小時。爲了幫助,它非常感激。謝謝。

回答

1

如果我正確理解你的問題,你NAMA_ITEM包含應分配的項目指標,所以我會做這個:

$nama_item = explode(",", $row->NAMA_ITEM); 
for($i = 1 ; $i <= 6 ; ++$i): 
    echo in_array($i, $nama_item) ? "<td>$i</td>" : "<td></td>"; 
endfor; 

那麼這是什麼意思是,你總是通過6項指標環,只有當$nama_item的數組索引存在(in_array)時,您會回顯它。否則,請回復空的td將其填充。