Beiträge von Teron Gerofied

    Hi,

    ja, ich hab zu Silvester nix besseres zu tun als zu coden... mein Problem is folgendes:

    Ich hab ein Query, das vereinfacht so aussieht:

    SELECT
    f.*,
    t.*
    FROM
    table1 AS f
    JOIN LEFT
    table2 AS u
    ON f.tid = u.tid AND t.users LIKE('%.f.uid.%')

    die Abfrage t.users LIKE('%.f.uid.%') erzielt genau garkein Ergebnis (also es verändert nichts ... wie müssen Sachen aus einem Query einer LIKE abfrage übergeben werden damits geht ? (PS: die Prozent-Platzhalter sind unbedingt dazu erforderlich...)

    Lg

    Hi,

    ist zwar jetzt kein wirkliches Script aber eine Hilfe für alle die Boxy benutzen, nicht so viel Ahnung von jQuery haben aber trotzdem ein Fade-In für die Boxys haben wollen ...

    Um folgendes jQuery Modul gehts:
    http://onehackoranother.com/projects/jquery/boxy/

    Öffne dazu: jquery.boxy.js

    Suche nach:

    Ersetze durch:

    Ich veröffentliche diesen Lösungsansatz jetzt mal deswegen weil ich auf Anhieb keine passende Modifikation gefunden hab.

    Lg

    Im übrigen wärs noch interessant wie mans bei deinem Beispiel in jQuery schafft, dass "designedSelect" geschlossen wird, sobald man irgendwo anders hinklickt.

    folgendes war ein ansatz, geht aber nicht so gut:

    Code
    $(document).click(function(){
    	$('.designedSelect').hide();
    });

    Es war auch eher als Denkanstoß gedacht. Habe noch ein wenig daran rumgebastelt, vielleicht schreib ichs auch als jQuery plugin um, was sich treffen würde, da ich ja jQuery verwende.

    Das Problem mit dem Erhalt der Funktionalität für nicht-JS Benutzer hab ich nicht, da praktisch meine gesamte Seite nur mit Ajax Agent und jQuery läuft. Wer da ohne Javascript ist, kommt ohnehin nicht weit xD

    Gott sei dank haben die meisten Browser ja schon die Fähigkeit JavaScript richtig zu interpertieren und sogar der IE wird vielleicht in der Version 14 endlich dazu in der Lage sein, alles so auszuführen, dass man nicht für jede einzelne Version eine Extrawurst schreiben muss. ^^ (Man darf ja noch hoffen)

    Hey,

    habe hier die Grundstruktur einer künstlichen Select-Box ohne Forms, nur in Javascript. Das ist jetzt mal der reine Code, das Ding hat kein wirkliches Design oder so, das kann man aber über CSS alles dazubauen. Man könnte auch eine hidden-Textbox dazumachen und die Werte da eintragen, keine Ahnung. Man hat da viele möglichkeiten ...

    Hier mal die Klasse:


    Um das ganze zu initialisieren muss einfach nur darunter folgendes kommen:

    Code
    combo = new Combobox('combo');
    	entries = new Array(new Array('', 'text1'), new Array('', 'text2'), new Array('', 'text3'))

    Wichtig: wenn die referenz auf das Objekt Bombobox "combo" ist (so wie hier) muss dem Konstruktor ebenfalls der String "combo" übergeben werden.

    im zweidimensionalen Array "entries" werden die Einträge übermittelt ... wobei der erste wert die function ist, die die im onclick-event der einzelnen einträge steht und der zweite wert der angezeigte stringt ist

    mit

    div.combobox li a.cur {} kann man in css definieren, wie einträge aussehen, wenn sie markiert sind.

    um das ganze nun aufzurufen nehme man:

    HTML
    <div onmousedown="combo.show(this, entries)">Combobox</div>

    mit combo.hide() wird das ganze wieder zugemacht.

    viel vergnügen ;)

    lg

    das limit und order by filtert aber nur die ergebnise von "postings" und nicht von den joins.

    es sollen immer nur zwei kommentare aus der datenbank geholt werden zu jedem posting aber insgesamt 30 postings

    ich war schonmal soweit:

    SELECT * FROM
    posting AS p
    LEFT JOIN
    (SELECT * FROM comment FILTER 2) AS c
    ON
    p.posting_id = c.com_posting_id

    das hat aber zur folge, dass insgesamt nur 2 kommentare angezeigt werden ...

    wenn ich jetzt aber die anzahl der postings nehme und diese mal 2 rechne (da ja jedes posting 2 kommentare haben darf - ich komme damit auf "SELECT * FROM comment LIMIT 60)") habe ich das problem, dass wenn bei posting nr 1 60 kommentare existieren dann werden die andrenen kommentare nicht mehr angezeigt.

    hat jemand ne idee ?

    Ok, habe jetzt die Lösung des Problems:

    Der Fehler war, dass beim immer das erste Kommentar ignoriert wurde weil das ja schon im ersten Posting steckt ... folgendes behebt den Fehler:



    EDIT: Jetzt wäre nur mehr eine Frage: Kann man mit SQL auch die Abfrage-Ergebnisse von einem JOIN limitieren, dass zB immer nur 2 Kommentare angezeigt werden .... ohne einer WHERE ... IN Anweisung ... unterstützt mein server nicht ...

    Möchte das nicht in PHP machen, weil ich sonst unnötig viele Daten aus der DB ziehe

    ok, wenn ich das probier und $postings mit var_dump ausgebe kommt folgendes:

    hach, offtopic ist was schönes :)
    Meiner Erfahrung nach ist heutzutage der Speicherverbrauch deutlich weniger wichtig als die Geschwindigkeit der Anwendung.
    Speicher kostet einfach nichts mehr.
    Aber für den Threadersteller sollte das letztendlich sehr egal sein. Ihn wird weder der Speicherbedarf noch der minimale Geschwindigkeitsunterschied bei diesem Problem interessieren.


    Hab mir jetzt mal deinen Lösungsvorschlag angeschaut, stehe aber grade ein bisschen an ...

    sollte das so aussehen:

    Ich würde das ganze über zwei Querys lösen (bzw. bei Nutzung von mysqli oo (o.ä.) noch komfortabler dank prepared statements, aber du nutzt ja noch mysql_*, richtig?).
    Erstes Query liest du Postings aus und füllt sie in einen Array.
    Zweites Query liest dann die Antworten aus und ergänzt das erstellte Posting-Array um die Antworten.

    Wenn man das in einem Query per Join löst bläht man meiner Meinung nach nur das Ergebnis unnötig auf. In der Ergebnismenge sind ja zwangsläufig immer entweder die Spalten aus der Antworttabelle leer, oder die Spalten aus der Postingtabelle sind doppelt-, drei, ... zig-facher Content. Da nehme ich lieber ein Query mehr in Kauf und halbiere dafür den Speicherbedarf für meine Ergebnismenge(n).



    So hatte ich mir das auch gedacht ;)

    So ich hab jetzt mal eben so ein var_dump erstellt ...

    So solls aussehen:

    - Posting 1
    --- Kommentar 1
    --- Kommentar 2
    - Posting 2
    --- Kommentar 1
    --- Kommentar 2
    --- Kommentar 3
    - Posting 3
    --- Kommentar 1

    So siehts aus, wenn der Query so aussieht:

    SQL
    SELECT * FROM posting JOIN comment ON posting_id = com_posting_id

    na gut ich hätte da schon eine idee ...

    ich mach einfach ne normale schleife von den postings und stopf alle kommentare die je geschrieben wurden in ein eigenes array und bastel das dann im php code zusammen ... das ist zwar nur ein select mehr ... aber ich hab dabei irgendwie angst, dass das soviel meiner performance frisst ... was würdet ihr dazu sagen ?

    Ja das will ich eben vermeiden, habe von hausaus schon fast 5-6 querys / seite, deswegen will ichs niedrig halten.

    Zu der Sache mit dem Query: das ist das Problem, ich habe nicht die geringste Idee zur Lösung des Problems ... deswegen bringt mir var_dump auch nix ... weil ein einfacher select query mit nem join is ja kein problem, aber was mach ich weiter damit ?