[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
DB-Zugrif - SELECT - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
Hatori
Beiträge: 133
Registriert: 4. Mai 2016, 17:33
Wohnort: Berlin
Kontaktdaten: Website

DB-Zugrif - SELECT

31. Mai 2016, 23:57

Das wird jetzt schwierig zu erklären ;)
Kann mir mal jemand erklären, wie das mit dem Datenbank-Zugriff hier funktioniert? Ich dreh durch, ganz langsam, aber sicher. Und ich hab wirklich schon tausende selects geschrieben, aber eben von Hand, nicht so, wie hier.
konkretes Beispiel:
Ich habe einen Artikel, in der Tabelle gibt es ein Feld child_from, dessen Inhalt will ich wissen.
Danach will ich alle Artikel finden, die denselben Wert in diesem Feld haben. Wie zum Henker stell ich das an??
Wann benutze ich getArray, wann benutze ich getSelect? Wie komme ich bei getSelect an den Inhalt? Wieso muss man das so kompliziert machen statt einfach eine Query zu schreiben, wie man sie kennt?

Ich weiß, das hört sich nach meckern an, ist aber nicht so gemeint, ich bin nur grad kurz vorm hinschmeißen ... will ich aber eigentlich gar nicht. Ich krieg mit Redaxo mal gar nichts auf die Reihe und das ärgert mich gewaltig.
----------
Einen schönen Tag noch - Hatori
http://www.ninja4ever.de

Benutzeravatar
Oliver.Kreischer
Beiträge: 2508
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

Re: DB-Zugrif - SELECT

1. Jun 2016, 00:26

Hallo Hatori,

leider kann ich jetzt zu der aktuellen Frage nichts sagen.
Ich möchte nur sagen, dass ich es bewundernswert finde mit welcher Geduld du dich mit dem System beschäftigst.

Am besten wäre es wenn du am Samstag Zeit finden würdest und zum Redaxo Tag kommen könntest. Dort gibt es die Infos direkt aus erster Hand. Auch wird dort erklärt wie man eine Webseite mit Redaxo plant und realisiert ( http://www.redaxo.org/de/anmeldung-redaxo-tag-2016/ )

Solltest du keine Zeit haben können wir auch gerne nächste Woche einmal Abends telefonieren (02052 8169420) und ich erkläre dir mal einige Grundlagen.

Vielleicht klären wir auch ob Redaxo das richtige System für dich ist.
Wie beim Kampfsport müssen Mensch und System zusammen passen :-))

LG
Oliver
> Friends Of REDAXO Gemeinsame REDAXO-Entwicklung!
> REDAXO Agenturen. Eintragen erwünscht!
> Komm in den Slack Channel Es lohnt sich!

Benutzeravatar
Peter.Bickel
Beiträge: 1856
Registriert: 25. Jan 2005, 21:17
Wohnort: Schleswig-Holstein
Kontaktdaten: Website

Re: DB-Zugrif - SELECT

1. Jun 2016, 07:30

Hatori, wenn ich Dich richtig verstehe, hast Du ein Artikel-Metafeld child_from angelegt und willst alle Artikel, die dort den gleichen Wert wie im aktuellen Artikel haben.
Das Artikel-Metafeld des aktuellen Artikels bekommst Du ganz einfach mit:
$this->getValue('art_child_from')

Deine Abfrage könnte also z.B. so in der Art aussehen:

Code: Alles auswählen

<?php
$sql = rex_sql::factory();
$sql_query = 'SELECT * FROM rex_article WHERE art_child_from = "'.$this->getValue('art_child_from').'"';
$sql->setQuery($sql_query);
for ($i=0; $i<$sql->getRows(); $i++) {
	echo $sql->getValue('id'); // IDs der Artikel
	$sql->next();
}
?>
Aber: Aufgrund Deiner Frage vermute ich, Du willst einfach eine Navigation mit den Artikel, die noch in der gleichen Kategorie sind (da gibts ja noch einen anderen Thread von Dir dazu). Und da wundert mich, warum Du Redaxo oft so vergewaltigen willst (darfst Du natürlich ;-)), wo es doch Möglichkeiten gibt, um alle Arten von Navigationen sehr schnell und simpel zu erzeugen. Und das gecacht und ohne SQL-Abfrage. Dieser Weg mit dem Feld child_from scheint mir z.B. völlig unnötig, wo es doch das path-Feld gibt und Du dort genau die Beziehungen zwischen Eltern- und Kind-Elementen ermitteln kannst.

Die Idee von Oli ist daher gut: Komm doch einfach vorbei, vieles klärt sich dann vielleicht vor Ort oder im persönlichen Gespräch mit Onkel Oli ;-)

Benutzeravatar
Hatori
Beiträge: 133
Registriert: 4. Mai 2016, 17:33
Wohnort: Berlin
Kontaktdaten: Website

Re: DB-Zugrif - SELECT

1. Jun 2016, 16:49

Oliver.Kreischer hat geschrieben:Ich möchte nur sagen, dass ich es bewundernswert finde mit welcher Geduld du dich mit dem System beschäftigst.
Na ja, Geduld geht anders, aber mir gefällt das Prinzip und die Freiheiten, die man hat (wenn man es denn erstmal kapiert hat ;) )
Oliver.Kreischer hat geschrieben:Am besten wäre es wenn du am Samstag Zeit finden würdest und zum Redaxo Tag kommen könntest. Dort gibt es die Infos direkt aus erster Hand. Auch wird dort erklärt wie man eine Webseite mit Redaxo plant und realisiert ( http://www.redaxo.org/de/anmeldung-redaxo-tag-2016/ )
Geht nicht, leider. Da hat zum Einen mein Geldbeutel was dagegen und zum Anderen hab ich da ganztägig einen Termin mit meinen Schülern (Tag der offenen Tür), der schon seit Monaten feststeht.
Oliver.Kreischer hat geschrieben:Solltest du keine Zeit haben können wir auch gerne nächste Woche einmal Abends telefonieren (02052 8169420) und ich erkläre dir mal einige Grundlagen.
Komme ich vielleicht irgendwann darauf zurück (dann frag ich aber vorher), im Moment bin ich zwar am Verzweifeln, aber noch nicht ganz soweit ;)
Oliver.Kreischer hat geschrieben:Vielleicht klären wir auch ob Redaxo das richtige System für dich ist.
Wie beim Kampfsport müssen Mensch und System zusammen passen :-))
Gerade deswegen mag ich Redaxo eigentlich, Ninjutsu ist zu anderen Kampfkünsten ebenso gegensätzlich wie Redaxo zu anderen CMS.
Peter.Bickel hat geschrieben:$this->getValue('art_child_from')

Deine Abfrage könnte also z.B. so in der Art aussehen:

Code: Alles auswählen

<?php
$sql = rex_sql::factory();
$sql_query = 'SELECT * FROM rex_article WHERE art_child_from = "'.$this->getValue('art_child_from').'"';
$sql->setQuery($sql_query);
for ($i=0; $i<$sql->getRows(); $i++) {
	echo $sql->getValue('id'); // IDs der Artikel
	$sql->next();
}
?>
Aber: Aufgrund Deiner Frage vermute ich, Du willst einfach eine Navigation mit den Artikel, die noch in der gleichen Kategorie sind (da gibts ja noch einen anderen Thread von Dir dazu). Und da wundert mich, warum Du Redaxo oft so vergewaltigen willst (darfst Du natürlich ;-)), wo es doch Möglichkeiten gibt, um alle Arten von Navigationen sehr schnell und simpel zu erzeugen. Und das gecacht und ohne SQL-Abfrage. Dieser Weg mit dem Feld child_from scheint mir z.B. völlig unnötig, wo es doch das path-Feld gibt und Du dort genau die Beziehungen zwischen Eltern- und Kind-Elementen ermitteln kannst.
getValue() ... hab ich mir schonmal notiert, eine sehr hilfreiche Sache.
Zu dem anderen - ja, ich will immer noch mehrere Artikel in einer Kategorie und nicht eine Kategorie pro Artikel ;) Und damit krieg ich so hin, wie ich es haben will. Danke.

/EDIT
Und so eine Query verstehe ich auch, hoffentlich kann ich die öfter nutzen ;)
----------
Einen schönen Tag noch - Hatori
http://www.ninja4ever.de

Benutzeravatar
Peter.Bickel
Beiträge: 1856
Registriert: 25. Jan 2005, 21:17
Wohnort: Schleswig-Holstein
Kontaktdaten: Website

Re: DB-Zugrif - SELECT

1. Jun 2016, 18:05

ich will immer noch mehrere Artikel in einer Kategorie und nicht eine Kategorie pro Artikel ;) Und damit krieg ich so hin, wie ich es haben will
Geht aber auch mit rex_category und rex_article (früher OOCategory und OOArticle), sprich ohne DB-Abfrage, man muss dann nur zwischen beiden Wegen hin und her wechseln.
Vielleicht hilft Dir das hier, in Verbindung mit den vielen Navigationen im Download:
https://github.com/redaxo/redaxo/wiki/A ... n-REDAXO-5

Ich verstehe zwar nicht den Sinn, einen anderen Weg als den einfachen zu wählen, muss ich aber auch nicht :-)=

Zurück zu „Allgemeines [R5]“