2011-01-05 1 views
0

Ich bin neu in PHP, und ich habe Daten in einer dynamisch erstellten Tabelle aus einer MySQL-Datenbank abgerufen. Und ich muss einen href auf den ersten Zeilenwert der Tabelle setzen.Müssen eine href für eine Tabelle Daten erstellen, die dynamisch abgerufen wird

Angenommen, eine Person heißt John. Und wenn ich erst einmal auf Johns Refrain geklickt habe, muss ich seine anderen Details sehen. Ich habe keine Ahnung davon, weil alle Spalten & Zeilen dynamisch erstellt werden.

+2

warum nicht einen href dynamisch zu erstellen? –

+0

Wo zeigen Sie Tabellendaten an? Ist es HTML-Tabelle oder MySQL-Tabelle? – eHussain

Antwort

0

einfach dies zu tun:

$sql = mysql_query($query); 

echo '<table>'; 

while($result = mysql_fetch_attay($sql)) {  
    echo '<tr><td><a herf ="#">'.$result['first_name'].'</td></tr>';  
}  
echo '</table>'; 
0

So haben Sie die erste Zeile mit dem Namen einer Person und die nächsten Zeilen sind seine Details.

Nun, Sie müssen PHP einchecken, während Sie die Tabelle durchlaufen, wenn die Daten die Details der Person sind, und verstecken Sie sie dann mit CSS (display: none).

Fügen Sie dann eine ID zu der Zeile des Personennamens und die ID zu den ausgeblendeten Feldern hinzu.

Beispiel: Namenszeile: name_row
Detailzeile: name_row_detail1, name_row_detail2, ...

Dann schreiben Sie JavaScript-Code, diese versteckte Details zeigen (Sie sollten eine Art von JavaScript-Framework verwenden, empfehle ich jQuery).

Sie fügen einen JavaScript-Aufruf im onclick-Ereignis in dieser Zeile mit dem Namen der Person (name_row) hinzu. Und in dieser JavaScript-Funktion überprüfen Sie, ob name_row_ * ausgeblendet oder angezeigt wird, und abhängig davon ändern Sie sein CSS in versteckt oder angezeigt.

Wenn Sie ein Anfänger sind, das wird eine Weile dauern, um herauszufinden, ...

0

Sie müssen Möglichkeiten:

Während der Erzeugung der Tabelle einfach einen zusätzlichen Ausgang auf die Detailseite s hinzufügen .th. Wie:

<td><a href="/user/detail/44">John</a></td> 

Oder wenn Sie nicht diesen Teil berühren können, verwenden JavaScript. Zum Beispiel mit jQuery wäre es so etwas wie (ich bin nicht sicher, ob Klicke einfach auf ein td Feld funktioniert):

$('#table_id > td').each(function(){ 
    $(this).click(function(){ 
     // Do something like retrieving an id and perform a post... 
    }); 
}); 
Verwandte Themen