Re: Verknüpfungen von if - mal wieder - Bitte... - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Christoph Bergmann (8110 Beiträge) am Freitag, 12.Dezember.2003, 15:24.
    Re: Verknüpfungen von if - mal wieder - Bitte...

      ...nimm die Abfrage welche Datensätze Du überhaupt brauchst in die Datenbank-Abfrage rein, also statt:

      <loop db=veranstaltungen code=perl sort=Datum_Kulturkalender>
      

      if ($Kulturkalender && datum("jetzt","intern") lt
      datum($_raw{Datum_Kulturkalender},"intern"))
      {
      
      ...
      }

      </loop>
      

      folgendes:

      <loop db=veranstaltungen code=perl Datum_Kulturkalender\>jetzt Kulturkalender==Ja>
      
      ...
      </loop>

      Das erspart baseportal ne Menge unnötiger Arbeit, da nur die Datensätze geholt und durchlaufen werden, die auch gebraucht werden - sonst belastest Du unnötig den Server... Bei dem "Kulturkalender==Ja" musst Du das einsetzen was Du bei dem entsprechenden Feld als "Ausgabe bei geklickt" eingegeben hast...

      Und noch ne Kleinigkeit: $i++ brauchste nich extra, das wird im $_loop mitgezählt... Statt

      $bg_color = $i++ % 2 == 0 ? "#FFEBEB" : "#FFFFEB";
      

      tuts auch

      $bg_color = $_loop % 2 ? "#FFFFEB" : "#FFEBEB";
      

      ;-)


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Thomas Fedder (333 Beiträge) am Donnerstag, 11.Dezember.2003, 23:41.
    Verknüpfungen von if - mal wieder

      Moin moin,

      ich habe folgenden Code:

      <table cellpadding="5" cellspacing="5" border="0">
      

      <loop db=veranstaltungen code=perl sort=Datum_Kulturkalender>

      if ($Kulturkalender && datum("jetzt","intern") lt
      datum($_raw{Datum_Kulturkalender},"intern"))
      {
              $bg_color = $i++ % 2 == 0 ? "#FFEBEB" : "#FFFFEB";
      

      out <<EOF;
              <tr bgcolor=$bg_color>
                      <td>
                              $Datum_Kulturkalender
                      </td>
      

      <td><a href="/cgi-bin/baseportal.pl?htx=/ratingen/kulturkalender/ei
      nzeldarstellung_veranstaltungen&cmd=list&Id==$_id">$Titel</a></td>
      EOF
      }
      

      if ($ticket_url)
      {
      

      out <<EOF;
      <td><a href="$ticket_url" target="_blank"><img src="http://www.ratingen.de/41/kulturkalender/buchen3.gif" alt="Diese Veranstaltung bei 'ticket online' buchen!" border="0"></a>
      </td>
      EOF
      }
      

      out <<EOF;
      </tr>
      EOF
      </loop>
      </table>
      


      Zuerst sollen die Daten der Datenbank veranstaltungen ausgegeben werden, in denen das Feld "kulturkalender" angehakt ist.
      Und das ganze dann in Zeilen mit wechselnder Hintergrundfarbe.
      Soweit so gut.

      Jetzt soll allerdings bei den Veranstaltungen, die vorbei sind, der folgende Code nicht!!! angezeigt werden (wenn Veranstaltungen stattfinden, soll er nur dann angezeigt werden, wenn das Feld "ticket_url" ausgefüllt ist):

      <td><a href="$ticket_url" target="_blank"><img src="http://www.ratingen.de/41/kulturkalender/buchen3.gif" alt="Diese Veranstaltung bei 'ticket online' buchen!" border="0"></a></td>
      

      Der oben angezeigt Code funktioniert zwar, allerdings nicht mit dem gewünschten Effekt. Es werden zwar die vergangenen Veranstaltungen ausgeblendet, aber das Feld mit dem Buchen wird trotzdem angezeigt.

      Hier ist es zu sehen:
      http://www.ratingen.de/41/kulturkalender/veranstaltungen/index.php

      Hat jemand eine Lösung für das Problem?

      Danke

      ciao

      TF

     Antworten

    Beitrag von richard (1187 Beiträge) am Freitag, 12.Dezember.2003, 11:11. WWW: posaunenchor-rhoden.de
    Re: Verknüpfungen von if - mal wieder

      Sieht so aus, als würde das Feld mit dem Buchen nicht von der Bedingung erfaßt, und wenn ich mir die Klammern so ansehe endet der bedingt auszugebende Code auch direkt vor: "if ($ticket_url)"

      Da kommt dann eine neue Bedingung, die mit der vorhergehenden nichts mehr zu tun hat und das Buchenfeld somit nur von "if ($ticket_url)" betroffen ist.


      MfG, Richard

     Antworten

    Beitrag von horstees (229 Beiträge) am Freitag, 12.Dezember.2003, 11:21.
    Re: Verknüpfungen von if - mal wieder

      Hi Thomas,

      wenn mich nicht alles täuscht mußt du nur die rechte geschweifte Klammer vor der if(... ticket-url....wegnehmen und nach der if Abfrage wieder einfügen!

      .....

      }   #   diese hier wegnehmen
      

      if ($ticket_url)
      {
      
      .....
      ....
      }
      }   #<--- hier hin setzen!
      


      horstees

     Antworten

    Beitrag von Thomas Fedder (333 Beiträge) am Freitag, 12.Dezember.2003, 14:10.
    Re: Verkn&#1100;pfungen von if - mal wieder - Danke

      Hallo horstees,

      genau das wars, danke.

      Jetzt weiss ich, das ich if Verknüpfungen ineinander verschachteln kann.

      Vielen Dank


      ciao

      TF

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Freitag, 12.Dezember.2003, 15:24.
    Re: Verknüpfungen von if - mal wieder - Bitte...

      ...nimm die Abfrage welche Datensätze Du überhaupt brauchst in die Datenbank-Abfrage rein, also statt:

      <loop db=veranstaltungen code=perl sort=Datum_Kulturkalender>
      

      if ($Kulturkalender && datum("jetzt","intern") lt
      datum($_raw{Datum_Kulturkalender},"intern"))
      {
      
      ...
      }

      </loop>
      

      folgendes:

      <loop db=veranstaltungen code=perl Datum_Kulturkalender\>jetzt Kulturkalender==Ja>
      
      ...
      </loop>

      Das erspart baseportal ne Menge unnötiger Arbeit, da nur die Datensätze geholt und durchlaufen werden, die auch gebraucht werden - sonst belastest Du unnötig den Server... Bei dem "Kulturkalender==Ja" musst Du das einsetzen was Du bei dem entsprechenden Feld als "Ausgabe bei geklickt" eingegeben hast...

      Und noch ne Kleinigkeit: $i++ brauchste nich extra, das wird im $_loop mitgezählt... Statt

      $bg_color = $i++ % 2 == 0 ? "#FFEBEB" : "#FFFFEB";
      

      tuts auch

      $bg_color = $_loop % 2 ? "#FFFFEB" : "#FFEBEB";
      

      ;-)

     Antworten


     
 Liste der Einträge von 33300 bis 33450:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.06s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!