• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

So viele Ergebnisse ausgeben, wie vorhanden sind

jakestyler

Mitglied
Hallo,
aus einer JSON-API lese ich aus, wie viele Treffer es gibt: $fail = $array['info']['num_results'];
$fail
gibt dann z.B. 5 aus, wenn es 5 verschiedene Ergebnisse gibt.

Hiermit wird dann ein Album ausgelesen: $album1 = $album1 = $array['tracks'][0]['album']['href'];

Dann kommt folgender Code ins Spiel:
PHP:
$album1_frame = '<iframe src="https://embed.spotify.com/?uri='.$album1.'" width="300" height="380" frameborder="0" allowtransparency="true"></iframe>';

Dass geht dann immer so weiter:
$album1 = $array['tracks'][0]['album']['href'];
$album2 = $array['tracks'][1]['album']['href'];
[...]

Nun möchte ich, sollte $fail == 5 sein, 5 $album1-5 und [0-5] ausgeben und dann 5 passende Frames.

Hat jemand zumindest einen Lösungsansatz? Mir währe damit sehr geholfen!

Danke,
Jake
 
Wenn ich das richtig verstanden habe, müsste die while-Schleife deine Lösung sein. Diese durchläufst du einfach so lange, bis ein Zähler die Zahl der Variable $fail erreicht. Darin kannst du dann die Zahl des Zählers verwenden, um die Alben durchzunummerieren (oder so ähnlich).
Hoffe, das hilft ein wenig.
 
Ich verstehe die Frage und das mit dem $fail auch nicht. Aber das JSON Objekt entspricht einem mehrdimensionalen Array, und somit dürfte die Lösung wahrscheinlich in einer Schleife liegen. :D

Im ersten Schritt würde ich eine verschachtelte foreach()-Schleife bauen, die alle keys und values des Objekts zurück liefert. Anschließend lässt sich dann die Aufgabenstellung formulieren, z.B.:

- Tu etwas mit allen Schleifen-Variablen
- Tu etwas mit den Variablen, die einer gesetzten Bedingung (nicht) entsprechen
- Tu etwas mit den Variablen, die einer gesetzten Bedingung (nicht) entsprechen und etwas anderes mit den restlichen Variablen
- Zähle die Objekte im Array und tu etwas mit dem Ergebnis
- usw.
 
Tronjer das tut er doch gerade!...

Hier ein Beispiel

PHP:
$aData = json_bla(); // das ist der json teil den du hast musst du ersetzen

$aLinks = array();
foreach ($aData['tracks'] as $aTrack) {
  $aLinks = $aTrack['album']['href'];
  // entweder hier iframe ausgeben mit dem was in der variable hier drüber steht oder
}

// alles in einer schleife ausgeben.
foreach ($aLinks as $sLink) {
  // iframe ausgeben
}

lg
 
Zurück
Oben