Willkommen Gast.
Um die volle Funktionalität des Forums nutzen zu können,
müssen Sie sich einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

 
Erweiterte Suche

31.109 Beiträge in 6.474 Themen- von 6.477 Mitglieder - Neuestes Mitglied: Frideborg

15-12-2019 22:00:26
JOOM::GALLERY::FORUMArchivPonyGallery MLZusammenspiel mit anderen KomponentenProblem mit Ponytab (CBE)
Seiten: [1] 2 3
Drucken
Autor Thema: Problem mit Ponytab (CBE)  (Gelesen 25713 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
revox
Newbie
*
Offline Offline

Beiträge: 20


« am: 25-04-2008 20:18:22 »

Hallo!

Ich verwende Joomla 1.0.15 + CBE 0.702 (neueste Version) + PonyGallery 2.5.1 und habe bei der Installation die Read me befolgt und die  Datei modules.class.php (wie in einem anderen Thema beschrieben) im Verzeichnis "/components/com_ponygallery/tools" ersetzt. Eigentlich müsste alles in Ordnung sein, aber mein Profil wird seitdem ohne Template dargestellt und wenn ich den Ponytab aufrufe erscheint folgende Fehlermeldung:

Zitat
PT-E-8: Query Error -> DB function failed with error number 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 'SELECT count(cmtid) FROM jos_ponygallery_comments WHERE cmtpic= SQL=SELECT (SELECT count(cmtid) FROM jos_ponygallery_comments WHERE cmtpic=id) AS cmtcount, p.id AS picid, p.catid, p.imgthumbname, p.imgfilename, p.imgdate, p.imgtitle, p.imgtext, p.imgcounter, p.imgvotes, (p.imgvotesum/p.imgvotes) AS vote,c.name AS cattitle, co.cmttext, co.cmtdate, co.cmtname, co.cmtid FROM jos_ponygallery AS p LEFT JOIN jos_ponygallery_comments AS co ON p.id = co.cmtpic LEFT JOIN jos_ponygallery_catg AS c ON c.cid = p.catid LEFT JOIN jos_ponygallery_comments co2 ON co.cmtpic = co2.cmtpic AND co.cmtdate < co2.cmtdate WHERE co2.cmtpic IS NULL AND c.published = '1' AND c.access <= 2 AND p.published = 1 AND p.approved = 1 AND p.owner = 'admin' ORDER BY p.imgdate DESC
SQL =

SELECT (SELECT count(cmtid) FROM jos_ponygallery_comments WHERE cmtpic=id) AS cmtcount,
            p.id AS picid, p.catid, p.imgthumbname, p.imgfilename,
            p.imgdate, p.imgtitle, p.imgtext, p.imgcounter, p.imgvotes,
            (p.imgvotesum/p.imgvotes) AS vote,c.name AS cattitle,
            co.cmttext, co.cmtdate, co.cmtname, co.cmtid
            FROM jos_ponygallery AS p
            LEFT JOIN jos_ponygallery_comments AS co ON p.id = co.cmtpic
            LEFT JOIN jos_ponygallery_catg AS c ON c.cid = p.catid
            LEFT JOIN jos_ponygallery_comments co2 ON co.cmtpic = co2.cmtpic
            AND co.cmtdate < co2.cmtdate
            WHERE co2.cmtpic IS NULL
            AND c.published = '1'
            AND c.access <= 2
            AND p.published = 1
            AND p.approved = 1
            AND p.owner = 'admin' ORDER BY p.imgdate DESC

Hat jemand eine Idee?

Gruß Dirk

 
Gespeichert
aHa
Entwickler-Team
Hero Member
*****
Offline Offline

Beiträge: 2.367


WWW
« Antworten #1 am: 25-04-2008 20:37:13 »

Hi Dirk,
welche Version von mySQL ist installiert?
Du könntest mal den SQL-Query in der Fehlermeldung weiter unten direkt innerhalb von phpMyAdmin ausführen lassen.
Erhältst Du dort den gleichen Fehler?

Gruß
Andreas
Gespeichert
revox
Newbie
*
Offline Offline

Beiträge: 20


« Antworten #2 am: 25-04-2008 20:56:49 »

Hallo Andreas!

Die mySQL Version ist 5.0.27. Mein Hoster ist übrigens all-inkl.com

Den Befehl ab SQL = select (Hoffe, das war richtig so, hab ich in meiner Datenbank ausführen lassen. Mit folgendem Ergebniss:

Zitat
Fehler

SQL-Befehl: Dokumentation

SQL = SELECT (

SELECT count( cmtid )
FROM jos_ponygallery_comments
WHERE cmtpic = id
) AS cmtcount, p.id AS picid, p.catid, p.imgthumbname, p.imgfilename, p.imgdate, p.imgtitle, p.imgtext, p.imgcounter, p.imgvotes, (
p.imgvotesum / p.imgvotes
) AS vote, c.name AS cattitle, co.cmttext, co.cmtdate, co.cmtname, co.cmtid
FROM jos_ponygallery AS p
LEFT JOIN jos_ponygallery_comments AS co ON p.id = co.cmtpic
LEFT JOIN jos_ponygallery_catg AS c ON c.cid = p.catid
LEFT JOIN jos_ponygallery_comments co2 ON co.cmtpic = co2.cmtpic
AND co.cmtdate < co2.cmtdate
WHERE co2.cmtpic IS NULL
AND c.published = '1'
AND c.access <=2
AND p.published =1
AND p.approved =1
AND p.owner = 'admin'
ORDER BY p.imgdate DESC
LIMIT 0 , 30

MySQL meldet: Dokumentation
#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 'SQL =   SELECT ( SELECT count( cmtid ) FROM jos_ponygallery_com

Gruß Dirk
« Letzte Änderung: 26-04-2008 09:31:06 von revox » Gespeichert
aHa
Entwickler-Team
Hero Member
*****
Offline Offline

Beiträge: 2.367


WWW
« Antworten #3 am: 25-04-2008 22:13:53 »

Ja, das war richtig. Danke für den Test.

Ich habe gerade den SQL Code (Copy&Paste aus Deinem letzten Beitrag) im phpMyAdmin einer all-inkl Seite ausprobiert.
Allerdings mySQL 4.1.21, PHP 4.4.8. Dort hat es funktioniert.

Der Parser deiner DB zeigt ein Problem mit diesem verschachtelten QUERY an.

Könntest Du diesen verkürzten Code einmal ausprobieren, um das Problem einzugrenzen?
Code
SELECT p.id AS picid, p.catid, p.imgthumbname, p.imgfilename, p.imgdate, p.imgtitle, p.imgtext, p.imgcounter, p.imgvotes, (
p.imgvotesum / p.imgvotes) AS vote, c.name AS cattitle, co.cmttext, co.cmtdate, co.cmtname, co.cmtid
FROM jos_ponygallery AS p
LEFT JOIN jos_ponygallery_comments AS co ON p.id = co.cmtpic
LEFT JOIN jos_ponygallery_catg AS c ON c.cid = p.catid
LEFT JOIN jos_ponygallery_comments co2 ON co.cmtpic = co2.cmtpic AND co.cmtdate < co2.cmtdate
WHERE co2.cmtpic IS NULL
AND c.published = '1'
AND c.access <=2
AND p.published =1
AND p.approved =1
AND p.owner = 'admin'
ORDER BY p.imgdate DESC
LIMIT 0 , 30
 
Gespeichert
revox
Newbie
*
Offline Offline

Beiträge: 20


« Antworten #4 am: 26-04-2008 09:29:52 »

Yepp, so läuft es und er findet die 25 Bilder, die mir derzeit zugeordnet sind. Wo müsste ich den Code fixen?

Gruß Dirk
Gespeichert
aHa
Entwickler-Team
Hero Member
*****
Offline Offline

Beiträge: 2.367


WWW
« Antworten #5 am: 26-04-2008 10:55:34 »

Eigentlich war der verkürzte Code nur als Test gedacht, um festzustellen, ob die Abfrage sonst fehlerfrei durchläuft.....
Die Frage bleibt, warum im Originalcode bei Dir der Fehler ausgegeben wird und bei mir zum Beispiel nicht

Der Code befindet sich in der ponytab.php ab Zeile 305. Geändert würde er so aussehen:
Code
$query  = "SELECT p.id AS picid, p.catid, p.imgthumbname, p.imgfilename,
         p.imgdate, p.imgtitle, p.imgtext, p.imgcounter, p.imgvotes,
         (p.imgvotesum/p.imgvotes) AS vote,c.name AS cattitle,
         co.cmttext, co.cmtdate, co.cmtname, co.cmtid
         FROM #__ponygallery AS p
         LEFT JOIN #__ponygallery_comments AS co ON p.id = co.cmtpic
         LEFT JOIN #__ponygallery_catg AS c ON c.cid = p.catid
         LEFT JOIN #__ponygallery_comments co2 ON co.cmtpic = co2.cmtpic
         AND co.cmtdate < co2.cmtdate
         WHERE co2.cmtpic IS NULL
         AND c.published = '1'
         AND c.access <= $my->gid
         AND p.published = 1
         AND p.approved = 1
         AND p.owner = '$user->username'"
;
 

In dem Subtab 'Bilder' ist es jetzt nicht mehr möglich, die Anzahl der Kommentare für das jeweilige Bild anzuzeigen.

Funktionieren die anderen Subtabs 'Kommentare' und 'Namensschilder'? Dort werden ähnliche Abfragen eingesetzt.
Gespeichert
revox
Newbie
*
Offline Offline

Beiträge: 20


« Antworten #6 am: 26-04-2008 11:26:50 »

Hi!

Hab mal den Code ab Zeile 305 ersetzt. Ergebniss: In der Profilansicht ist das Template weiterhin weg. Der Haupttab funktiniert. Subtab Kommentare vorhanden, allerdings mit fast identischer Fehlermeldung wie vorher der Haupttab (Ich denke, das war logisch). Subtab Namensschilder ist nicht vorhanden.

Gruß Dirk
Gespeichert
Hechtpike
Newbie
*
Offline Offline

Beiträge: 5


« Antworten #7 am: 26-04-2008 11:57:14 »

Hi Leute,

ich habe d. gleichen Fehler wie Revox. Habe ich verkürze Code in Zeile 305 eingepflegt und bekamm  folgende Fehlermeldung:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /homepages/17/d182777001/htdocs/community/components/com_comprofiler/enhanced/ponytab/ponytab.php on line 321
.

Ich bin leider kein Porfi, und bin mit mein Latei am Ende.
Ich verwende :
  • CBE-Beta1-1/2 0.702pk
  • MySQL4.0
  • Joomla! 1.0.13 Stable
  • PonyGallery 2.5.1

Hat jemand noch eine Idee?
Gruß Sebastian ( Hechtpike)
Gespeichert
aHa
Entwickler-Team
Hero Member
*****
Offline Offline

Beiträge: 2.367


WWW
« Antworten #8 am: 26-04-2008 12:23:01 »

Den langen Code habe ich jetzt auch unter mySQL 5.0.45 getestet -> funktioniert

@revox, das Template wird deshalb nicht angezeigt, weil nach Auftreten des Fehlers mit der Anweisung 'die()'
nachfolgender Code nicht mehr ausgeführt wird.

Nimm die Änderung auch in dem Code ab Zeile 388 vor. Das betrifft dann den Subtab 'Kommentare'
Code
$query  = "SELECT p.id AS picid, p.catid, p.imgthumbname, p.imgfilename,
          p.imgdate, p.imgtitle, p.imgtext, p.imgcounter, p.imgvotes,
          (p.imgvotesum/p.imgvotes) AS vote,c.name AS cattitle,
          co.cmttext, co.cmtdate, co.cmtname, co.cmtid
          FROM #__ponygallery_comments AS co
          LEFT JOIN #__ponygallery AS p ON p.id = co.cmtpic
          LEFT JOIN #__ponygallery_catg AS c ON c.cid = p.catid
          WHERE c.published = '1'
          AND c.access <= $my->gid
          AND p.published = 1
          AND p.approved = 1
          AND co.cmtname = '$user->username'
          AND co.published = 1
          AND co.approved = 1"
;
 

@Sebastian: Bei Dir liegt ein PHP Fehler vor. Poste bitte die Zeilen 319 - 325. Danke

So langsam geht mein Latein auch zu Ende. Besonders, weil ich den Fehler nicht in meinen Installationen nachvollziehen kann.
Wenn jemand bereit ist, mir einen Zugang zu Euren phpMyAdmin zu geben, bitte die Zugangsdaten per PN.
Danke
Gespeichert
Hechtpike
Newbie
*
Offline Offline

Beiträge: 5


« Antworten #9 am: 26-04-2008 12:57:23 »

HI aHa,
vielen Dank für die schneller Antwort.
Zeile 320 - 333 , 319 ist leer.

// Limit query to frontend-uploaded pictures
if ($cb_tab_config['only_user_photos'] == 1) {
$query .= " AND p.useruploaded = 1";
}
if($cb_tab_config['cats'] != "") {
$cats = trim($cb_tab_config['cats']);
if ( strlen($cats) > 0 ) {
if($cb_tab_config['showorhidecats'] == 1) {
$query .= " AND p.catid IN (".$cats.")\n";
} else {
$query .= " AND p.catid NOT IN (".$cats.")\n";
}
}

}

Gruß
Sebastian
Gespeichert
revox
Newbie
*
Offline Offline

Beiträge: 20


« Antworten #10 am: 26-04-2008 13:47:20 »

Den langen Code habe ich jetzt auch unter mySQL 5.0.45 getestet -> funktioniert

@revox, das Template wird deshalb nicht angezeigt, weil nach Auftreten des Fehlers mit der Anweisung 'die()'
nachfolgender Code nicht mehr ausgeführt wird.

Nimm die Änderung auch in dem Code ab Zeile 388 vor. Das betrifft dann den Subtab 'Kommentare'
Code
$query  = "SELECT p.id AS picid, p.catid, p.imgthumbname, p.imgfilename,
          p.imgdate, p.imgtitle, p.imgtext, p.imgcounter, p.imgvotes,
          (p.imgvotesum/p.imgvotes) AS vote,c.name AS cattitle,
          co.cmttext, co.cmtdate, co.cmtname, co.cmtid
          FROM #__ponygallery_comments AS co
          LEFT JOIN #__ponygallery AS p ON p.id = co.cmtpic
          LEFT JOIN #__ponygallery_catg AS c ON c.cid = p.catid
          WHERE c.published = '1'
          AND c.access <= $my->gid
          AND p.published = 1
          AND p.approved = 1
          AND co.cmtname = '$user->username'
          AND co.published = 1
          AND co.approved = 1"
;
 

@Sebastian: Bei Dir liegt ein PHP Fehler vor. Poste bitte die Zeilen 319 - 325. Danke

So langsam geht mein Latein auch zu Ende. Besonders, weil ich den Fehler nicht in meinen Installationen nachvollziehen kann.
Wenn jemand bereit ist, mir einen Zugang zu Euren phpMyAdmin zu geben, bitte die Zugangsdaten per PN.
Danke

Hab den Code ab Zeile 388 (387) ersetzt, alles wie gehabt mit etwas anderer Fehlermeldung:

Zitat
PT-E-10: Query Error -> DB function failed with error number 1054
Unknown column 'cmtcount' in 'order clause' SQL=SELECT p.id AS picid, p.catid, p.imgthumbname, p.imgfilename, p.imgdate, p.imgtitle, p.imgtext, p.imgcounter, p.imgvotes, (p.imgvotesum/p.imgvotes) AS vote,c.name AS cattitle, co.cmttext, co.cmtdate, co.cmtname, co.cmtid FROM jos_ponygallery_comments AS co LEFT JOIN jos_ponygallery AS p ON p.id = co.cmtpic LEFT JOIN jos_ponygallery_catg AS c ON c.cid = p.catid WHERE c.published = '1' AND c.access <= 2 AND p.published = 1 AND p.approved = 1 AND co.cmtname = 'admin' AND co.published = 1 AND co.approved = 1 ORDER BY co.cmtdate DESC,cmtcount DESC
SQL =

SELECT p.id AS picid, p.catid, p.imgthumbname, p.imgfilename,
           p.imgdate, p.imgtitle, p.imgtext, p.imgcounter, p.imgvotes,
           (p.imgvotesum/p.imgvotes) AS vote,c.name AS cattitle,
           co.cmttext, co.cmtdate, co.cmtname, co.cmtid
           FROM jos_ponygallery_comments AS co
           LEFT JOIN jos_ponygallery AS p ON p.id = co.cmtpic
           LEFT JOIN jos_ponygallery_catg AS c ON c.cid = p.catid
           WHERE c.published = '1'
           AND c.access <= 2
           AND p.published = 1
           AND p.approved = 1
           AND co.cmtname = 'admin'
           AND co.published = 1
           AND co.approved = 1 ORDER BY co.cmtdate DESC,cmtcount DESC

PN mit Zugang zur Datenbank ist unterwegs..

Gruß Dirk
Gespeichert
aHa
Entwickler-Team
Hero Member
*****
Offline Offline

Beiträge: 2.367


WWW
« Antworten #11 am: 26-04-2008 15:46:53 »

@revox: ok, die letzte Zeile in dem geposteten Code muss noch geändert werden.
'cmtcount' ist ja jetzt weggefallen.

Code
AND co.approved = 1 ORDER BY co.cmtdate DESC
 
Gespeichert
aHa
Entwickler-Team
Hero Member
*****
Offline Offline

Beiträge: 2.367


WWW
« Antworten #12 am: 26-04-2008 15:59:39 »

Sebastian,
schau Dir den Code hier noch einmal genau an.
Besonders die letzte Zeile. Wahrscheinlich fehlt bei Dir ein Zeichen.
Gespeichert
Hechtpike
Newbie
*
Offline Offline

Beiträge: 5


« Antworten #13 am: 26-04-2008 16:36:06 »

aHa Du bist spitze !!!!
Der Tab läuft, ich war etwas blind.
Noch ein kleines Problem habe ich.
Mein User CBE Menü, wird nicht mit dem Templates dargestellt.
Nur weiße Hintergrund und es fehlen alle Module.

Bitte noch einmal um Hilfe!!!

danke
Sebastian
Gespeichert
aHa
Entwickler-Team
Hero Member
*****
Offline Offline

Beiträge: 2.367


WWW
« Antworten #14 am: 26-04-2008 17:04:06 »

@Hechtpike: Vielen Dank  sm_smile

Ein Versuch, das hier aufgetretene Problem zu beschreiben:
Der Code, den der Tab an die Datenbank schickt, ist korrekt.
Er wird aber nicht von jeder Version von mySQL unterstützt.

Dieses auch 'Subselect' genannte Konstrukt (SELECT (SELECT COUNT(cmtid)....  )
benötigt eine mySQL-Version ab 4.1. Damit hat also die Version 4.0.27 von hechtpike ein Problem.

Bei der Version 5.0.27 von revox trifft meines Erachtens dieser Bug zu (Subselect query crashes mysqld), der in der Version 5.0.33 behoben wurde (Changelog).
Da bin ich mir aber nicht ganz sicher...

Ich werde mal schauen, ob dieses Subquery im Tab durch eine andere Lösung ersetzt werden kann.
« Letzte Änderung: 26-04-2008 17:12:36 von aHa » Gespeichert
Seiten: [1] 2 3
Drucken
Gehe zu:  

HOSTED BY SCHWARZKÜNSTLER ®

PROTECTED BY  ZB BLOCK  AND Project Honey Pot
Theme orange-lt created by panic

Bad Behavior has blocked 5254 access attempts in the last 7 days.

mouth