Ik heb een database met allerlei hitlijst data over een nummer. Ik wil niet alle data in een tabel zetten, maar de meeste data pas ophalen als er op een bepaald nummer wordt geklikt (tabel row). In een div op de pagina moet dan meer data over dat bepaalde data verschijnen. Hieronder leg ik het met afbeeldingen nog een keer uit.
Huidig: [img]http://s1.postimg.org/c4zw25h63/datatable.png[/img]
Gewenst: [img]http://s1.postimg.org/c69tvkizv/datadyna.png[/img]
Kan iemand me hierbij helpen? Ik vind het behoorlijk lastig om dynamisch data uit de database te halen en dit met een javascript functie (waarschijnlijk) te linken aan de user-interface.
Ik heb een database die uit de volgende twee tabellen bestaat:
songs:
ID (PK, A_I)
Title
Artist
Image
pchart:
ID (PK, A_I)
Rank
Jaar
Week
ID_Songs (komt overeen met songs.ID bij een joint)
Dit is hoe ik nu gegevens uit de database haal, maar zoals gezegd wil ik dus niet alle data in een keer showen:
<?php
$sql = "SELECT c.songid, s.title, s.artist, s.image, c.rank this_week, COALESCE(p.rank, '---') last_week,
COUNT(g.rank) total_weeks, MIN(g.rank) peak_position, (41 * COUNT(g.rank)-SUM(g.rank)) points
FROM pchart c
JOIN songs s
ON c.songid = s.id
LEFT JOIN pchart p
ON c.songid = p.songid AND p.week=".$last_week." AND p.year=".$last_year."
LEFT JOIN pchart g
ON c.songid = g.songid
WHERE
c.week= ".$this_week." AND c.year= ".$this_year."
GROUP BY this_week, c.songid, s.title, s.artist, last_week
ORDER BY this_week";
//$con == connection, $sql = sql query
$mysqli = mysqli_query($con, $sql);
// output the sql table
while($row = mysqli_fetch_array($mysqli)) {
$x++;
$color = ($x%2 == 0)? 'row1': 'row2';
echo "<tr id='$color'>";
echo "<td id='vw'>" . $row['this_week'] . "</td>";
echo "<td id='vw'>" . $row['last_week'] . "</td>";
echo "<td id='pic'><img src='" . $row["image"] . "' width='50px' height='50px'></td>";
echo "<td id='song'>" . $row['artist'] . "</td>";
echo "<td id='song'>" . $row['title'] . "</td>";
echo "<td id='wk'>" . $row['peak_position'] . "</td>";
echo "<td id='wk'>" . $row['total_weeks'] . "</td>";
echo "<td id='wk'>" . $row['points'] . "</td>";
echo "</tr>";
}
echo "</tbody></table>";
}
mysqli_close($con);
?>
4.487 views