Ausgabe klappt nicht. Bitte um Hilfe

Hallo,

ich will eine Umkreissuche verändern, aber ich bin mit meinem Latein am Ende. Ich habe mir die Funktionsweise angeschaut, und versucht weitere Dateien auszulesen. Hier jetzt “email”

Oben im arrey habe ich “email” eingetragen, und in der Ausgabe gebe ich auch “email” mit

[quote]’ . htmlentities(utf8_decode($Eintrag->$email)) . '[/quote] hinter Name aus.

Findet jemand auf die Schnelle einen Fehler?
Denn ich habe schon viel rumprobiert, und bekomme “email” einfach nicht ausgegeben.

Das Hier ist ein Ausschnitt aus dem Code:

[code]$Ergebnis = $Suche->Suche($PLZ, $Entfernung, array($layoutcontents->sonst_street, $layoutcontents->sonst_ort, $layoutcontents->plz_feld, $layoutcontents->sonst_a, $layoutcontents->sonst_b, $layoutcontents->sonst_email,$layoutcontents->sonst_c, email), ‘DESC’,’’,$layoutcontents);

	if ($Ergebnis === false) {
		echo 'In der Umkreissuche ist ein Fehler aufgetreten. Haben Sie eine gültige Postleitzahl eingegeben?';
	} else if (!count($Ergebnis)) {
		echo 'Leider wurden keine Ergebnisse im Umkreis von ' . htmlentities($Entfernung) . ' km um die Postleitzahl ' . htmlentities($PLZ) . ' gefunden!';
	} else {
	$Name=$layoutcontents->sonst_a;
	$sonstb=$layoutcontents->sonst_b;
	$email=$layoutcontents->sonst_email;
	$sonstc=$layoutcontents->sonst_c;
	$street=$layoutcontents->sonst_street;
	$ortt=$layoutcontents->sonst_ort;
	$plzz=$layoutcontents->plz_feld;
		echo '<table>';
		foreach ($Ergebnis as $Eintrag) {
	  
		  if ($layoutcontents->sonst_a){
			echo '<tr><td style="border-bottom:1px solid black;" valign="top"><strong>' . htmlentities(utf8_decode($Eintrag->$Name)) . ' ' . htmlentities(utf8_decode($Eintrag->email)) . '</strong><br />' . "\n";
			
    } 
			 if ($layoutcontents->sonst_b){
   echo htmlentities(utf8_decode($Eintrag->$sonstb)) . '<br />' . "\n";
   }
		  if ($layoutcontents->sonst_c){
			echo htmlentities(utf8_decode($Eintrag->$sonstc)) . '<br />' . "\n";
			} 
		  if ($layoutcontents->sonst_street){
			echo htmlentities(utf8_decode($Eintrag->$street)) . '<br />' . "\n";
							}
		  if ($layoutcontents->sonst_ort){
			echo htmlentities(utf8_decode($Eintrag->$plzz)) . ' ' . htmlentities(utf8_decode($Eintrag->$ortt)) . '<br />' . "\n";
			}        
			echo '<br /><br />Entfernung (ca.):'.number_format($Eintrag->Entfernuung,1, ',','.') . ' km<br />' . "\n";
		    echo '</td>' . "\n";
	?>	

[/code]

MfG

Zitipp

[size=85]PS: Wie kann man mit BB Code PHP highlighting machen?[/size]

Als Unterschied fällt zumindest auf, daß oben ein $ vor email steht
und unten nicht ;o) Dann gibt es noch ein sonst_email ohne $.
Kann es sein, daß du da was durcheinandergebracht hast?
Die eine Schreibweise mit $ hat was mit Variablen zu tun, das andere
offenbar nach der Syntax mit einer Wertzuweisung bei Objekten.

Vielen Dank hoffmann. Ich habe das ganze nochmal überarbeitet. Da waren wohl noch überreste drinnen. Hier nochmal die neue Version. Geeänderte Stellen habe ich mit // Hier wurde was geändert markiert. Die Variable die ich ausgeben will heisst “email”

Vielleicht kann jemand nochmal drüber schauen, ob er was sieht, was ich vergessen habe. Vielen Dank!

[code] $Ergebnis = $Suche->Suche($PLZ, $Entfernung, array($layoutcontents->sonst_street, $layoutcontents->sonst_ort, $layoutcontents->plz_feld, $layoutcontents->sonst_a, $layoutcontents->sonst_b, $layoutcontents->sonst_c, email), ‘DESC’,’’,$layoutcontents); // Hier wurde was eingetragen

	if ($Ergebnis === false) {
		echo 'In der Umkreissuche ist ein Fehler aufgetreten. Haben Sie eine g&uuml;ltige Postleitzahl eingegeben?';
	} else if (!count($Ergebnis)) {
		echo 'Leider wurden keine Ergebnisse im Umkreis von ' . htmlentities($Entfernung) . ' km um die Postleitzahl ' . htmlentities($PLZ) . ' gefunden!';
	} else {
	$Name=$layoutcontents->sonst_a;
	$sonstb=$layoutcontents->sonst_b;
	$email=$layoutcontents->sonst_email;
	$sonstc=$layoutcontents->sonst_c;
	$street=$layoutcontents->sonst_street;
	$ortt=$layoutcontents->sonst_ort;
	$plzz=$layoutcontents->plz_feld;
	$email=email;  // Hier wurde was eingetragen
		echo '<table>';
		foreach ($Ergebnis as $Eintrag) {
	  
		  if ($layoutcontents->sonst_a){
			echo '<tr><td style="border-bottom:1px solid black;" valign="top"><strong>' . htmlentities(utf8_decode($Eintrag->$Name)) . ' ' . htmlentities(utf8_decode($Eintrag->$email)) . '</strong><br />' . "\n"; 

// Hier wurde was eingetragen

    } 
			 if ($layoutcontents->sonst_b){
   echo htmlentities(utf8_decode($Eintrag->$sonstb)) . '<br />' . "\n";
   }
		  if ($layoutcontents->sonst_c){
			echo htmlentities(utf8_decode($Eintrag->$sonstc)) . '<br />' . "\n";
			} 
		  if ($layoutcontents->sonst_street){
			echo htmlentities(utf8_decode($Eintrag->$street)) . '<br />' . "\n";
							}
		  if ($layoutcontents->sonst_ort){
			echo htmlentities(utf8_decode($Eintrag->$plzz)) . ' ' . htmlentities(utf8_decode($Eintrag->$ortt)) . '<br />' . "\n";
			}        
			echo '<br /><br />Entfernung (ca.):'.number_format($Eintrag->Entfernuung,1, ',','.') . ' km<br />' . "\n";
		    echo '</td>' . "\n";
	?>	
[/code]

Ich denke, es geht um das rot markierte, oder? Kriegst du denn keinen Syntax Error (on line xx)?

[quote] $Ergebnis = $Suche->Suche($PLZ, $Entfernung, array($layoutcontents->sonst_street, $layoutcontents->sonst_ort, $layoutcontents->plz_feld, $layoutcontents->sonst_a, $layoutcontents->sonst_b, $layoutcontents->sonst_c, email), ‘DESC’,’’,$layoutcontents); // Hier wurde was eingetragen

	if ($Ergebnis === false) {
		echo 'In der Umkreissuche ist ein Fehler aufgetreten. Haben Sie eine g&uuml;ltige Postleitzahl eingegeben?';
	} else if (!count($Ergebnis)) {
		echo 'Leider wurden keine Ergebnisse im Umkreis von ' . htmlentities($Entfernung) . ' km um die Postleitzahl ' . htmlentities($PLZ) . ' gefunden!';
	} else {
	$Name=$layoutcontents->sonst_a;
	$sonstb=$layoutcontents->sonst_b;
	$email=$layoutcontents->sonst_email;
	$sonstc=$layoutcontents->sonst_c;
	$street=$layoutcontents->sonst_street;
	$ortt=$layoutcontents->sonst_ort;
	$plzz=$layoutcontents->plz_feld;
	$email=email;  // Hier wurde was eingetragen
		echo '<table>';
		foreach ($Ergebnis as $Eintrag) {
	  
		  if ($layoutcontents->sonst_a){
			echo '<tr><td style="border-bottom:1px solid black;" valign="top"><strong>' . htmlentities(utf8_decode($Eintrag->[color=#FF0000]$[/color]Name)) . ' ' . htmlentities(utf8_decode($Eintrag->[color=#FF0000]$[/color]email)) . '</strong><br />' . "\n"; 

// Hier wurde was eingetragen

    } 
			 if ($layoutcontents->sonst_b){
   echo htmlentities(utf8_decode($Eintrag->[color=#FF0000]$[/color]sonstb)) . '<br />' . "\n";
   }
		  if ($layoutcontents->sonst_c){
			echo htmlentities(utf8_decode($Eintrag->[color=#FF0000]$[/color]sonstc)) . '<br />' . "\n";
			} 
		  if ($layoutcontents->sonst_street){
			echo htmlentities(utf8_decode($Eintrag->[color=#FF0000]$[/color]street)) . '<br />' . "\n";
							}
		  if ($layoutcontents->sonst_ort){
			echo htmlentities(utf8_decode($Eintrag->[color=#FF0000]$[/color]plzz)) . ' ' . htmlentities(utf8_decode($Eintrag->[color=#FF0000]$[/color]ortt)) . '<br />' . "\n";
			}        
			echo '<br /><br />Entfernung (ca.):'.number_format($Eintrag->Entfernuung,1, ',','.') . ' km<br />' . "\n";
		    echo '</td>' . "\n";
	?>	
[/quote]

Evtl. habe ich nicht alle gefunden, musst du selbst noch mal gucken…

Nee… das ist ja ein fertig es Script, in dem man die Ausgabespalten im Backend festlegen.
Desshalb auch im array : $layoutcontents->sonst_a !

Jetzt will ich diese dynamische Sache aber nicht, sonden will einfach eine neue Ausgabe festlegen. Diese soll “email” sein Nur wird diese nicht ausgegeben.

Kann jemand einen Fehler finden, warum “email” nicht ausgegeben wird, die anderen (dynamisch) ausgewälten Spalten aber schon?

Zitipp

Also entweder verstehe ich dein Problem nicht, oder du musst auch die Variable $email ausgeben, wenn du die Variable $email ausgeben möchtest…

[quote]$email=“email@domain.tld”; // Hier wurde was eingetragen
echo ‘

’;
foreach ($Ergebnis as $Eintrag) {

if ($layoutcontents->sonst_a){
echo ‘

’ . htmlentities(utf8_decode($Eintrag->$Name)) . ’ ’ . htmlentities(utf8_decode($email)) . ‘
’ . “\n”;
// Hier wurde was eingetragen
[/quote]

Hallo,

Ich versuche es nochmal zu erklären:
[b]

  1. Auslesen[/b]

Hier werden die Daten der Spalten aus der DB gelesen. zu “($layoutcontents->sonst_street” usw. kann ich die Spalten im Backend selber wählen. Hier habe ich auch meine Spalte “email” eingetragen.

$Ergebnis = $Suche->Suche($PLZ, $Entfernung, array($layoutcontents->sonst_street, $layoutcontents->sonst_ort, $layoutcontents->plz_feld, $layoutcontents->sonst_a, $layoutcontents->sonst_b, $layoutcontents->sonst_c, email), 'DESC','',$layoutcontents); // Hier wurde was eingetragen

2. Umschreiben

Hier werden die Variablen umgeschrieben?

} else { $Name=$layoutcontents->sonst_a; $sonstb=$layoutcontents->sonst_b; $email=$layoutcontents->sonst_email; $sonstc=$layoutcontents->sonst_c; $street=$layoutcontents->sonst_street; $ortt=$layoutcontents->sonst_ort; $plzz=$layoutcontents->plz_feld; $email=email; // Hier wurde was eingetragen echo '<table>'; foreach ($Ergebnis as $Eintrag) {

3. Ausgabe:

Hier wird meine Variable “email” ausgegeben

Problem:

Alle Daten von den Backend Variablen weden ausgegeben, nur meine “email” nicht.
Kann jemand den Fehler entdecken, warum email nicht ausgegeben wird?

Hoffe das Problem ist jetzt verständlich?

Zitipp