[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
yform | Alle Medien aus den Medialisten ausgeben - 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/
Fanello
Beiträge: 336
Registriert: 24. Mai 2006, 14:01
Wohnort: Riedt (Schweiz)

yform | Alle Medien aus den Medialisten ausgeben

30. Sep 2016, 15:31

Liebe Redaxo-Community

Ich habe eine yform-Tabelle erstellt, diese besteht aus einem Text-Feld "album_name" und aus einem Medialist-Feld "album_songs". Die einzelnen Einträge sehen also so aus, dass sie aus dem Album-Name und einer Liste von Songs bestehen.

Die Ausgabe pro Album funktioniert und ich kann es also so auflisten:
Album 1
Alb1Song 1
Alb1Song 2
Alb1Song 3
Alb1Song 4
Alb1Song 5

Album 2
Alb2Song 1
Alb2Song 2
Alb2Song 3
Alb2Song 4

Album 3
Alb3Song 1
Alb3Song 2
Alb3Song 3
Alb3Song 4


Nun möchte ich aber alle Songs untereinander ausgeben, ohne den Album-Name dazwischen. So könnte ich dann die Songs z.B. in alphabetischer Reihenfolge zeigen.

Code: Alles auswählen

<?php
$db_songs = "rex_songs";
$sql_songs = rex_sql::factory();
$sql_songs->setDebug(false);
$sql_songs->setQuery("SELECT * FROM $db_songs");

if($sql_songs->getRows()) {

while($sql_songs->hasNext()) {

$medialist = $sql_songs->getValue('songs_media');
$media = explode(',', $medialist);
echo $media;

}
}
?>
Mit dem oberen Code bringt es mir 3x (es sind 3 Alben) die Lieder des 3. Albums:

Alb3Song 1
Alb3Song 2
Alb3Song 3
Alb3Song 4
Alb3Song 1
Alb3Song 2
Alb3Song 3
Alb3Song 4
Alb3Song 1
Alb3Song 2
Alb3Song 3
Alb3Song 4


Kann mir jemand einen Tipp geben, wie ich die Abfrage anpassen muss damit sie mir alle vorhandenen Songs in den Medialisten bringt? Danke!

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

Re: yform | Alle Medien aus den Medialisten ausgeben

4. Nov 2016, 16:29

Hi,
machs mal so ...:

Code: Alles auswählen

<?php
$db_songs = "rex_songs";
$sql_songs = rex_sql::factory();
$sql_songs->setDebug(false);
$sql_songs->setQuery("SELECT * FROM $db_songs");


$output = array();

$output[] = '<ul>';
for($i=0; $i<$sql->getRows(); $i++)
{
    
    $medialist = $sql_songs->getValue('songs_media');
    $medias = explode(',', $medialist);
    
    foreach($medias as $media){
        $output[] = '<li>' . $media . '</li>';
    }
    
    $sql->next();
}
$output[] = '</ul>';

# Ausgabe
echo join("\n", $output);

?>
*ungetestet*
grz. Chris

Zurück zu „Module/Aktionen [R5]“