Harald: Wenn kein Wert, dann Ersatzwert anzeigen

Hallo

Ich habe die Datei: class.tx_holidayweb_pi15.php

Dort steht folgendes an Code drinnen:

/* THEMES start */  
  
$themes = explode(',', $rowHotel['theme_uids']);  
$themesnames = "";  
$ithemes=0;  
$themesnum = count($themes);  
oreach ($themes as $the)  
{  
$ithemes++;  
$themesnames .= $this->utilObj->getTheme($the);  
if($ithemes<$themesnum) $themesnames .= "&nbsp;&diams;&nbsp;";  
}  
$markHotel['###THEMES###'] = $themesnames;  
$themesnames="";  
  
/* THEMES ende */

Gerne möchte, dass wenn kein Thema vorhanden ist, dass ein Ersatzwert angezeigt wird.

Leider ist mir diese Umsetzung nicht möglich und bitte um eure Hilfe!

Danke und LG
Harry

  1. "isset" ist die Anweisung, die Du suchst (prüft, ob ein Wert vorhanden ist oder nicht).

    Gruß, LX

    --
    RFC 1925, Satz 3: Mit ausreichendem Schub fliegen Schweine ganz wunderbar. (...)
    1. "isset" ist die Anweisung, die Du suchst (prüft, ob ein Wert vorhanden ist oder nicht).

      Gruß, LX

      Hi LX

      LEider kann ch mit "Isset" nichts anfangen.
      Gehört das in meinen Code?

      Gruß
      Harry

      1. Hallo Harald,

        LEider kann ch mit "Isset" nichts anfangen.

        RTFM! Vermutlich wirst du aber eher empty() brauchen.

        Gehört das in meinen Code?

        Wohin denn sonst? Eigne dir doch *bitte* *erst* die absoluten Grundlagen einer Sprache an *bevor* du fragst oder lass es jemanden machen der sich damit auskennt (auch wenn der dann Geld kostet).

        Gruß,
        Tobias

        1. Wohin denn sonst? Eigne dir doch *bitte* *erst* die absoluten Grundlagen einer Sprache an *bevor* du fragst oder lass es jemanden machen der sich damit auskennt (auch wenn der dann Geld kostet).

          Gruß,
          Tobias

          Hi Tobias

          Ich denke dass du das Wort FORUM nicht richtig verstehst.
          Das sollen doch alle Fragen dürfen oder gibt es das bestimmte Wissenslevels die das Formum nutzen dürfen.

          Wenn du nicht helfen willst, dann lass es einfach aber bitte beurteile nicht werd, wann und warum hier jemand nachfragt.

          Bitte nicht falsch verstehen. Aber genau das Forum soll beim Lernen helfen.
          Zum Schulkind kann man(n) auch nicht sagen "Lerne zuerst das Lesen und schreiben, dann darfst in die Schule"

          Gruß
          Harald

          1. Hi,

            Bitte nicht falsch verstehen. Aber genau das Forum soll beim Lernen helfen.
            Zum Schulkind kann man(n) auch nicht sagen "Lerne zuerst das Lesen und schreiben, dann darfst in die Schule"

            Das Schulkind lernt in der Schule ja auch erst das lesen und schreiben.
            Du kommst in die Schule und willst bevor du plus und minus rechnen lernst erstmal wissen wie man 3 Dimensionale Matrizen multipliziert.
            Und das nur weil du zu geizig bist jemanden der das ganze beruflich macht zu bezahlen.

            Wenn du nicht helfen willst, dann lass es einfach aber bitte beurteile nicht werd, wann und warum hier jemand nachfragt.

            Ich glaube du hast das Wort FORUM nicht richtig verstanden. Man darf hier sehr wohl eigene Meinungen posten.
            Gibt dafür sogar einen eigenen Themenbereich.

            ~dave

          2. Hallo Harald,

            Ich denke dass du das Wort FORUM nicht richtig verstehst.
            Das sollen doch alle Fragen dürfen oder gibt es das bestimmte Wissenslevels die das Formum nutzen dürfen.

            Nein, natürlich nicht - aber Grundkenntnisse sollten imho schon da sein und auch die Fähigkeit eine Suchmaschine sollte vorhanden sein (eine Suche nach "isset" liefert bei Google und Bing als ersten Treffer das PHP-Handbuch!). Es erwartet natürlich niemand, dass du sämtliche Feinheiten von PHP im Schlaf beherrschst - aber es hat auch keiner Lust ständig die Grundlagen zu erklären die im Internet tonnenweise behandelt werden.

            Außerdem: ich habe dir den Link auf das Handbuch gepostet sowie den Hinweis auf eine Funktion die dir wohl eher weiterhelfen wird - was gefällt dir daran nicht?

            Zum Schulkind kann man(n) auch nicht sagen "Lerne zuerst das Lesen und schreiben, dann darfst in die Schule"

            Nicht alles was hinkt ist ein Vergleich.

            Gruß,
            Tobias

          3. Mahlzeit Harald FR.,

            Ich denke dass du das Wort FORUM nicht richtig verstehst.

            Ich denke schon, dass er das tut.

            Das sollen doch alle Fragen dürfen oder gibt es das bestimmte Wissenslevels die das Formum nutzen dürfen.

            Ja, gibt es:

            "Von dir als Teilnehmer erwarten wir HTML-Grundkenntnisse, sowie die Bereitschaft, zunächst erst einmal mit der Suchfunktion im Archiv nach ähnlichen Problemen zu suchen. Lies unsere FAQ, dort sind häufig gestellte Fragen direkt beantwortet."

            Bei Fragen zum Theme "PHP" gilt das "HTML-Grundkenntnisse" natürlich analog für "PHP-Grundkenntnisse". Dies hier ist kein "Ich-muss-da-mal-schnell-was-ändern-habe-aber-keine-Ahnung-davon-Ihr-frickelt-das-doch-bestimmt-gern-mal-eben-hin"-Forum und auch kein Bestellformular für Code oder Dienstleistungen.

            Wenn du nicht helfen willst, dann lass es einfach aber bitte beurteile nicht werd, wann und warum hier jemand nachfragt.

            Ich fasse mal für mich zusammen:

            Du stellst hier eine Frage im Forum, wie Du etwas in einer PHP-Datei ändern kannst - Du hättest da dieunddie Vorstellungen. Jemand antwortet Dir mit einem Stichwort - nämlich einer PHP-internen Funktion, deren Kenntnis zu den absoluten Grundlagen gehört. Daraufhin teilst Du mit, dass Du damit absolut nichts anfangen kannst und fragst, ob das in Deinen Code gehört ... Du schaffst es ja offensichtlich noch nicht einmal, in der Online-Dokumentation von PHP nach dem Stichwort zu suchen.

            Also ich kann absolut verstehen, dass Du anschließend darauf hingewiesen wirst, Dir doch bitte einmal die Grundlagen der von Dir verwendeten Technologie anzueignen.

            Was genau ist Dein Problem mit diesem - IMHO durchaus sinnvollen - Hinweis?

            Bitte nicht falsch verstehen. Aber genau das Forum soll beim Lernen helfen.

            Jein. Das Forum ist kein Tutorial, das Grundlagenwissen vermitteln will. Die Kenntnis davon wird als Voraussetzung erwartet.

            Da dieses Wissen bei Dir ganz offensichtlich nicht vorhanden ist, ist es meiner Meinung nach durchaus legitim, Dich darauf hinzuweisen.

            Zum Schulkind kann man(n) auch nicht sagen "Lerne zuerst das Lesen und schreiben, dann darfst in die Schule"

            Das kann man schon, wenn das Schulkind einem Buchclub beitreten will, in dem über Romane diskutiert und/oder aktuelle Sachbücher rezensiert werden. Dann ist nämlich das Lesen-können auch eine notwendige Grundlage.

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:& n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    2. Wenn ich Den Code so wie ich ihn habe, dann bekomme ich im Frondent eine Fehlermeldung (weil keine Thema eingetragen ist)

      Die Fehlermeldung lautet:
      Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/harrynt/html/typo3conf/ext/holidayweb/class.holidayweb_util.php on line 54

      Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /www/harrynt/html/typo3conf/ext/holidayweb/class.holidayweb_util.php on line 55

      Im Code der besagten Datei von Zeile 51 bis 57 lautet

       function getTheme($uid,$lang=0) {  
      		$rsCat = mysql(TYPO3_db,"select title from tx_holidayweb_themes where (uid=$uid or l10n_parent=$uid) and sys_language_uid=".$lang);  
      		$rowCat = mysql_fetch_array($rsCat);  
      		mysql_free_result($rsCat);  
      		return $rowCat['title'];  
      	}
      

      Blicke da nicht durch!
      Kann mir da wer weiterhelfen?

      Lg
      Harry

      1. Hallo Harald,

        Wenn ich Den Code so wie ich ihn habe, dann bekomme ich im Frondent eine Fehlermeldung (weil keine Thema eingetragen ist)

        Nein, die Fehlermeldung bekommst du nicht weil kein Thema eingetragen ist sondern weil der Query fehlerhaft ist (deswegen liefert mysql_query() false und mysql_fetch_array() fällt auf die Schnauze). Wo genau das Problem liegt, weiß ich nicht, dafür müsstest du schon den Query so wie er an die Datenbank geschickt wird und die Fehlermeldung die mysql_error() ausgibt, posten.

        Gruß,
        Tobias

        1. Hallo Harald,

          Wenn ich Den Code so wie ich ihn habe, dann bekomme ich im Frondent eine Fehlermeldung (weil keine Thema eingetragen ist)

          Nein, die Fehlermeldung bekommst du nicht weil kein Thema eingetragen ist sondern weil der Query fehlerhaft ist (deswegen liefert mysql_query() false und mysql_fetch_array() fällt auf die Schnauze). Wo genau das Problem liegt, weiß ich nicht, dafür müsstest du schon den Query so wie er an die Datenbank geschickt wird und die Fehlermeldung die mysql_error() ausgibt, posten.

          Gruß,
          Tobias

          Hallo Tobias

          Das geleiche ist auch bei den Typen.
          Dort sind aber überall Werte vorhanden (weil das so zugeodnet ist) und da funktinoert das Ganze ohne Fehlermeldungen.

          Desshalb ist es für mich naheliegend, dass der Fehler mommt, wenn kein Thema zugeordnet ist (ist halt bei manchen EInträgen so)

          Gerne nochmal der vollständige Code mit TYPES und TEHEMS der in der Datei class.tx_holidayweb_pi15.php steht

          function getHTML($h_uid, $template) {  
          		$rsHotel = mysql(TYPO3_db,"select * from tx_holidayweb_accommodations where uid=".$h_uid);  
          		$rowHotel = mysql_fetch_array($rsHotel);  
          		$markHotel['###TITLE###'] = $rowHotel['title'];  
          		$markHotel['###CAT###'] = $this->utilObj->getStarsMod($rowHotel['caticonsacco'],$rowHotel['uid'],$rowHotel['type_uids'],$rowHotel['cat_uid']);  
          		$markHotel['###REGION###'] = $this->utilObj->getRegion($rowHotel['region_uid']);  
          		$markHotel['###ADDRESS###'] = $rowHotel['address'].' '.$rowHotel['houseno'].'<br />'.$rowHotel['zip'].' '.$rowHotel['city'];  
          		$markHotel['###PHONE###'] = $rowHotel['phone'];  
          		/* TYPE start */  
                                         $types = explode(',', $rowHotel['type_uids']);  
                                         $typesnames = "";  
                                         $itypes=0;  
                                         $typesnum = count($types);  
                                         foreach ($types as $typ) {  
                                                         $itypes++;  
                                                         $typesnames .= $this->utilObj->getType($typ);  
                                                         if($itypes<$typesnum) $typesnames .= ",&nbsp;";  
                                         }  
          							   $markHotel['###TYPES###'] = $typesnames;  
          							   $typesnames="";  
                  /* TYPE ende */  
            
            
            
            
            
            
            
          		/* THEMES start */  
                                     $themes = explode(',', $rowHotel['theme_uids']);  
                                       $themesnames = "";  
                                       $ithemes=0;  
                                       $themesnum = count($themes);  
                                       foreach ($themes as $the) {  
                                                         $ithemes++;  
                                                         $themesnames .= $this->utilObj->getTheme($the);  
                                                        if($ithemes<$themesnum) $themesnames .= "&nbsp;&diams;&nbsp;";  
                                         }  
          						   $markHotel['###THEMES###'] = $themesnames;  
          						   $themesnames="";  
            
            
            
                  /* THEMES ende */
          

          ;-) Nichts für Ungut
          LG
          Harry

          1. Hier auch der komplette code von der Datei (class.holidayweb_util.php) wo mir die Fehlermeldung ausgibt:

            <?php  
            class holidayweb_util  
            {  
            	function getCat($uid) {  
            		$rsCat = mysql(TYPO3_db,"select title from tx_holidayweb_categories where uid=$uid");  
            		$rowCat = mysql_fetch_array($rsCat);  
            		mysql_free_result($rsCat);  
            		return $rowCat['title'];  
            	}  
            	  
            	function getCatMarkList($uid) {  
            		$rsCat = mysql(TYPO3_db,"select title from tx_holidayweb_categories where uid=$uid");  
            		$rowCat = mysql_fetch_array($rsCat);  
            		mysql_free_result($rsCat);  
            		  
            		$charLength = strlen($rowCat['title']);  
            		switch($charLength) {  
            			case 1:  
            				return '*';  
            			break;  
            			case 2:  
            				return '**';  
            			break;  
            			case 3:  
            				return '***';  
            			break;  
            			case 4:  
            				return '****';  
            			break;  
            			case 5:  
            				return '*****';  
            			break;  
            			default:  
            				return '';  
            		}  
            	}  
            	  
            	function getType($uid,$lang=0) {  
            		$rsCat = mysql(TYPO3_db,"select title from tx_holidayweb_types where (uid=$uid or l10n_parent=$uid) and sys_language_uid=".$lang);  
            		$rowCat = mysql_fetch_array($rsCat);  
            		mysql_free_result($rsCat);  
            		return $rowCat['title'];  
            	}  
            	  
            	function getRegion($uid,$lang=0) {  
            		$rsCat = mysql(TYPO3_db,"select title from tx_holidayweb_regions where (uid=$uid or l10n_parent=$uid) and sys_language_uid=".$lang);  
            		$rowCat = mysql_fetch_array($rsCat);  
            		mysql_free_result($rsCat);  
            		return $rowCat['title'];  
            	}  
            	  
            	function getTheme($uid,$lang=0) {  
            		$rsCat = mysql(TYPO3_db,"select title from tx_holidayweb_themes where (uid=$uid or l10n_parent=$uid) and sys_language_uid=".$lang);  
            		$rowCat = mysql_fetch_array($rsCat);  
            		mysql_free_result($rsCat);  
            		return $rowCat['title'];  
            	}  
            	  
            	function getAccoTitle($uid,$lang=0) {  
            		$rsCat = mysql(TYPO3_db,"select title from tx_holidayweb_accommodations where (uid=$uid or l10n_parent=$uid) and sys_language_uid=".$lang);  
            		$rowCat = mysql_fetch_array($rsCat);  
            		mysql_free_result($rsCat);  
            		return $rowCat['title'];  
            	}  
            	  
            	function populateDay($sel='') {  
            		$string = '';  
            		if($sel == '') {  
            			$sel = date("j");  
            		}  
            		for($i=1; $i <= 31; $i++) {  
            			if($i==$sel) {  
            				$string .= '<option value="'.$i.'" selected>'.$i.'</option>';  
            			}  
            			else {  
            				$string .= '<option value="'.$i.'">'.$i.'</option>';  
            			}  
            		}  
            		return $string;  
            	}  
            	  
            	function populateMonth($sel='') {  
            		$string = '';  
            		if($sel == '') {  
            			$sel = date("n");  
            		}  
            		for($i=1; $i <= 12; $i++) {  
            			if($i==$sel) {  
            				$string .= '<option value="'.$i.'" selected>'.$i.'</option>';  
            			}  
            			else {  
            				$string .= '<option value="'.$i.'">'.$i.'</option>';  
            			}  
            		}  
            		return $string;  
            	}  
            	  
            ......  
              
            ?>