Hallo, ich stehe vor einem mittelschweren Problem.
Ich möchte, einen bestimmten Teil eines html-Codes ausblenden wenn einen DB-Abfrage leer ist.
Hier der Code, der ausgeblendet werden soll:
|
HTML Code
|
1
2
3
4
5
6
7
|
<tr>
<td valign="top">
<b>360° Panorama</b><br /><br />
<a href="../panorama/<?php renderSingleListingItemNoCaption($listingID, "panorama") ?>/<?php renderSingleListingItemNoCaption($listingID, "panorama") ?>.html" target="_new"><img src="../panorama/<?php renderSingleListingItemNoCaption($listingID, "panorama") ?>/<?php renderSingleListingItemNoCaption($listingID, "panorama") ?>.jpg"></a>
<br /><hr>
</td>
</tr>
|
Hier die Funktion:
|
PHP Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
function renderSingleListingItemNoCaption($listingID, $name)
{
// renders a single item on the listings page
// this time, without a caption, though...
global $conn, $config;
$listingID = make_db_extra_safe($listingID);
$name = make_db_extra_safe($name);
$sql = "SELECT listingsDBElements.field_value, listingsFormElements.field_type FROM listingsDBElements, listingsFormElements WHERE ((listingsDBElements.listing_id = $listingID) AND (listingsFormElements.field_name = listingsDBElements.field_name) AND (listingsDBElements.field_name = $name))";
$recordSet = $conn->Execute($sql);
if ($recordSet === false) log_error($sql);
while (!$recordSet->EOF)
{
$field_value = make_db_unsafe ($recordSet->fields[field_value]);
$field_type = make_db_unsafe ($recordSet->fields[field_type]);
if ($field_value != "")
{
if ($field_type == "select-multiple" OR $field_type == "option" OR $field_type == "checkbox")
{
// handle field types with multiple options
$feature_index_list = explode("||", $field_value);
while (list($feature_list_Value, $feature_list_item) = each ($feature_index_list))
{
echo "$feature_list_item";
} // end while
} // end if field type is a multiple type
elseif ($field_type == "price")
{
$money_amount = international_num_format($field_value);
echo "<br><b>$field_caption</b>: ".money_formats($money_amount);
} // end elseif
elseif ($field_type == "number")
{
echo "<br><b>$field_caption</b>: ".international_num_format($field_value);
} // end elseif
elseif ($field_type == "url")
{
echo "<a href=\"$field_value\" target=\"_new\">$field_value</a>";
}
elseif ($field_type == "email")
{
echo "<a href=\"mailto:$field_value\">$field_value</a>";
}
elseif ($field_type == "text" OR $field_type == "textarea")
{
if ($config[add_linefeeds] == "yes")
{
$field_value = nl2br($field_value); //replace returns with <br />
} // end if
echo $field_value;
}
else
{
echo "$field_value";
} // end else
} // end if ($field_value != "")
$recordSet->MoveNext();
} // end while
} // end renderSingleListingItemNoCaption
|
Im Normalfall steht in der DB ein Wert wie z.B 28-55p oder 500-8 oder 45-k9 aber bei einigen Einträgen ist hier kein Wert gesetzt (leer) und dann soll auch der o.g. html-Code nicht angezeigt werden.
Kann mir da einer weiter helfen?