2016-12-11 6 views
0

Ich arbeite an einem Tag, wo ich ein verknüpftes Bild haben könnte, das eine Datenmap-Hervorhebung hat und wie kann ich das machen, wenn else Statement in einem funktioniert Attribut? und auf der Aussage wird aus einem anderen Attribut bestehen.If else Statement innerhalb eines Attributs und eines Attributs in einem If else Statement

hier mein Code:

<map id="ground" name="ground"> 
    <?php 

    $sql = "SELECT * FROM stall s 
    LEFT JOIN tenant t 
    ON t.stall_id = s.stall_id 
    LEFT JOIN rent r 
    ON r.tenant_id = t.tenant_id 
    AND r.rent_status = 1 
    WHERE s.stall_id = 1";   

    $query = $conn->prepare($sql); 
    $query->execute(); 
    $fetch = $query->fetchAll(); 

    foreach ($fetch as $key => $value) { ?> 
    <area id="9" shape="rect" coords="9,98,46,117" data-toggle="modal" class = "stallstyle1" 
    href="#stall_modal9" 
    value="<?php echo $value['rent_status']?>" 
    <?php 
    if ($value ['rent_status'] == 1) { 
    data-maphilight='{"strokeColor":"008000","strokeWidth":3,"fillColor":"7CFC00","fillOpacity":0.6,"alwaysOn":true}'> 
    } else { 
    data-maphilight='{"strokeColor":"FF0000","strokeWidth":3,"fillColor":"FF3333","fillOpacity":0.6,"alwaysOn":true}'> 
    } 
    ?> 

<?php } ?> 

Antwort

0

ternarer-Operator ist einfach und verständlich anstatt if/else. Verwenden Sie also den ternären Operator, um den Wert des Attributs data-maphilight zu erhalten. Und verwenden Sie es dann in Ihrem Tag. Ich hoffe, dass der folgende Code funktioniert, wenn Sie die Werte aus der Datenbank beziehen.

<map id="ground" name="ground"> 
    <?php 

    $sql = "SELECT * FROM stall s 
    LEFT JOIN tenant t 
    ON t.stall_id = s.stall_id 
    LEFT JOIN rent r 
    ON r.tenant_id = t.tenant_id 
    AND r.rent_status = 1 
    WHERE s.stall_id = 1";   

    $query = $conn->prepare($sql); 
    $query->execute(); 
    $fetch = $query->fetchAll(); 

    foreach ($fetch as $key => $value){ 

    $maphilight= ($value['rent_status'] == 1)?'{"strokeColor":"008000","strokeWidth":3,"fillColor":"7CFC00","fillOpacity":0.6,"alwaysOn":true}':'{"strokeColor":"FF0000","strokeWidth":3,"fillColor":"FF3333","fillOpacity":0.6,"alwaysOn":true}'; 
    ?> 
    <area id="9" shape="rect" coords="9,98,46,117" data-toggle="modal" class = "stallstyle1" 
    href="#stall_modal9" value="<?php echo $value['rent_status'];?>" data-maphilight='<?php echo $maphilight;?>'> 
<?php } ?> 
+0

Die Farben ändern sich immer noch nicht. –

+0

Was ist der Wert von $ value ['rent_status']. –

+0

Der Wert von rent_status ist 1 und wenn ich ihn auf 0 ändere verschwindet das Mapping –