Beiträge von seoBOXX

    Hallo ihr Lieben,


    danke für die Aufklärung und natürlich werde ich mich daran halten. Ich habe absolut keine Verbindung zwischen einem deutschen Joomlaforum und StackExchange gesehen. Einen typischen Crosspost hätte ich jetzt mehr in mehreren deutschen Foren gesehen aber man lernt ja nie aus ... somit sei Besserung gelobt. Zudem möchte ich noch kurz loswerden, dass auch auf StackExchange von mir die Lösung gepostet wurde, damit auch da die Lösung auffindbar ist und im Umkehrschluss hätte ich auch hier eine funktionale Lösung von StackExchange gepostet.


    Viele Grüße und einen schönen Tag,


    Andreas

    SO ... ich habe es letzten Endes hinbekommen ... das erste JOIN muss in den WHERE - Bereich, um die Results zu begrenzen und die JOIN(s) erweitern nur die Daten der Tabelle für das Sortieren. Hoffe ich habe das auch richtig wiedergegeben :)


    SQL
    SELECT sortb.value, sortb.field_id, sortc.value, sortc.field_id, content.*, fieldvalues.*
    FROM  #__fields_values AS fieldvalues, #__content AS content
    LEFT JOIN (#__fields_values AS sortb)
    ON (content.id = sortb.item_id AND sortb.field_id=417)
    LEFT JOIN (#__fields_values AS sortc)
    ON (content.id = sortc.item_id AND sortc.field_id=46)
    WHERE content.catid=" . $catid . " AND content.id = fieldvalues.item_id AND fieldvalues.field_id=420 AND fieldvalues.value LIKE '%Dortmund%' ";
    ORDER BY sortb.value, sortc.value;


    Das Dortmund ersetze ich nun noch durch eine Variable und dann sollte es passen.

    Guten Morgen und einen schönen Sonntag firstlady


    das WHERE begrenzt ja die Anzahl der Inhalte aus der Kategorie ... also quasi ist es die Kategorie, in der ich die Bücher einzeln als Artikel angelegt habe. Das passt aktuell schon. Es sind 123 Artikel in der Kategorie. Ich verstehe nicht ganz, wie sich nun in jedem Abfrageergebnis alle Artikel befinden können aber ich tippe mal, dass der Teil vor dem ersten JOIN schon die richtigen Artikel enthalten sollte und die Abfrage nach dem Stichwort oder Ort aus den Fielsvalues sich schon im ersten Teil wiederfinden sollte, oder?

    astrid


    Hab vielen lieben Dank ... das funktioniert super .... da fehlt mir einfach die Erfahrung muss ich ehrlich sagen ... auch lieben Dank, dass Du es super erklärt hast! Da werden sich die Damen und Herren des Heimatvereins freuen :)


    Ich muss mich damit unbedingt noch näher befassen und da noch mehr Basiswissen erlernen.


    Bisher habe ich die SQL-Abfragen immer als reines SQL belassen. Macht es Sinn, diese auf Joomla umzusetzen oder was wird dadurch besser? Ist es mehr eine Sicherheitsfrage?


    astrid Jetzt passiert aber folgendes ....


    Es sind 123 Bücher in der Literaturdatenbank. Wenn ich nach Autor sortiere werden mir 123 Bücher angezeigt. Wenn ich allerdings bisher mit dem alten SQL die Anzahl der Bücher abfragte, welche sich in der örtlichen Sortierung mit dem Bereich Dortmund befassten, so waren es 8.

    Mit der neuen Sortierung sind es alle 123. Wie kann ich die Anzahl der anzuzeigenden Datensätze auf die begrenzen, die durch sorta ausgefiltert wurden?

    Also wenn ich mir das zusammenbastele sieht das so aus ->


    SQL
    SELECT sorta.value, sorta.field_id, sortb.value, sortb.field_id, content.*, fieldvalues.* 
    FROM #__content AS content, #__fields_values AS fieldvalues 
    WHERE content.catid=52 
    LEFT JOIN (#__fields_values AS sorta) 
    ON (content.id = sorta.item_id AND sorta.field_id=417) 
    LEFT JOIN (#__fields_values AS sortb) 
    ON (content.id = sortb.item_id AND sortb.field_id=46) 
    ORDER BY sorta.value, sortb.value;

    ich kriege dann den Fehler 1064, dass im JOIN etwas falsch ist ...


    Error: 1064

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near

    'LEFT JOIN (#__fields_values AS sorta) ON (content.id = sorta.item_id AND sort' at line 1



    firstlady .... sorry .. hast recht ...falsch abgetippert .... nun fällt mir grad auf ... da es ein task des views ist habe ich mal den view dazu ergänzt ...


    also aus


    Code
    url: 'index.php?option=com_literaturverzeichnis&task=GetBookDataFromDB',


    habe ich


    Code
    url: 'index.php?option=com_literaturverzeichnis&view=gesamtajax&task=GetBookDataFromDB',


    Jetzt komm ich auf eine leere Seite in der der Text aus der Function im Controller ausgegeben wird. Ziel sollte allerdings sein diesen call zu machen und im Hintergrund Daten aus der DB auszulesen und diese dann auf dem view anzuzeigen.


    Was mache ich falsch?

    Lieben Dank ... somit ist mir klar, das ich das nicht direkt aufrufen kann. Mit den Seiten die Du verlinkt hast bin ich nun soweit, dass ich mit eine function in die controller.php der Komponente gemacht habe, welche wie folgt aussieht:


    Code
    class LiteraturverzeichnisController extends JControllerLegacy {
    
         function GetBookDataFromDB() {
              echo "<p>FUNKTIONIERT</p>";
         }
    
    }


    Und der call aus der default.php des views sieht wie folgt aus



    Die ajax routine wird auch aufgerufen aber sonst passiert nichts und ich bin ziemlich ratlos.

    Hallo zusammen,


    ich bin noch ein echter Noob in dem Bereich aber ich habe mir eine kleine Adminkomponente erstellt, welche einige Listen und Tabellenabfragen erstellt. Soweit so gut.

    Da die Datenmengen etwas größer sind und die Abfragen etwas Zeit benötigen, habe ich mir gedacht, dass ich das per AJAX erledigen könnte und so die Seite nicht immer freezt.


    Ich habe mir in der default.php des view nun folgenden code integriert:


    und dazu eine helper.php im gleichen Verzeichnis wie die default.php mit folgendem Inhalt:

    PHP
    <?php
    echo 'DATA';

    mit dem Ergebnis, dass nichts passiert. Die Ladeanimation wird angezeigt und der entsprechende Text auch aber danach passiert nichts mehr.

    Kann mir jemand einen groben Schubs geben woran es liegt?

    Hallo zusammen,


    ich habe unsere Vereinsseite erweitert mit einer Fülle Customfields zum Thema Literaturinformationen. Nun habe ich mit ein Override für eine Kategorieansicht erstellt, welche das Sortieren nach Customfield-Inhalten ermöglicht.


    Nun wird zum Beispiel bei der Sortierung der Buchtitel bzw. Veröffentlichungen nach Autor richtig sortiert mit diesem Code


    Code
    $query = "SELECT content.*, fieldvalues.* FROM #__content AS content, #__fields_values AS fieldvalues WHERE content.catid=" . $catid . " AND content.id = fieldvalues.item_id AND fieldvalues.field_id=418 AND fieldvalues.value LIKE '%" . $sorttype . "%' ORDER BY fieldvalues.value ASC;";


    Ich möchte aber nun, dass wenn der Autor mehr als ein Werk veröffentlicht hat, diese zusätzlich nach dem Erscheinungsjahr sortiert werden, welches in der fieldvalues.field_id=131 abgelegt ist.


    Mir ist klar, dass so etwas möglich ist aber ich finde keine Ansätze das umzusetzen. Vielleicht könnt Ihr helfen oder mir eine Schubs in die richtige Richtung (Tutorial, Example .. etc.) geben.


    Bleibt gesund und vielen Dank!