Probleme bei if Abfrage in Perl Script

Diskutiere und helfe bei Probleme bei if Abfrage in Perl Script im Bereich Webmaster Support, Scripts, etc im SysProfile Forum bei einer Lösung; Hallo, ist hier evtl. jemand, der sich ein bisschen mit Perl auskennt und mir helfen könnte? ich habe eine if-Anweisung, die so aussieht: if... Discussion in 'Webmaster Support, Scripts, etc' started by Mic, Dec 27, 2009.

  1. Mic
    Mic Lebende CPU
    Joined:
    Dec 13, 2007
    Messages:
    1,349
    Likes Received:
    45
    Name:
    Michael
    1. SysProfile:
    48811
    2. SysProfile:
    31071
    105840

    Hallo,

    ist hier evtl. jemand, der sich ein bisschen mit Perl auskennt und mir helfen könnte?

    ich habe eine if-Anweisung, die so aussieht:

    Code:
    if ($Titelselect=="") {
      $Select1 = "titel='$Titelselect'"}
    else { 
      $Select1 = "titel!=''"};
    
      my $sql = qq{select * from filme where $Select1};
      my $sth = $dbh->prepare($sql);
      $sth->execute();
    
    Wie man vll. erkennen kann, soll die Datenbankausgabe nach einem gewissen Wert $Titelselect gefiltert werden. Wenn $Titelselect irgend ein Wert ist, soll die Tabelle nach dem Wert, der in der Spalte "titel" vorkommt, gefiltert werden. Wenn $Titelselect nichts ist also "" ist, soll $Select1 titel!="" sein, damit nichts gefiltert wird.
    Der erste Teil, also dass $Titelselect ein Wert ist funktioniert. Aber wenn Titelselect nichts ist, wird $Select1 gleich titel="" gesetzt und nicht titel!="". Stimmt in der If, Else Syntax etwas nicht, oder wieso funktioniert die If else Anweisung nicht richtig?
     
  2. Racer X
    Racer X Alter Hase
    Joined:
    Apr 11, 2008
    Messages:
    2,222
    Likes Received:
    78
    1. SysProfile:
    72607
    2. SysProfile:
    14421

    AW: Probleme bei if Abfrage in Perl Script

    Ich verstehe zwar dein Ganzes Programm nicht, auch nicht warum du nicht PHP nimmst.

    Aber in der Zweiten Zeile fehlt ein ;
     
  3. Mic
    Mic Lebende CPU
    Threadstarter
    Joined:
    Dec 13, 2007
    Messages:
    1,349
    Likes Received:
    45
    Name:
    Michael
    1. SysProfile:
    48811
    2. SysProfile:
    31071
    105840
    AW: Probleme bei if Abfrage in Perl Script

    Also ich benutze Perl, weil ich ein bisschen damit rumprobieren möchte. Das ganze soll nur ne Übung sein.
    Momentan soll das Script eine Tabelle aus einer Datenbank auslesen und diese Tabelle in HTML wieder ausgeben. Unter der Tabelle will ich eine Möglichkeit einbauen diese Tabelle nach gewissen Werten zu Filtern. Unter jede Spalte soll ein Select-Feld kommen, in dem die Werte, die in jeder Spalte stehen aufgelistet sind. Wenn ich einen von ihnen auswähle soll die Tabelle nach dem Wert gefiltert werden. Momentan schicke ich die Auswahl mit einem Submit-Button an dieses Skript.

    Ich habe die Semikolon jetzt so angeordnet wie hier, aber es funktioniert trotzdem nur so, wie bis jetzt auch... :/


    Ich hab an der If-Abfrage mal rumprobiert und komischerweise funktioniert die If-Abfrage so wie es jetzt es, bis auf das, wenn $Titelselect="" ist. Anscheinend wir die If-Anweisung ignoriert und immer das erste Argument ausgeführt?!
    Übrigens meine Perl Version ist die 5.10.0
    Code:
    [Spoiler="Quelltext"]
    use CGI;
    use DBI;
    
    my $cgi = new CGI;
    
    $query=new CGI;
    $Titelselect = $query->param('Titel');
    $Beschreibungselect = $query->param('Beschreibung');
    
        print "Content-type: text/html\n\n";
        print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
        print "<html>\n";
        print "<head>\n";
        print "<title>Datenbankabrage - mySQL</title>\n";
        print '<script type="text/javascript">', "\n";
        print "function reloadPage() { \n";
        print "location.reload(true); } \n";
        print 'setTimeout("reloadPage()",100000) ;', "\n";
        print "</script>\n";
        print "</head>\n";
        print "<body>\n";
      my $DB_NAME = "pdotest";
      my $DB_DSN = "DBI:mysql:database=$DB_NAME";
      my $DB_USER = "root";
      my $DB_PASSWD = "Michael";
      my $dbh = DBI->connect($DB_DSN, $DB_USER, $DB_PASSWD) or die "Fehler bei Datenbankverbindung: $!";
        print "<table>\n";
        print "  <tr>\n";
        print "    <td>\n";
        print "      <span style='font-size:2em'><u><b>Filme</b></u></span><br><br>\n";
        print "    </td>\n";
        print "  </tr>\n";
        print "  <tr>\n";
        print "    <td>\n";
        print "      <table>\n";
        print "        <tr>\n";
        print "          <td width='30'>\n";
        print "          </td>\n";
        print "          <td>\n";
        print "            <table>\n";
        print "              <tr>\n";
        print "                <td>\n";
        print "                  <span style='font-size:1.3em'><u><b>Inhalt aus der Datenbank:</b></u></span>\n";
        print "                </td>\n";
        print "              </tr>\n";
        print "              <tr>\n";
        print "                <td>\n";
    
    if ($Titelselect=="") {
      $Select1 = "titel='$Titelselect'";}
    else { 
      $Select1 = "titel!=''";}
    
      my $sql = qq{select * from filme where $Select1};
      my $sth = $dbh->prepare($sql);
      $sth->execute();
        print '                  <br><table style="(font-size:12px)" border="0" rules="none">',"\n";
        print "                    <tr>\n";
        print '                      <th align="center" width="34"></th>', "\n";
        print '                      <th align="center" width="60" bgcolor="#C0C0C0"><span style="color:white">Lfd. N.</span></th>', "\n";
        print '                      <th align="center" width="150" bgcolor="#C0C0C0"><span style="color:white">Titelname</span></th>', "\n";
        print '                      <th align="center" width="60" bgcolor="#C0C0C0"><span style="color:white">Teil</span></th>', "\n";
        print '                      <th align="center" width="200" bgcolor="#C0C0C0"><span style="color:white">Beschreibung</span></th>', "\n";
        print '                      <th align="center" width="132" bgcolor="#C0C0C0"><span style="color:white">Dauer in Min</span></th>', "\n";
        print '                      <th align="center" width="132" bgcolor="#C0C0C0"><span style="color:white">Erscheinungsjahr</span></th>', "\n";
        print "                    </tr>\n";
        while(@ergebnis=$sth->fetchrow_array)
        {
         print "                   <tr>\n";   
         print "                     <td align='center'></td>\n";
         print "                     <td align='center' bgcolor='#C0C0C0'><span style='color:white'>$ergebnis[0]</span></td>\n";
         print "                     <td align='center'>$ergebnis[1]</td>\n";
         print "                     <td align='center'>$ergebnis[2]</td>\n";
         print "                     <td align='left'>$ergebnis[3]</td>\n";
         print "                     <td align='center'>$ergebnis[4]</td>\n";
         print "                     <td align='center'>$ergebnis[5]</td>\n";
         print "                   </tr>\n";
        }
         print "                 </table>\n";
      $sth->finish();
        print "                </td>\n";
        print "              </tr>\n";
        print "              <tr>\n";
        print "                <td>\n";         
        print "                  <form name='Select' action='http://localhost/Perl/connectmysqlOO.pl' method='get'><table>\n";
        print "                    <tr>\n";
        print "                      <td width='100'>\n";
        print "                        <br><input type='submit' value='Aktualisieren'>\n";
        print "                      </td>\n";
        print "                      <td width='132'>\n";
        print '                        <br><select name="Titel" size="1">',"\n";
    my $sql = qq{select titel from filme};
    my $sth = $dbh->prepare($sql);
    $sth->execute();
        while(@ergebnis=$sth->fetchrow_array)
        {
        print "                          <option value='$ergebnis[0]'>$ergebnis[0]</option>","\n";
        }
    $sth->finish();
        print '                          <option value="" selected>--------------------------</option>',"\n";
        print '                        </select>',"\n";
        print "                      </td>\n";
        print "                      <td width='132'>\n";
        print '                        <br><select name="Beschreibung" size="1">',"\n";
    my $sql = qq{select teil from filme};
    my $sth = $dbh->prepare($sql);
    $sth->execute();
        while(@ergebnis=$sth->fetchrow_array)
        {
        print "                          <option value='$ergebnis[0]'>$ergebnis[0]</option>","\n";
        }
    $sth->finish();
        print '                          <option value="" selected>--------------------------</option>',"\n";
        print '                        </select>',"\n";
        print "                      </td>\n";
        print "                      <td>$Select1\n";
        print "                      </td>\n";
        print "                      <td>,$Titelselect,\n";
        print "                      </td>\n";
        print "                    </tr>\n";
        print "                  </table></form>\n";
        print "                </td>\n";  
        print "              </tr>\n";
        print "            </table>\n";
        print "          </td>\n";
        print "        </tr>\n";
        print "      </table>\n";
        print "    </td>\n";
        print "  </tr>\n";
        print "</table>\n";
      $dbh->disconnect();
        print "</body>\n";
        print "</html>\n";
    [/Spoiler]
    Komischerweise funktioniert es nicht, wenn man ein Code-Tag im Spoiler-Tag benutzen will aber umgekehrt schon. Könnte man das vll. umändern?
     
  4. Racer X
    Racer X Alter Hase
    Joined:
    Apr 11, 2008
    Messages:
    2,222
    Likes Received:
    78
    1. SysProfile:
    72607
    2. SysProfile:
    14421
    AW: Probleme bei if Abfrage in Perl Script

    Also soo würd ich die Semikolons (Bei PHP) setzen.

    Und Lösch mal dein Passwort aus deim Geposteten Code. Kommt sicher nicht so gut sein MySql Passwort zu veröffentlichen

    Aber ich verstehe das ganze immer noch nicht ^^
    Also wenn
    $Titelselect Kein inhalt hat dann soll $Select1 = "titel='$Titelselect'"; sein. Ansonsten soll $Select1 = "titel!='''; Sein.


    if ($Titelselect=="Hier muss doch ein Wert oder eine Variable stehen") {
    $Select1 = "titel='$Titelselect'";
    }

    else {
    $Select1 = "titel!='Hier genauso'';
    }

    my $sql = qq{select * from filme where $Select1};
    my $sth = $dbh->prepare($sql);
    $sth->execute();
     
  5. Mic
    Mic Lebende CPU
    Threadstarter
    Joined:
    Dec 13, 2007
    Messages:
    1,349
    Likes Received:
    45
    Name:
    Michael
    1. SysProfile:
    48811
    2. SysProfile:
    31071
    105840
    AW: Probleme bei if Abfrage in Perl Script

    Das Passwort ist mir egal, weil der PC an dem ich das Ausprobiere eh nicht am Netz hängt. Ich probiere nur mit Perl herum.

    Das Skript soll einfach nur ne Tabelle sortieren und als HTML ausgeben. Später soll noch dazukommen, dass ich auch Zeilen einfügen, ändern und löschen kann. Das Skript hat noch keinen Sinn. Ist nur rein zu Testzwecken.

    Also Wenn ich nach nichts filtern möchte, wähle ich in dem Select-Feld nichts aus -> der Value "" also nichts wird übertragen. Somit soll $Select1 titel!="" sein.
    Wenn ich nachetwas filtern möchte, wähle ich im Select-Feld etwas aus -> ein Wert wird übertragen. Somit soll $Select1 titel="Wert" sein.

    So hab ich die Semikolon doch oben gesetzt.

    Das Problem mit der IF-Abfrage scheint anscheinend zu sein, dass immer nur das erste Argument ausgeführt wird , egal was für Titelselect raus kommt
     
  6. Racer X
    Racer X Alter Hase
    Joined:
    Apr 11, 2008
    Messages:
    2,222
    Likes Received:
    78
    1. SysProfile:
    72607
    2. SysProfile:
    14421
    AW: Probleme bei if Abfrage in Perl Script

    Wie soll er denn eine Verbindung zur datenbank aufbauen wen der Computer keine Internetverbindung hat ?

    Eigentlich hab ich keine Perl Kenntnisse. Also von daher denke ich, dass ich nicht mehr weiterhelfen kann.
     
  7. McAtze
    McAtze Alter Hase
    Joined:
    Jan 1, 2009
    Messages:
    2,042
    Likes Received:
    70
    AW: Probleme bei if Abfrage in Perl Script

    bestimmt mit einer lokalen MySQL DB .. ;)
     
  8. Mic
    Mic Lebende CPU
    Threadstarter
    Joined:
    Dec 13, 2007
    Messages:
    1,349
    Likes Received:
    45
    Name:
    Michael
    1. SysProfile:
    48811
    2. SysProfile:
    31071
    105840

    AW: Probleme bei if Abfrage in Perl Script

    Richtig. Ich benutze dafür Xampp
     
Thema:

Probleme bei if Abfrage in Perl Script

Loading...

Probleme bei if Abfrage in Perl Script - Similar Threads - Probleme Abfrage Perl

Forum Date

Google Pixel: Smartphones könnten bald Probleme mit dem Netzwerk auswerten

Google Pixel: Smartphones könnten bald Probleme mit dem Netzwerk auswerten: Google Pixel: Smartphones könnten bald Probleme mit dem Netzwerk auswerten . . Google Pixel: Smartphones könnten bald Probleme mit dem Netzwerk auswerten
User-Neuigkeiten Monday at 2:22 PM

Barrierefreiheit im ÖPNV: Die größten Probleme macht der Einstieg

Barrierefreiheit im ÖPNV: Die größten Probleme macht der Einstieg: Barrierefreiheit im ÖPNV: Die größten Probleme macht der Einstieg . . Barrierefreiheit im ÖPNV: Die größten Probleme macht der Einstieg
User-Neuigkeiten Aug 9, 2026

Firefox 153.0.1 behebt Probleme beim Start & weitere Bugs

Firefox 153.0.1 behebt Probleme beim Start & weitere Bugs: Firefox 153.0.1 behebt Probleme beim Start & weitere Bugs Das große Update bringt eine ganze Reihe von Komfort-Features, wichtige Sicherheitskorrekturen sowie eine Verbesserung für Windows-Nutzer...
User-Neuigkeiten Jul 28, 2026

Google Maps mit Störungen: Probleme bei der Anzeige von Verkehrsinformationen

Google Maps mit Störungen: Probleme bei der Anzeige von Verkehrsinformationen: Google Maps mit Störungen: Probleme bei der Anzeige von Verkehrsinformationen Zahlreiche Nutzer berichten, dass die gewohnten farbigen Markierungen für die aktuelle Verkehrslage auf den Straßen...
User-Neuigkeiten Jul 27, 2026

Windows 11: Microsoft verteilt außerplanmäßiges Update gegen Performance-Probleme

Windows 11: Microsoft verteilt außerplanmäßiges Update gegen Performance-Probleme: Windows 11: Microsoft verteilt außerplanmäßiges Update gegen Performance-Probleme Da es sich um ein kumulatives Update handelt, bringt es alle bisherigen Sicherheits- und Qualitätsverbesserungen...
User-Neuigkeiten Jul 19, 2026

Galaxy S26 Ultra: Nutzer klagen über Display-Probleme, Samsung sondiert bereits die Lage

Galaxy S26 Ultra: Nutzer klagen über Display-Probleme, Samsung sondiert bereits die Lage: Galaxy S26 Ultra: Nutzer klagen über Display-Probleme, Samsung sondiert bereits die Lage Doch einige Nutzer haben Probleme mit dem Bildschirm. Dieser zeigt bei Betroffenen zunehmend einen immer...
User-Neuigkeiten Jul 14, 2026

IONOS kämpft mit Problemen beim E-Mail-System

IONOS kämpft mit Problemen beim E-Mail-System: IONOS kämpft mit Problemen beim E-Mail-System Der Anbieter kämpft derzeit mit einer technischen Störung in seinen E-Mail-Systemen.. . IONOS kämpft mit Problemen beim E-Mail-System
User-Neuigkeiten Jul 10, 2026

Android 17: Probleme mit Widgets – und ein Workaround

Android 17: Probleme mit Widgets – und ein Workaround: Android 17: Probleme mit Widgets – und ein Workaround Wie manchmal bei großen Sprüngen schleichen sich Fehler ein. So melden Leser und Betroffene im Netz jetzt verschwundene Widgets auf dem...
User-Neuigkeiten Jun 20, 2026

Disney+: Weiterhin Format-Probleme wegen fehlender Lizenzen

Disney+: Weiterhin Format-Probleme wegen fehlender Lizenzen: Disney+: Weiterhin Format-Probleme wegen fehlender Lizenzen Unsere Leser berichteten uns Ende letzten Jahres davon, dass bei Disney+ Dolby Vision flöten ging. Stellte sich heraus:...
User-Neuigkeiten Jun 17, 2026

Mozilla Firefox 151.0.2: Kleines Wartungsupdate behebt Split View und Cache Probleme

Mozilla Firefox 151.0.2: Kleines Wartungsupdate behebt Split View und Cache Probleme: Mozilla Firefox 151.0.2: Kleines Wartungsupdate behebt Split View und Cache Probleme Ein Blick in das Changelog zeigt, dass es sich um eine reine Fehlerbehebung handelt, bei der vor allem...
User-Neuigkeiten May 26, 2026

Vodafone kämpft weiterhin mit Problemen beim Mail-Abruf via IMAP

Vodafone kämpft weiterhin mit Problemen beim Mail-Abruf via IMAP: Vodafone kämpft weiterhin mit Problemen beim Mail-Abruf via IMAP Seit Anfang der letzten Woche zickt der Abruf über das IMAP-Protokoll bei etlichen Nutzern rum. Die Server sind schlicht...
User-Neuigkeiten May 14, 2026

Microsoft Outlook mit Problemen beim Login

Microsoft Outlook mit Problemen beim Login: Microsoft Outlook mit Problemen beim Login Aktuell häufen sich die Meldungen über Störungen bei Microsoft Outlook. Seit kurz vor 10:00 Uhr verzeichnen Störungsportale einen sprunghaften Anstieg...
User-Neuigkeiten Apr 27, 2026

Paramount+ zickt rum: Nutzer melden Probleme beim Streaming

Paramount+ zickt rum: Nutzer melden Probleme beim Streaming: Paramount+ zickt rum: Nutzer melden Probleme beim Streaming Aktuellen Berichten zufolge hakt es beim Streaming-Dienst gewaltig. Seit dem Abend des 26. Paramount+ zickt rum: Nutzer melden...
User-Neuigkeiten Apr 26, 2026
Probleme bei if Abfrage in Perl Script solved

Users found this page by searching for:

  1. problem anweisung bei perl

    ,
  2. if abfrage perl

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice