2016-05-30 43 views
1

時纔回顯字段要避免在屏幕上顯示打開的行,如何才能達到5個vip字段,只有在其中存在值時纔回顯?僅當值爲

感謝,尼

$db = new mysqli('host', 'user', 'pass', 'dbase'); 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 
$query = " 
    SELECT 
     user.FName, 
     user.LName, 
     user.HerbalifeID, 
     user.UplineS, 
     registratie.PartnerFName as pfn, 
     registratie.PartnerLName as pln, 
     registratie.NaamVIP1 as vip1, 
     registratie.NaamVIP2 as vip2, 
     rgistratie.NaamVIP3 as vip3, 
     registratie.NaamVIP4 as vip4, 
     registratie.NaamVIP5 as vip5 
    FROM 
     registratie 

    INNER JOIN user 
     ON registratie.userID = user.UserID 
     AND registratie.eventID =127; 
"; 
$result = $db->query($query) or die($db->error.__LINE__); 

if ($result->num_rows) { 
    while ($row = $result->fetch_object()) { 
     echo "{$row->FName} {$row->LName} {$row->HerbalifeID} {$row->pfn} {$row->pln}<br> 
     {$row->vip1}{$row->vip2}{$row->vip3}{$row->vip4}{$row->vip5})<br><br>"; //only 
    } 
} else { 
    echo 'No Results'; 
} 
+0

你嘗試isset()函數的功能了嗎?你也可以使用高級操作員? : –

+0

'isset'將匹配一個空值,用'!empty()'代替。 –

回答

1
if(!empty({$row->vip1}) and !empty({$row->vip2}) and !empty({$row->vip3}) and !empty({$row->vip4}) and !empty({$row->vip5})){ 
    echo "{$row->FName} {$row->LName} {$row->HerbalifeID} {$row->pfn} {$row->pln}<br>{$row->vip1}{$row->vip2}{$row->vip3}{$row->vip4}{$row->vip5})<br><br>"; 
}else{ 
    echo "{$row->FName} {$row->LName} {$row->HerbalifeID} {$row->pfn} {$row->pln})<br><br>"; 

} 
0

我不知道如果我得到它。 如果你想,只有當所有嘉賓都充滿打印,使用下面的代碼:

//... 
$range = range(1,5); 
while ($row = $result->fetch_object()) { 

    //This will be printed in every iteration 
    echo "{$row->FName} {$row->LName} {$row->HerbalifeID} {$row->pfn} {$row->pln}"; 

    //if one of the vips has no value, go to the next $row 
    foreach($range as $r){ 
     $vipColumn = "vip$r"; 
     if(empty($row->$vipColumn)){ 
      continue 2; //breaks both 'foreach' and 'while' loops 
     } 
    } 

    //This only echo when all vips has values 
    echo "<br>{$row->vip1}{$row->vip2}{$row->vip3}{$row->vip4}{$row->vip5})<br><br>"; 

} 
//... 
+0

抱歉,卡洛斯,我的意思是它應該僅在那裏有一個值, 因此它可以是1,2,3,4或5個vips。 – Benny

+0

所以,我認爲它會做的工作 – CarlosCarucce

+0

我已經改爲>>>繼續1; – Benny