2013-05-07 6 views
-1

J'essaye de faire une table qui appelle une valeur de la base de données. Le problème est que les données sont compressées horizontalement. Je voudrais ajouter une barre de défilement horizontale de sorte que la sortie ne soit pas à l'étroit verticalement un mot sur l'autre.Défilement horizontal pour PHP Table

Voici mon code

echo('<table border="1">'); 
     echo "<tr> 
      <td5Folder</td> 
      <td>MDU</td> 
      <td>Contractor</td> 
      <td>Team</td> 
      <td>RDate</td> 
      <td>SIDate</td> 
      <td>ICDate</td> 
      <td>Status</td> 
      <td>Remarks1</td> 
      <td>Remarks2</td> 
      <td>Remarks3</td> 
      <td>Bill50</td> 
      <td>Bill30</td> 
      <td>Bill20</td> 
      <td>BillRemark</td> 
      </tr>"; 
     while($row = mysql_fetch_array($rs)) { 
      $folderx = $row['FolderNo']; 
      $mdux = $row['MDU']; 
      $contractorx = $row['Contractor']; 
      $teamx = $row['Team']; 
      $rdatex = $row['RDate']; 
      $sidatex = $row['SIDate']; 
      $icdatex = $row['ICDate']; 
      $statusx = $row['Status']; 
      $remarks1x = $row['Remarks1']; 
      $remarks2x = $row['Remarks2']; 
      $remarks3x = $row['Remarks3']; 
      $bill50x = $row['Bill50']; 
      $bill30x = $row['Bill30']; 
      $bill20x = $row['Bill20']; 
      $billRemarkx = $row['BillRemark']; 
      echo "<tr> 
      <td>$folderx</td> 
      <td>$mdux</td> 
      <td>$contractorx</td> 
      <td>$teamx</td> 
      <td>$rdatex</td> 
      <td>$sidatex</td> 
      <td>$icdatex</td> 
      <td>$statusx</td> 
      <td>$remarks1x</td> 
      <td>$remarks2x</td> 
      <td>$remarks3x</td> 
      <td>$bill50x</td> 
      <td>$bill30x</td> 
      <td>$bill20x</td> 
      <td>$billRemarkx</td> 
      </tr>"; 
     } 
    echo('</table>'); 
+0

qui est un problème de css, fournissent un exemple de code à jsFiddle pour travailler avec – Imperative

+0

essayé d'ajouter ' overflow-y: auto; 'sur la feuille de style div de votre table/table? – unkn0wn

+0

Ne voulez-vous pas dire overflow-x: auto? –

Répondre

0

tout d'abord faire en utilisant HTML ne echo PHP si elle est trop, faire comme ce

<!--HTML Here--> 

<?php 
    //PHP Here 
?> 

<!--HTML Here Again--> 

en venant à votre question, ont un élément conteneur div comme avec une largeur fixe et utiliser overflow: scroll; et utiliser width: 100%; ou width: 1000px; /* Fixed Width */ pour votre table

mise à jour liés à votre commentaire

<?php 
    if(condition) { 
?> 
<!-- HTML Here --> 
<?php 
    } 
?> 
+0

J'ai une instruction if avant d'appeler la table. HTML ne peut pas gérer les opérations, n'est-ce pas? –

+0

@ user2357196 Regardez la réponse mise à jour –

+0

Je l'ai essayé mais toujours pas de barre de défilement. J'ai essayé d'ajouter div mais il s'étend toujours verticalement au lieu d'horizontalement. –

0

Utilisez le trop-plein-x (How to use overflow) tag:

overflow-x: scroll 
+0

Je l'ai essayé mais ça ne marche pas. –

0

Essayez ceci!

echo "<div style='overflow-x:auto;'>"; 
echo('<table border="1">'); 
     echo "<tr> 
      <td>Folder</td> 
      <td>MDU</td> 
      <td>Contractor</td> 
      <td>Team</td> 
      <td>RDate</td> 
      <td>SIDate</td> 
      <td>ICDate</td> 
      <td>Status</td> 
      <td>Remarks1</td> 
      <td>Remarks2</td> 
      <td>Remarks3</td> 
      <td>Bill50</td> 
      <td>Bill30</td> 
      <td>Bill20</td> 
      <td>BillRemark</td> 
      </tr>"; 
     while($row = mysql_fetch_array($rs)) { 
      $folderx = $row['FolderNo']; 
      $mdux = $row['MDU']; 
      $contractorx = $row['Contractor']; 
      $teamx = $row['Team']; 
      $rdatex = $row['RDate']; 
      $sidatex = $row['SIDate']; 
      $icdatex = $row['ICDate']; 
      $statusx = $row['Status']; 
      $remarks1x = $row['Remarks1']; 
      $remarks2x = $row['Remarks2']; 
      $remarks3x = $row['Remarks3']; 
      $bill50x = $row['Bill50']; 
      $bill30x = $row['Bill30']; 
      $bill20x = $row['Bill20']; 
      $billRemarkx = $row['BillRemark']; 
      echo "<tr> 
      <td>$folderx</td> 
      <td>$mdux</td> 
      <td>$contractorx</td> 
      <td>$teamx</td> 
      <td>$rdatex</td> 
      <td>$sidatex</td> 
      <td>$icdatex</td> 
      <td>$statusx</td> 
      <td>$remarks1x</td> 
      <td>$remarks2x</td> 
      <td>$remarks3x</td> 
      <td>$bill50x</td> 
      <td>$bill30x</td> 
      <td>$bill20x</td> 
      <td>$billRemarkx</td> 
      </tr>"; 
     } 
    echo('</table>'); 
echo "</div>"; 
+0

Désolé mais cela ne semble pas fonctionner. Ai-je besoin d'avoir un css ici? –

+0

oui, overflow-x est le CSS, essayez de l'attacher dans votre balise table comme '

' – unkn0wn

+0

Ajouté et toujours le même sortie comme avant. –

0

Vous pouvez facilement le faire en utilisant le débordement de la propriété CSS: automatique ou overflow: faites défiler pour la table que vous utilisez