You are not logged in.

  • Login

1

Thursday, July 8th 2010, 8:25pm

html ausblenden, wenn Abfrage leer

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?

This post has been edited 1 times, last edit by "Pionier" (Jul 15th 2010, 8:02pm)


2

Thursday, July 8th 2010, 9:47pm

in pseudocode würde ich das so umsetzen:
if(!empty($db_inhalt))
include programm.php
//oder nur methodenaufruf
renderSingleListingItemNoCaption($listingID, $name)

3

Wednesday, July 14th 2010, 12:55pm

WO genau ist denn jetzt das Problem? Irgendwie verstehe ich es nicht?

4

Thursday, July 15th 2010, 8:02pm

Sorry, für meine späte Antwort. Aber das Problem konnte ich lösen.

Similar threads

Social bookmarks