Io solitamente risolvo in questo modo :
Caricare tutto in una pagina potrebbe essere un problema dato che la quantità di dati potrebbe essere considerevole.
nella tua pagina principale carichi i tuoi dati non in dettaglio.
All'evento onclick passi un riferimento (un semplice id per poter identificare l'oggetto cliccato nel tuo database).
La funzione onclick richiama una funzione js simile a questa :
Codice PHP:
$.ajax({
type: "POST",
url: "include/ajax_oggetto_in_dettaglio.php",
dataType: "html",
data: "funz=1",
async: true,
cache: false,
timeout: 30000,
success: function (html) {
$("#DivOggettoInDettaglio").html(html);
$("#DivOggettoInDettaglio").dialog({
title: 'Oggetto',
position: 'top',
resizable: true,
width: 1000,
modal: true,
buttons: {
"Chiudi": function () {
$(this).dialog("close");
}
}
});
}
});
Il div "DivOggettoInDettaglio" è un div che ha questa struttura in una posizione qualsiasi della pagina html
Codice PHP:
<div style="diplay:hidden;" id="DivOggettoInDettaglio"></div>
La pagina ajax_oggetto_in_dettaglio.php contine la select al database e una serio di echo che generano il markup html.
Il risultato viene trasferito in modo asincrono al div DivOggettoInDettaglio e tramite la funzione dialog di jquery lo apri.
So che detto cosi sembra difficile ma una volta acquisita questa conoscenza ti verra immediato fare tutto cosi.
Questo presuppone una conscenza base di jquery e ajax.
scaricati jquery e includilo nella pagina è un framework js.
studiati la funzione $.ajax di jquery, l'esempio postato è già comprensivo di tutto.
Giusto per darti un'introduzione ajax è una funzione che ti permette di richiamare una pagina php in modo asincrono senza ricaricare la pagina in cui sei e di ottenere un risultato da poter gestire.
Fai qualche prova, se hai problemi posta tutte le pagine create, html js e php separate e indica il problema