TYPO3Jack.net - Das TYPO3 Mailinglist Forum Archiv

Die TYPO3 Mailingliste - nicht fragen: lesen!

[TYPO3-german] Gelöschter Datensatz wird trotz enableFields angezeigt

This is a discussion on [TYPO3-german] Gelöschter Datensatz wird trotz enableFields angezeigt within the typo3-german@lists.netfielders.de forums, part of the TYPO3-Mailinglisten: DEUTSCH category; Hallo, da ich den Wald vor lauter Bäumen nicht mehr sehe, würde ich mich über eure Hilfe freuen. ...


Zurück   TYPO3Jack.net - Das TYPO3 Mailinglist Forum Archiv > TYPO3-Mailinglisten: DEUTSCH > typo3-german@lists.netfielders.de

Registrieren Hilfe Benutzerliste Kalender Suchen Heutige Beiträge Alle Foren als gelesen markieren
  #1  
Alt 25.08.2007, 18:30
Kai Böhm
Gast
 
Beiträge: n/a
Standard [TYPO3-german] Gelöschter Datensatz wird trotz enableFields angezeigt

Hallo,

da ich den Wald vor lauter Bäumen nicht mehr sehe, würde ich mich über
eure Hilfe freuen. Hintergrund meiner Verwirrtheit ist folgendes
mySQL-Statement in einem selbst entwickelten Frontend-Plugin:

foreach ($districtArray as $subArray) {
$implodeArray[$subArray['uid']] = $subArray['uid'];
}
$whereClause = $t3.'.uid='.implode(' OR '.$t3.'.uid=', $implodeArray);
//debug($whereClause);
//$whereClause = $t3.'.uid=16';

$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
$t2.'.uid as blub, '.$t1.'.uid, '.$t1.'.title', // SELECT
$t1.' LEFT JOIN '.$t2.' ON '.$t1.'.uid='.$t2.'.areaid LEFT JOIN '.$t3.'
ON '
..$t2.'.districtid='.$t3.'.uid', // FROM
$whereClause.$this->cObj->enableFields($t1).$this->cObj->enableFields($t2).$this->cObj->enableFields($t3),
// WHERE
'', // GROUP BY
'', // ORDER BY
'' // LIMIT
);

Zunächst erstelle ich aus einem anderen Array die WHERE-Clause. Diese
sieht dann in etwas so aus "uid=7 OR uid=8 OR uid=13 OR uid=14 or
uid=16" mit dem entsprechenden Prefix davor.

Problem an der Sache ist jetzt, dass mir dann trotzdem ein Datensatz
angezeigt wird, bei dem deleted auf true gesetzt ist und der durch
$this->cObj->enableFields($t2) heraus fallen müsste. Da ich mir dann
doch nicht 100 %ig sicher war, habe ich jede uid gesondert in die
where-clause gesetzt (also nur "uid=7" ausgeführt und dann geändert in
"uid=8" und so weiter). Der Datensatz wurde dann nicht angzeigt, selbst
dann nicht, wenn ich ihn explizit aufgerufen habe. Scheinbar griff dann
enableFields.

Ist mein Umgang mit enableFields in dieser Form falsch oder hängt es mit
der WHERE-Clause zusammen? Oder ist es ganz trivial und ich sehe es
einfach nicht?

Grüße

Kai
_______________________________________________
TYPO3-german mailing list
TYPO3-german (AT) lists (DOT) netfielders.de
http://lists.netfielders.de/cgi-bin/...o/typo3-german
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
  #2  
Alt 25.08.2007, 18:40
Kai Böhm
Gast
 
Beiträge: n/a
Standard Re: [TYPO3-german]Gelöschter Datensatz wird trotz enableFields angezeigt

Sorry, Klammern waren natürlich die Lösung.

Kai Böhm schrieb:
> Hallo,
>
> da ich den Wald vor lauter Bäumen nicht mehr sehe, würde ich mich über
> eure Hilfe freuen. Hintergrund meiner Verwirrtheit ist folgendes
> mySQL-Statement in einem selbst entwickelten Frontend-Plugin:
>
> foreach ($districtArray as $subArray) {
> $implodeArray[$subArray['uid']] = $subArray['uid'];
> }
> $whereClause = $t3.'.uid='.implode(' OR '.$t3.'.uid=', $implodeArray);
> //debug($whereClause);
> //$whereClause = $t3.'.uid=16';
>
> $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
> $t2.'.uid as blub, '.$t1.'.uid, '.$t1.'.title', // SELECT
> $t1.' LEFT JOIN '.$t2.' ON '.$t1.'.uid='.$t2.'.areaid LEFT JOIN
> '.$t3.' ON '
> .$t2.'.districtid='.$t3.'.uid', // FROM
> $whereClause.$this->cObj->enableFields($t1).$this->cObj->enableFields($t2).$this->cObj->enableFields($t3),
> // WHERE
> '', // GROUP BY
> '', // ORDER BY
> '' // LIMIT
> );
>
> Zunächst erstelle ich aus einem anderen Array die WHERE-Clause. Diese
> sieht dann in etwas so aus "uid=7 OR uid=8 OR uid=13 OR uid=14 or
> uid=16" mit dem entsprechenden Prefix davor.
>
> Problem an der Sache ist jetzt, dass mir dann trotzdem ein Datensatz
> angezeigt wird, bei dem deleted auf true gesetzt ist und der durch
> $this->cObj->enableFields($t2) heraus fallen müsste. Da ich mir dann
> doch nicht 100 %ig sicher war, habe ich jede uid gesondert in die
> where-clause gesetzt (also nur "uid=7" ausgeführt und dann geändert in
> "uid=8" und so weiter). Der Datensatz wurde dann nicht angzeigt, selbst
> dann nicht, wenn ich ihn explizit aufgerufen habe. Scheinbar griff dann
> enableFields.
>
> Ist mein Umgang mit enableFields in dieser Form falsch oder hängt es mit
> der WHERE-Clause zusammen? Oder ist es ganz trivial und ich sehe es
> einfach nicht?
>
> Grüße
>
> Kai


_______________________________________________
TYPO3-german mailing list
TYPO3-german (AT) lists (DOT) netfielders.de
http://lists.netfielders.de/cgi-bin/...o/typo3-german
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
  #3  
Alt 25.08.2007, 18:42
Christian Welzel
Gast
 
Beiträge: n/a
Standard Re: [TYPO3-german]Gelöschter Datensatz wird trotz enableFields angezeigt

Kai Böhm wrote:

> Zunächst erstelle ich aus einem anderen Array die WHERE-Clause. Diese
> sieht dann in etwas so aus "uid=7 OR uid=8 OR uid=13 OR uid=14 or
> uid=16" mit dem entsprechenden Prefix davor.


das könntest du kürzer als
WHERE uid IN (7,8,..16)
schreiben.

> Ist mein Umgang mit enableFields in dieser Form falsch oder hängt es mit
> der WHERE-Clause zusammen? Oder ist es ganz trivial und ich sehe es
> einfach nicht?


Lass dir doch die komplette Query mal anzeigen (
echo $GLOBALS['TYPO3_DB']->exec_SELECTquery(...)
)
und schau, was da steht. Dann kannst du das auch mal über den phpmyadmin
ausprobieren und schauen, was da passiert.

--
MfG, Christian Welzel

GPG-Key: http://www.camlann.de/key.asc
Fingerprint: 4F50 19BF 3346 36A6 CFA9 DBDC C268 6D24 70A1 AD15
_______________________________________________
TYPO3-german mailing list
TYPO3-german (AT) lists (DOT) netfielders.de
http://lists.netfielders.de/cgi-bin/...o/typo3-german
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
  #4  
Alt 25.08.2007, 18:52
Martin Holtz
Gast
 
Beiträge: n/a
Standard Re: [TYPO3-german]Gelöschter Datensatz wird trotz enableFields angezeigt

Hi Kai,

> da ich den Wald vor lauter Bäumen nicht mehr sehe, würde ich mich über
> eure Hilfe freuen. Hintergrund meiner Verwirrtheit ist folgendes
> mySQL-Statement in einem selbst entwickelten Frontend-Plugin:

ähm, es wäre besser gewesen, wenn Du das ergebnis SQL gezeigt hättest.

> $whereClause = $t3.'.uid='.implode(' OR '.$t3.'.uid=', $implodeArray);

ich vermute, hier fehlt eine Klammer um die ORs?

( ... OR ... OR ...) AND delete=0
anstelle
... OR ... OR (... AND delete = 0)

könnte es das sein?

gruß,
martin
_______________________________________________
TYPO3-german mailing list
TYPO3-german (AT) lists (DOT) netfielders.de
http://lists.netfielders.de/cgi-bin/...o/typo3-german
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
  #5  
Alt 25.08.2007, 20:21
Kai Böhm
Gast
 
Beiträge: n/a
Standard Re: [TYPO3-german]Gelöschter Datensatz wird trotz enableFields angezeigt

Hi Martin,

ja, die Klammer war's. Hatte es in dem Moment als ich die Frage
wegschickte auch noch gemerkt. Wie gesagt, stand halt total im Wald.
Aber trotzdem danke für die Hilfe.

Grüße

Kai

Martin Holtz schrieb:
> Hi Kai,
>
>> da ich den Wald vor lauter Bäumen nicht mehr sehe, würde ich mich über
>> eure Hilfe freuen. Hintergrund meiner Verwirrtheit ist folgendes
>> mySQL-Statement in einem selbst entwickelten Frontend-Plugin:

> ähm, es wäre besser gewesen, wenn Du das ergebnis SQL gezeigt hättest.
>
>> $whereClause = $t3.'.uid='.implode(' OR '.$t3.'.uid=', $implodeArray);

> ich vermute, hier fehlt eine Klammer um die ORs?
>
> ( ... OR ... OR ...) AND delete=0
> anstelle
> ... OR ... OR (... AND delete = 0)
>
> könnte es das sein?
>
> gruß,
> martin


_______________________________________________
TYPO3-german mailing list
TYPO3-german (AT) lists (DOT) netfielders.de
http://lists.netfielders.de/cgi-bin/...o/typo3-german
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
  #6  
Alt 25.08.2007, 20:22
Kai Böhm
Gast
 
Beiträge: n/a
Standard Re: [TYPO3-german]Gelöschter Datensatz wird trotz enableFields angezeigt

Hi Christian,

wie schon oben geschrieben, war's die fehlende Klammer. Danke trotzdem!

Grüße

Kai

Christian Welzel schrieb:
> Kai Böhm wrote:
>
>> Zunächst erstelle ich aus einem anderen Array die WHERE-Clause. Diese
>> sieht dann in etwas so aus "uid=7 OR uid=8 OR uid=13 OR uid=14 or
>> uid=16" mit dem entsprechenden Prefix davor.

>
> das könntest du kürzer als
> WHERE uid IN (7,8,..16)
> schreiben.
>
>> Ist mein Umgang mit enableFields in dieser Form falsch oder hängt es mit
>> der WHERE-Clause zusammen? Oder ist es ganz trivial und ich sehe es
>> einfach nicht?

>
> Lass dir doch die komplette Query mal anzeigen (
> echo $GLOBALS['TYPO3_DB']->exec_SELECTquery(...)
> )
> und schau, was da steht. Dann kannst du das auch mal über den phpmyadmin
> ausprobieren und schauen, was da passiert.
>


_______________________________________________
TYPO3-german mailing list
TYPO3-german (AT) lists (DOT) netfielders.de
http://lists.netfielders.de/cgi-bin/...o/typo3-german
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
[TYPO3-german] Eigene Extension wird nicht gecached trotz USER Helmut Hummel typo3-german@lists.netfielders.de 4 06.06.2007 23:46
[TYPO3-german] admPanel: Mal wird es angezeigt, mal nicht.. Fabian Koenig typo3-german@lists.netfielders.de 4 25.04.2007 13:13
[TYPO3-german] Menüprobleme Ebene wird nicht angezeigt Alexander typo3-german@lists.netfielders.de 1 09.02.2007 20:59
Re: [TYPO3-german]Nur erste Menüebene wird angezeigt Michael Gnessner typo3-german@lists.netfielders.de 0 13.01.2007 17:48
[TYPO3-german] Nur erste Menüebene wird angezeigt Alexander typo3-german@lists.netfielders.de 0 13.01.2007 17:21


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:49 Uhr.


Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74