Beiträge von schnibli

    Da hast du vollkommen recht, ich werde es am späteren abend oder Morgen Ausprobieren.. hab zurzei nur ein tablet im hotel dis eignet sich nicht für "Programmkerarbeiten"

    Ich denke so ist es richtig :

    aber ich bekomme den Fehler:

    HTML
    Fehlermeldung=You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '? OR `ProjektBezeichnung` LIKE ?) AND `Autr-Erh` = '1' AND `revidier' at line 4

    Ich dache es ligt an der definition von stmt:


    aber jetzt erscheint dieser fehler:

    SQL
    Fehlermeldung=Commands out of sync; you can't run this command now

    Ich suche immer viel zu weit xD...
    Nun jetzt wird es immer schöne ;)

    SQL
    Notice: Undefined variable: stmt in /volume1/web/anlagen/suchen.inc.php on line 22 Fatal error: Call to a member function bind_param() on a non-object in /volume1/web/anlagen/suchen.inc.php on line 22


    SQL
    $suchstr = '%' . $_POST['suchstring'] . '%'; 
    $stmt->bind_param("ss", $suchstr, $suchstr);


    ich kann mir denke das dies:

    SQL
    $stmt->close();


    Fehlt aber es ändert nichts :s

    SQL
    AND `aktiv` = 'Ja'";

    :thumbup:


    Und ähm hier:


    bringt er einen fehler bei

    SQL
    echo"<thead>";

    Hab jetzt alles schön Angepasst:


    Dabei gibt er mir bei Zeile 10 den fehler:

    HTML
    syntax error, unexpected '$suchstr' (T_VARIABLE) in

    Es geht nicht mehr lange er-schisse ich mich xD


    Hier:

    SQL
    <td><a href="anlagen_details.php?navi=2&ida=' . htmlspecialchars($row["AnlagenNr"]) .'&sda='%' .  htmlspecialchars($_POST['suchstring'] . '%') .'">Ändern</td>


    habe ich doch noch einen Fehler mit ' und " nicht?


    Edit:


    Ich bin glaube ich zu müde xD


    Ich glaub irgendewas stimmt nocht nicht 8o


    Es wird nichts gefunden :s :)

    Sorry muss gestehen habe den error() noch nicht überall ausgemerzt... bin jetzt aber gerade dran :)


    Die Suche-Abfrage


    Gibt mir einen Fehler jedoch Funktioniert es nicht :)

    Das raffe ich jetzt nicht gant :s :wacko:



    Gibt nichts aus :s

    Das mit den Tabellen (1,2,3, = berlin,wien,amsterdam) habe ich schon realisiert :) (Dies vor allem wenn es eine Allgemeine Änderung gibt das ich diese nur 1 mal eintragen muss :)


    Probleme habe ich hauptsächlich nur bei komplexen abfragen wie z.b. meine nächste xD meinen Suchstring:

    SQL
    //sql befehl
    $sql = 'SELECT * 
    		FROM tblAnlagenNr
    		WHERE AnlagenNr LIKE \'%'.$_POST['suchstring'].'%\' 
    		OR ProjektBezeichnung LIKE \'%'.$_POST['suchstring'].'%\'';


    Hier müsste noch

    SQL
    WHERE `Autr-Erh` = '1' AND `revidiert` = 'Nein' AND `aktiv` = 'Ja'";


    Hinein, alles auf der Tabelle "tblAnlagenNr"


    Edit:
    Es soll noch neben dem Suchfeld eine Checkbox geben ob z.b. "autr-Erh" beachtet werden soll oder nicht. :s

    Die AnlagenNr sollte im Jahr nur ein mal vorkommen. Wenn dies jedoch mehrmals vorkommt, soll nur 1 mal der Datensatz erscheinen.


    Währe es möglich die 2 Tabelle auch noch zu filtern?
    Also dijenige mit der ProjektBezeichnung noch einen Filter einbauen auf die Spalte "erhalten" ?


    Deine Lösung funktioniert.

    Ja ;)
    Den 06.06.2010 möchte ich nicht.
    Nur dijenigen die in 2013 vorkommen aber nicht in 2014
    Wenn einer in 2010 vorkommt aber nicht in 2014 möchte ich den nicht xD


    Die Abfrage Stimmt so wie ich sie oben gepostet habe, habe eine Kontrolle durchgeführt ;)


    Die Zählung der Eintrage habe ich auch realisiert:

    SQL
    $row_cnt = $erg->num_rows;
    
    
    
    
        printf("ES wurden %d Anlagen gefunden.\n", $row_cnt);


    Nun noch eines.


    Ich habe nun das Ergebniss:

    HTML
    3511
    5465
    2135


    Ich Besitze nun eine 2 Tabelle (tabAnlagenNr)
    Auf dieser Tabelle habe ich eine Spalte ("AnlagenNr") die enthält auch

    HTML
    3511
    5465
    2135.....


    zusätzlich enthält diese den Namen der Anlage ("ProjektBezeichnung")

    HTML
    Test1
    Test2 
    Test3


    Also so:
    AnlagenNr // ProjektBezeichnung

    HTML
    3511            //          Test1
    5465            //          Test2
    2135            //          Test3


    Ist es nun möglich bei meiner abfrage dies so zu importieren das ich am schluss die AnlagenNr (wie bissher) und die Projektbezeichnung herauskriege? (Also eine Join Abfrage möchte ich noch einbinden :))


    Sows hier:

    SQL
    SELECT tblAnlagenNr.ProjektBezeichnung, tblServiceDaten.AnlagenNr
    		FROM tblAnlagenNr
    		LEFT JOIN tblServiceDaten
    		ON tblAnlagenNr.AnlagenNr=tblServiceDaten.AnlagenNr
    		ORDER BY tblAnlagenNr.ProjektBezeichnung

    Anzahl der Aufgelisteten Datensätze....


    Ich Brauche dijenigen die in 2013 vorkommen aber nicht in 2014 deine Abfrage bringt mir aber jene die auch in 2014 vorkommen ich würde sagen das Trifft meine Abfrage
    Grundauswahl von 2013 aber nicht wenn zwischen 1.1.2014 -31.12.2014


    Kann ich diese Abfrage sinvoll weiterverarbeiten?
    Nun habe ich ja die Betreffende AnlagenNr..
    Auf einer 2 Tabelle ("tblAnlageAllgemein") währen noch die Anlagenbez.("bezeichnung") die ich Anhand der Anlagennummern("AnlagenNr") zuordnen könnte, nur wo muss ich das einfügen :)

    Hahaha es sollen alle Anlagen die den Service im Jahre 2013 hatten:

    SQL
    `ServiceDatum` BETWEEN '2013-01-01' AND '2013-12-31'


    aber noch nicht im Jahre 2014:

    SQL
    HAVING
            `AnlagenNr` NOT IN
            (
                SELECT
                    `AnlagenNr`
                FROM
                    `tblServiceDaten`
                WHERE
                    `ServiceDatum` BETWEEN '2014-01-01' AND '2014-12-31'
            )


    sollen angezeigt werden.
    Ich glaube so stimmt es :) hab mal par checks durchgeführt und es scheint zu funzen :)


    noch ein kleines ding, kann ich die ausgabe auch gleich zählen und aufliesten :)? :?::!:

    Nein falsch verstanden ;)


    alle Service die im Jahre 2013 erledigt wurden aber noch nicht im Jahre 2014 sollen angezeigt werden.


    Dies bringt mir doch die Lösung:

    SQL
    HAVING
            `AnlagenNr` NOT IN
            (
                SELECT
                    `AnlagenNr`
                FROM
                    `tblServiceDaten`
                WHERE
                    `ServiceDatum` BETWEEN '2014-01-01' AND '2014-12-31'
            )


    Oder nicht?

    Hallo,
    Danke jetzt wird doch auch schon was Angezeigt.
    Jedoch hast du mich glaube ich falsch verstanden.
    Es sollen alle AnlagenNr von 2013 Angezeigt werden außer diejenigen die auch im 2014 erledigt wurden.
    Nun werden mir "glaube ich" alle Anlagen angezeigt die "Nur" in 2013 vorkamen auch wenn es früher als 2013 war :)


    P.S. die Klammern habe ich auch verschwinden lassen ;)



    Edit:
    Kann es sein das dies die Lösung ist xD


    Zeile 25