2017-07-17 19 views
0

首先感謝我的英語不好。我想問你如何從XML中跳過foreach循環,如果一個值在數據庫中。如果數據庫的值相同,則跳過foreach

下面是從XML中的foreach代碼:

$xml=simplexml_load_file("http://localhost:80/ijarah/webservice/show_data_mobil.xml") or die("Error: Cannot create object"); 
foreach($xml->children() as $mobil){ 
    echo $mobil->nama; 
    echo "<br>"; 
} 

而結果:

Toyota Avanza 2012 B 4230 XCM 
Toyota Innova 2004 B 12349 DAC 
Honda Carrens 2002 B 1408 N0H 
Honda Supra X 2007 B 6754 NAC 
Yamaha Vixion 2013 B 1564 TBR 
Honda Supra 2002 B 8764 ZMN 
Honda Supra Fit 2007 B 5533 KAC 

這是我的數據庫中的過濾器代碼

$getnas = $con->query("select * from transaksi_pembiayaan where STATUS='Belum Lunas'"); 
    while ($row = $getnas->fetch_assoc()) { 
     $getBar = $con->query("select id_barang from pengajuan where id_nasabah='$row[id_nasabah]'"); 
     while ($rows = $getBar->fetch_assoc()) { 
      $getBarang = $con->query("select nama_barang from barang where id_barang='$rows[id_barang]'"); 
      while ($rok = $getBarang->fetch_assoc()) { 
        echo $rok['nama_barang']; 
        echo '<br>'; 
       } 
      } 
     } 

而結果:

Honda Carrens 2002 B 1408 N0H 
Honda Supra X 2007 B 6754 NAC 

那麼,如何從數據庫過濾器中跳過數據foreach循環xml?換句話說,這是我想要基於xml和數據庫過濾器的結果。

Toyota Avanza 2012 B 4230 XCM 
Toyota Innova 2004 B 12349 DAC 
Honda Carrens 2002 B 1408 N0H <- Needs to be skipped 
Honda Supra X 2007 B 6754 NAC <- This one too 
Yamaha Vixion 2013 B 1564 TBR 
Honda Supra 2002 B 8764 ZMN 
Honda Supra Fit 2007 B 5533 KAC 

我該怎麼做?謝謝。

+0

IM假設'1408'是一個ID? – Alex

回答

0

存儲數據庫過濾器輸出數組:

$filterOutput=array(); 
$getnas = $con->query("select * from transaksi_pembiayaan where STATUS='Belum Lunas'"); 
while ($row = $getnas->fetch_assoc()) 
{ 
    $getBar = $con->query("select id_barang from pengajuan where id_nasabah='$row[id_nasabah]'"); 
    while ($rows = $getBar->fetch_assoc()) 
    { 
     $getBarang = $con->query("select nama_barang from barang where id_barang='$rows[id_barang]'"); 
     while ($rok = $getBarang->fetch_assoc()) 
     { 
//   echo $rok['nama_barang']; 
//   echo '<br>'; 
      $filterOutput[]=$rok['nama_barang']; 
     } 
    } 
} 

然後使用濾波器輸出:

$xml=simplexml_load_file("http://localhost:80/ijarah/webservice/show_data_mobil.xml") or die("Error: Cannot create object"); 
foreach($xml->children() as $mobil) 
{ 
    if (in_array($mobil->nama,$filterOutput)) 
    { 
     continue; 
    } 
    echo $mobil->nama; 
    echo "<br>"; 
} 
+0

Omg它的工作。無論你是誰,都希望你永遠身體健康。非常感謝! – Fahmi

+0

如果答案適用於您,您應該將其標記爲已接受(並且,最好是upvote)這就是如何工作.... – FKEinternet