2010-04-12 6 views
0

Comment puis-je insérer une cellule dans une table?Insertion de cellules dans une table?

Par exemple, je récupère des données d'une base de données en utilisant MySQL et PHP, comment puis-je insérer une cellule dans une table déjà scriptée?

Dans mon cas, comment est-ce que j'insérerais une cellule dans une rangée 150 pixels du début de la rangée?

exemple:

___________________________________________ 
| <--150px--> |cell|      | 

Répondre

0
<td style='padding-left:150px;'><?php echo fetched data?></td> 
1

La façon la plus simple est de générer la table avec la cellule supplémentaire déjà en place avant de l'envoyer à l'utilisateur. Ensuite, vous devrez utiliser du Javascript pour insérer dynamiquement la nouvelle cellule dans l'arborescence DOM de la page. Étant donné un extrait de tableau comme suit:

<table> 
<tr> 
    <td>foo</td> 
    <td id="inserthere">bar</td> 
</tr> 
</table> 

Vous pouvez utiliser quelque chose le long des lignes suivantes:

var td = document.createElement('td'); 
td.nodeValue = 'this is the new cell'; 
document.getElementById('inserthere').insertBefore(td); 

qui vous donnerait:

<table> 
<tr> 
    <td>foo</td> 
    <td>this is the new cell</td> 
    <td id="inserthere">bar</td> 
</tr> 
</table> 

Si vous allez faire Ainsi, il vaut mieux utiliser jQuery ou MooTools, qui peut faire des choses comme ça dans une seule ligne de code, et vous donner plus de contrôle sur l'endroit où le nouveau noeud est inséré (avant, après, top , en bas, etc ...). Comme pour le décalage de 150 pixels, vous pouvez utiliser le style CSS pour couvrir cela. Un rembourrage ou une marge fera l'affaire.

Rappelez-vous également que si la table que vous insérez dans utilise des lignes ou des colonnes, la nouvelle cellule va certainement casser la mise en page horriblement.

Questions connexes