Sie sind nicht angemeldet.

1

Dienstag, 9. August 2011, 13:24

erledigt: Plugin Top3 - nur Premium Einträge anzeigen lassen

Hallo, ich möchte gern das Plugin Top3 so umbauen, dass nur die kostenpflichtige Einträge (bestimmte Eintragpakte) angezeigt werden.

aktuell ist der Code ja so:

Quellcode

1
$sql = "SELECT vCardID FROM ".TABLE_PREFIX."vcards WHERE  Approved = '1' ORDER BY Points DESC LIMIT 0,3";


Wie kann ich bestimmte Eintragspakte vielleicht an hand der Paket ID einschließen bzw. ausschließen?

Ich hoffe das ist verständlich, kann mir da jemand helfen?

Update 10.8.2011: Habe es hinbekommen.
MfG
SHI

Branchenbuch Lausitz
Wir setzen Ihr Unternehmen perfekt in Szene!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »shi« (10. August 2011, 15:56)


2

Donnerstag, 11. August 2011, 09:10

Hallo shi

Anscheinend hast Du die Lösung gefunden.
Kannst Du uns daran teilhaben?

lg

3

Donnerstag, 11. August 2011, 12:35

Ich habe neben Approved = '1' noch die Bedingung PackageID hinzugefügt.

also

Quellcode

1
$sql = "SELECT vCardID FROM ".TABLE_PREFIX."vcards WHERE Approved = '1' AND PackageID = '2' ORDER BY Points DESC LIMIT 0,3";


Wenn jetzt noch einer sagen kann, wie das aussehen muss, wenn man mehrere PackageID zulassen will, wäre toll?
MfG
SHI

Branchenbuch Lausitz
Wir setzen Ihr Unternehmen perfekt in Szene!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »shi« (11. August 2011, 12:43)


4

Donnerstag, 11. August 2011, 12:44

So...

MySQL-Abfrage(n)

1
$sql = "SELECT vCardID FROM ".TABLE_PREFIX."vcards WHERE Approved = '1' AND (PackageID = '1' OR PackageID = '2') ORDER BY Points DESC LIMIT 0,3";
if ($ahnung == NULL) { read FAQ; use SEARCH; use GOOGLE; } else { use brain; make post; }

5

Donnerstag, 11. August 2011, 13:08

danke
MfG
SHI

Branchenbuch Lausitz
Wir setzen Ihr Unternehmen perfekt in Szene!

6

Donnerstag, 13. Oktober 2011, 14:52

Hallo Herr Schoppengerd,

ich benutze diesen Code

Quellcode

1
$sql = "SELECT vCardID FROM ".TABLE_PREFIX."vcards WHERE Approved = '1' AND PackageID = '2' ORDER BY Points DESC LIMIT 0,3";


um Einträge aus einem bestimmen Paket anzuzeigen.

Wie kann ich das umstellen das nur Einträge aus einer bestimmten Kategorie angezeigt werden? ich habe es mit CategorieID probiert versucht, bringt Fehler.

Können Sie mir hier weiterhelfen?
MfG
SHI

Branchenbuch Lausitz
Wir setzen Ihr Unternehmen perfekt in Szene!

7

Donnerstag, 13. Oktober 2011, 15:16

Mit Hilfe eines LEFT JOINS über die Kategorie-Tabellen...
if ($ahnung == NULL) { read FAQ; use SEARCH; use GOOGLE; } else { use brain; make post; }

8

Mittwoch, 19. Oktober 2011, 10:15

Hallo Herr Schoppengerd,

ich habe den Code jetzt wie folgt umgearbeitet aber so richtig will das noch nicht klappen.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
    //Entsprechende Kategorie-ID, nach der Du filtern moechtest, zuweisen
    $category_id = "2";
    
    //Daten Holen
    //$sql = "SELECT vCardID FROM ".TABLE_PREFIX."vcards WHERE Approved = '1' AND (PackageID = '2' OR PackageID = '12') ORDER BY RAND() DESC LIMIT 0,3";
    
    $sql = "SELECT ".TABLE_PREFIX."vcards.vCardID FROM ".TABLE_PREFIX."categories
                    INNER JOIN ".TABLE_PREFIX."categories2vcard ON ".TABLE_PREFIX."categories2vcard.CategoryID = ".TABLE_PREFIX."categories.CategoryID
                    INNER JOIN ".TABLE_PREFIX."vcards ON ".TABLE_PREFIX."categories2vcard.vCardID = ".TABLE_PREFIX."vcards.vCardID
                    WHERE ".TABLE_PREFIX."categories.CategoryID = ".$category_id." AND Approved = '1' AND (PackageID = '2' OR PackageID = '12') 
                    ORDER BY RAND() DESC LIMIT 0,3";

Haben Sie noch eine Idee waron das liegen kann?
MfG
SHI

Branchenbuch Lausitz
Wir setzen Ihr Unternehmen perfekt in Szene!

9

Donnerstag, 20. Oktober 2011, 08:02

Die Abfrage funktioniert, jedoch noch nicht so wie ich es gerne hätte. Es sollten alle Einträge die z.B. unter der Kategorie ID 2 zu finden sind einschließlich der Unterkategorien.

Wie bekomme ich das hin, das die Unterkategorien in die Abfrage mit eingeschlossen werden?
MfG
SHI

Branchenbuch Lausitz
Wir setzen Ihr Unternehmen perfekt in Szene!

10

Donnerstag, 20. Oktober 2011, 08:08

Zitat

Es sollten alle Einträge die z.B. unter der Kategorie ID 2 zu finden sind einschließlich der Unterkategorien

Das werden Sie in einem Rutsch nicht hinbekommen, denn zunächst müssten Sie die betroffene ID der Hauptkategorie plus die IDs der davon betroffenen Unterkategorien ermitteln. In easyLink gibt es dazu die Funktion getCategoryChildren() in der Datei Plugable.func.php und die könnte zumindest für den ersten Teil ganz hilfreich sein.

Im 2. Schritt müsste man dann die IDs mittels des JOINS gegen die Datenbank prüfen. Also im Prinzip der Weg den Sie jetzt auch schon haben, nur halt um eine ganze Liste von IDs erweitert.
if ($ahnung == NULL) { read FAQ; use SEARCH; use GOOGLE; } else { use brain; make post; }