Beiträge von cottton

    Moin,
    ich versuche mit einer Query Profile zu filtern bei denen noch ungelesene Nachrichten zu finden sind:

    SQL
    SELECT id,name,email,email_activ,ugroup,lang 
    FROM database.profiles
    WHERE (
    	SELECT COUNT(msg_id) AS amount FROM database.pro_msgs
    		WHERE
    			deldef = 0
    			AND receiver = id
    			AND opened = 0
    			AND deleted = 0
    ) > 0

    Die Query funktioniert, aber ich wie bekomme ich "COUNT(msg_id) AS amount" in das Ergebnis, also in die jeweilige Row?

    Nein, ich hab mehrere Tabellen.
    Die tabelle 'profiles' enthält die Grunddaten und fortlaufende ID.
    Andere Tabellen besitzen dann Werte wie zB Einstellungen, PM, ect. Die werden dann via ID angesprochen.

    Bei einem INSERT INTO profiles bekommt der neu erstellte Nutzer ja eine neue ID, die ich nicht kenne, weil ja fortlaufend ...
    Um den neuen Nutzer jetzt bei den anderen Tabellen bekannt zu machen brauch ich ja die ID.
    Und das hab ich jetzt mit dem Trigger gelöst, idem der Trigger einen neuen Eintrag in den jeweiligen Tabellen vornimmt =)

    Was aber nervt ist, dass DELIMITER nicht bei prepared statements (sql, PDO) funktionier :(
    Also kann ich nur eine Anweisung per Trigger via Script erstellen lassen ...

    Na dann pack es doch in ein array @javascript.
    Könnte mir das in einer (oder mehreren) Klasse vorstellen (http://www.peterkropff.de/site/javascrip…rfunktionen.htm).
    Oder eine einfache function, die ein globales array erstellt und bei Bedarf bestimmte Sachen augibt.

    EDIT:
    zB sowas hier:

    Frage mich gerade wie ich die Fortlaufende ID bekomme, wenn ich einen neuen User in der db erstelle, dabei ja aber die ID noch nicht kenne.
    Ein INSERT INTO gibt ja nix zurück. Ist es möglich die durch INSERT erstelle ID zu bekommen?


    EDIT:
    trigger wäre ja auch nixht schlecht. Da steh ich allerdings vor der Frage, wie ich dem Trigger die neue ID übergebe`oO?

    Doch selbst rausgefunden :D
    Falls jemand noch was sieht (fehler, tipps oder so wegen dem trigger) immer her damit

    Ja, klar. Also men in the middle halt.
    Die website an sich ist ja dann ein ~anderes Thema.

    Ich hab lange gesucht und gelesen und es gibt wohl keine wirkliche einfache Möglichkeit sensible Daten wie zB den Login zu Verschlüsseln.
    Das beste was ich gelesen hab war bei CCC. Da stand ein Zitat von irgendwem, in dem es darum ging, dass es doch nur um die Verslüsselung sensible Daten geht und man doch dafür nicht zahlen müssen sollte.

    Also mein Fazit:
    Große Projekte => Zertifikat kaufen.
    Kleine Projekte => keine Verschlüsselung :(

    Ein selbst erstelltes Zertifikat würde Sicherheit bringen, allerdings bekommt der Benutzer eine Meldung vom Browser, dass dieses nicht sicher ist ect. Also => Benutzer verunsichert und "geht weg".

    Eine Hoffung hab ich allerdings noch: hat jemand Erfahrung ect mit kostenlosen Zertifikaten?

    ungetestet, aber so mache ich es:

    Ich empfehle ":val" anstatt "?" als placeholdder. Macht auch schon mal die fehlersuche einfacher und es liest sich besser, wenn die query mal länger wird.

    Naja, was ich in $temp_arr[$arr['pos']] reinpacke ist ja nicht das $arr, sondern der generierte html output.
    Das eigtl $array is zwar immernoch unsortiert, aber das ist egal, da ich es mit den keys anspreche, wenn ich etwas daraus brauche.

    Das ist doch bissl zu viel.
    Ist zwar interessant, aber bis ich das zum laufen gebaracht hab nutz ich besser php definiertes :D

    Habs jetzt so geregelt:



    Das foreach ist ja sowieso schon da, und ich denke ksort() und das temp_arr werden nicht so viel fressen.
    Ich wette ich kann and hundert anderen Ecken im script noch sparen =)

    Jemand ne idee, wie ich ein Array am Ressourcen schonendsten nach einem im Array enthaltenen Wert sortiere?
    Irgentwie hab ich nämlich grade wieder ne Blockade :D

    Das Array würde in etwa so aussehen:


    Ich könnte zwar die Keys (im ersten lvl) nummerieren, allerdings brauch ich dort die Value, welche im gesamten Script als key dient.
    Mit 'pos' wollte ich dann die Position angeben, die bei der Ausgabe im Browser dienen soll.