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... Dieses Thema im Forum "Webmaster Support, Scripts, etc" wurde erstellt von Mic, 27. Dezember 2009.

  1. Mic
    Mic Lebende CPU
    Registriert seit:
    13. Dezember 2007
    Beiträge:
    1.349
    Zustimmungen:
    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
    Registriert seit:
    11. April 2008
    Beiträge:
    2.222
    Zustimmungen:
    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
    Themenstarter
    Registriert seit:
    13. Dezember 2007
    Beiträge:
    1.349
    Zustimmungen:
    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
    Registriert seit:
    11. April 2008
    Beiträge:
    2.222
    Zustimmungen:
    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
    Themenstarter
    Registriert seit:
    13. Dezember 2007
    Beiträge:
    1.349
    Zustimmungen:
    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
    Registriert seit:
    11. April 2008
    Beiträge:
    2.222
    Zustimmungen:
    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
    Registriert seit:
    1. Januar 2009
    Beiträge:
    2.042
    Zustimmungen:
    70
    AW: Probleme bei if Abfrage in Perl Script

    bestimmt mit einer lokalen MySQL DB .. ;)
     
  8. Mic
    Mic Lebende CPU
    Themenstarter
    Registriert seit:
    13. Dezember 2007
    Beiträge:
    1.349
    Zustimmungen:
    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

Die Seite wird geladen...

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

Forum Datum

YouTube: Probleme unter Android und iOS, Neuinstallation als Lösung

YouTube: Probleme unter Android und iOS, Neuinstallation als Lösung: YouTube: Probleme unter Android und iOS, Neuinstallation als Lösung Sowohl Android- als auch iOS-Nutzer waren von plötzlichen App-Abstürzen betroffen. Das Problem äußert sich durch unerwartetes...
User-Neuigkeiten Mittwoch um 18:55 Uhr

Google NotebookLM: Neue Version behebt Probleme bei Audio und Zitaten

Google NotebookLM: Neue Version behebt Probleme bei Audio und Zitaten: Google NotebookLM: Neue Version behebt Probleme bei Audio und Zitaten Die neue Version konzentriert sich auf die Behebung von Fehlern, die Nutzer in der Vergangenheit bemängelt hatten. Ein...
User-Neuigkeiten Mittwoch um 13:23 Uhr

Outlook-Absturz beim E-Mail-Verfassen: Microsoft untersucht Probleme in Classic Version

Outlook-Absturz beim E-Mail-Verfassen: Microsoft untersucht Probleme in Classic Version: Outlook-Absturz beim E-Mail-Verfassen: Microsoft untersucht Probleme in Classic Version Das Mailprogramm stürzt beim Öffnen oder Erstellen neuer E-Mails ab. Microsoft hat bestätigt, dass der...
User-Neuigkeiten Dienstag um 17:44 Uhr

Nächstes Google Pixel mit Akku-Problemen

Nächstes Google Pixel mit Akku-Problemen: Nächstes Google Pixel mit Akku-Problemen Nach dem Pixel 4a und dem Pixel 7a ist nun das Pixel 6a betroffen, bei dem ein verpflichtendes Software-Update die Akkukapazität reduzieren wird. Grund...
User-Neuigkeiten 12. Juni 2025

Nintendo Switch 2: Diese Spiele haben Probleme

Nintendo Switch 2: Diese Spiele haben Probleme: Nintendo Switch 2: Diese Spiele haben Probleme Die nächste Generation der Spielekonsole erscheint am Donnerstag, den 5. Juni 2025. Nintendo Switch 2: Diese Spiele haben Probleme
User-Neuigkeiten 2. Juni 2025

Sky Q: Probleme auf dem Apple TV unter tvOS 18.5

Sky Q: Probleme auf dem Apple TV unter tvOS 18.5: Sky Q: Probleme auf dem Apple TV unter tvOS 18.5 Solltet ihr Sky Q auf einem Apple TV mit tvOS 18.5 nutzen wollen, dann braucht ihr den Fehler nicht bei euch zu suchen, denn es gibt hier wohl...
User-Neuigkeiten 30. Mai 2025

Commerzbank PhotoTAN-App kämpft weiterhin mit Problemen

Commerzbank PhotoTAN-App kämpft weiterhin mit Problemen: Commerzbank PhotoTAN-App kämpft weiterhin mit Problemen Nutzer berichten von massiven Einschränkungen beim Online-Banking, da die für Transaktionen notwendige PhotoTAN-Funktion nicht...
User-Neuigkeiten 20. Mai 2025

Amazon Alexa+ soll Probleme haben

Amazon Alexa+ soll Probleme haben: Amazon Alexa+ soll Probleme haben Doch mehr als sechs Wochen nach dem Start des Rollouts an angeblich Hunderttausende Nutzer fehlen öffentliche Reaktionen fast völlig. Die Suche nach echten...
User-Neuigkeiten 19. Mai 2025

Anmelde-Probleme nach iPadOS 17.7.7 Update: Nutzer berichten von Störungen

Anmelde-Probleme nach iPadOS 17.7.7 Update: Nutzer berichten von Störungen: Anmelde-Probleme nach iPadOS 17.7.7 Update: Nutzer berichten von Störungen Nach der Installation des Updates, das hauptsächlich Sicherheitsverbesserungen enthält, tritt ein störender Fehler auf:...
User-Neuigkeiten 14. Mai 2025

Thunderbird 138.0.1: Update behebt Outlook-Import und Unicode-Probleme

Thunderbird 138.0.1: Update behebt Outlook-Import und Unicode-Probleme: Thunderbird 138.0.1: Update behebt Outlook-Import und Unicode-Probleme Die Version 138.0.1 konzentriert sich hauptsächlich auf die Behebung einiger störender Fehler, die Nutzer in der...
User-Neuigkeiten 13. Mai 2025

OneDrive für iOS: Anwender kämpfen mit Problemen

OneDrive für iOS: Anwender kämpfen mit Problemen: OneDrive für iOS: Anwender kämpfen mit Problemen Nutzer berichten seit mehreren Wochen von erheblichen Synchronisationsproblemen, die den Cloud-Dienst auf iOS-Geräten praktisch unbrauchbar...
User-Neuigkeiten 7. Mai 2025

Überwachung per Arbeits-App: Studie zeigt Probleme auf

Überwachung per Arbeits-App: Studie zeigt Probleme auf: Überwachung per Arbeits-App: Studie zeigt Probleme auf Gerade in der Logistikbranche ist das etwa verbreitet. Formal sollen die Apps Arbeitsläufe optimieren und helfen, die Produktivität zu...
User-Neuigkeiten 3. Mai 2025

VirtualBox 7.1.8 behebt Probleme mit der CPU-Auslastung und mehr

VirtualBox 7.1.8 behebt Probleme mit der CPU-Auslastung und mehr: VirtualBox 7.1.8 behebt Probleme mit der CPU-Auslastung und mehr Die Version 7.1.8 der Virtualisierungssoftware adressiert mehrere Probleme, die Nutzer in der Vergangenheit plagten. Sicher ganz...
User-Neuigkeiten 16. April 2025
Probleme bei if Abfrage in Perl Script solved

Andere User suchten nach Lösung und weiteren Infos nach:

  1. problem anweisung bei perl

    ,
  2. if abfrage perl

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden