WBB 3.0.x Frage wegen einer MySQL-Abfrage sowie Weiterleitung

neuling29
Problembeschreibung:
Abfrage einer SQL-Tabelle

Hallo, hoffentlich kann mir jemand kurz helfen. Und zwar hab ich folgende Frage:

Wie muss ich es schreiben, damit eine Tabelle ausgelesen wird, zwei Optionen danach zur Verfügung stehen und eine jewilige Weiterleitung.
Genauer gesagt, wenn in der Tabelle ein Eintrag ist, soll er Option 1 ausführen und zu Seite "sowieso" weiterleiten, wenn kein Eintrag vorhanden ist, soll er Option 2 ausführen und zu Seite "sowieso1" umleiten.

Mit meinem jetzigen Code funktioniert das nicht unglücklich

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
$var "SELECT * FROM Tabelle
                WHERE pid = ".$pid."'
                ORDER BY wert  LIMIT 0,1";
        $var WCF::getDB()->sendQuery($var);
        $is_var WCF::getDB()->countRows();
        
        if($is_var != 0) 
        {
                   UPDATE tabelle
                  und gehe zu Seite "sowieso"
                 }
            else 
{
                  INSERT INTO Tabelle
                   und gehe zu Seite "sowieso1"


Schonmal Danke und Gruß
Neuling
Maniac_81
vielleicht hilft dir die function "header()" weiter:

zb:
php:
1:
header("Location: http://www.weiterleitungsseite.de");
neuling29
Das "header" hab ich ja drin aber es geht nicht.

Er überspringt das erste "header" und geht gleich zum zweiten OBWOHL er das erste header ausführen sollte...

Passt denn die SQL-Abfrage soweit von mir???
Maniac_81
dann ist deine bedingung nicht !=0
neuling29
Was bedeutet denn die 0? Ich dachte sie steht für "vorhanden", was ja bedeuten würde, "wenn $is_var = vorhanden, dann update und gehe danach zu Seite "sowieso", wenn $is_var nicht vorhanden, schreibs in die Tabelle und geh zum nächsten Schritt und danach zu Seite "sowieso1"


ACH JETZT!!! Das != bedeutet "ungleich", also wenn $is_var "nicht 0" ist, dann... ok, habs verstanden. Aber warum überspringt er dann trotzdem meine Anweisung?
Maniac_81
ich weiß nicht ob ich richtig liege, aber dein Code liefert halt nichts zurück wweil du die variable $var 2x belegst und somit beim 2. mal belegen den ersten wert überschreibst.
falsch:
php:
1:
2:
3:
4:
$var "SELECT * FROM Tabelle
                WHERE pid = ".$pid."'
                ORDER BY wert  LIMIT 0,1";
        $var WCF::getDB()->sendQuery($var);


(ich denke richtig):
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
$var1 "SELECT * FROM Tabelle
                WHERE pid = ".$pid."'
                ORDER BY wert  LIMIT 0,1";
        $var2 WCF::getDB()->sendQuery($var1);
        $is_var WCF::getDB()->countRows($var2);
        
        if($is_var != 0) 
        {
                   UPDATE tabelle
                  und gehe zu Seite "sowieso"
                 }
            else 
{
                  INSERT INTO Tabelle
                   und gehe zu Seite "sowieso1"
neuling29
Ich habs jetzt einfach komplett umgeschrieben und es geht...

Danke für die Hilfe