Tengo una consulta SQL que ordena mi lista de reproducción por etiqueta y nombre:
SELECT * FROM playlist WHERE iduser=9 ORDER BY tag,name ASC;
Resultado :
| usuario | lista de reproducción | nombre | etiqueta |
|---|---|---|---|
| 9 | PL74A6S2w9aDA-Gdnhb7b58wRSjYo7t9LK | AlphaCast: Búsqueda de la mesa | Comedia |
| 9 | PL1UBPUKVQV3qV0o9W1Yy0H8krB1IvhC1R | AlphaCast: puerta de Baldur 3 | Juego de azar |
| 9 | PL1UBPUKVQV3oRu-NanDuXxFxMUR1li9XU | AlphaCast: El brujo 3 | Juego de azar |
| 9 | PLUUOiZvrsOA-vaRZTFWPPd4Xij_LhmePy | Lore Starcraft | Juego de azar |
Envío este resultado fila por fila a una función de JavaScript que tiene como objetivo usar la API de Youtube y obtener un JSON para cada idplaylist y enviar este JSON a otra función de JavaScript.
El problema es que cuando uso $.getJSON por idplaylist, los JSON que obtengo no están en el mismo orden que el resultado de la tabla anterior.
El código :
<?php $sql = "SELECT * FROM playlist WHERE iduser=? ORDER BY tag,name ASC;"; mysqli_stmt_bind_param($stmt, "i", $_SESSION["iduser"]); mysqli_stmt_execute($stmt); $result = mysqli_stmt_get_result($stmt); while($row = mysqli_fetch_assoc($result)){ $playlistid = $row['idplaylist']; $playlistname = $row['name']; $playlisttag = $row['tag']; echo "<script>displayplaylist('$playlistid', '$playlistname', '$playlisttag');</script>"; } ?> function displayplaylist(playlistid, playlistname, playlisttag) { var key = ''; var playlistId = playlistid; var URL = 'https://www.googleapis.com/youtube/v3/playlistItems'; var options = { part: 'snippet', key: key, maxResults: 50, playlistId: playlistId } $.getJSON(URL, options function (data) { resultplaylist(data, playlistname, playlisttag); resultvideos(data, playlistid); }); }