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:
Hier die Funktion:
Alles anzeigen
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?
Ich möchte, einen bestimmten Teil eines html-Codes ausblenden wenn einen DB-Abfrage leer ist.
Hier der Code, der ausgeblendet werden soll:
Quellcode
- <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:
Quellcode
- 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?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Pionier ()