2013-03-01 2 views
0

Comment joindre un fichier CSS externe pour afficher des données extraites d'une base de données MySQL? Puis-je afficher des données en utilisant CSS au lieu d'utiliser des tables. Je veux éviter complètement les tableaux en affichant les données récupérées.Affichage de données mysql récupérées à l'aide d'un css externe

C'est le code pour récupérer les données de la base de données MySQL:

<?php 
echo "Database Date: " .date("Y-m-d"); 
?> 

variables incluses dans ces données sont: Assigné NCL Nombre, Hôpital, âge, sexe, cancer primaire et la date du diagnostic et de la dernière gestion sur le patient.

<style type="text/css"> 
    table.data { width:100%; margin: 0; 
     border: 1px solid black; border-spacing: 2px; } 
    .id {width: 7%; background-color: #c7c7c0; } 
    .date {width: 12%; background-color: #d8d8d1; } 
    .nclnumber { width: 10%; background-color: #c7c7c0; } 
    .hospital {width: 17%; background-color: #d8d8d1; } 
    .age { width: 3%; background-color: #c7c7c0; } 
    .sex { width: 2%; background-color: #d8d8d1; } 
    .cancer { width: 10%; background-color: #d8d8d1; } 
    .dateofdiagnosis { width: 7%; background-color: #d8d8d1; } 
    .notes { width: 32%; background-color: #d8d8d1; } 
</style> 

<table class="data" border="0" cellspacing="2"> 
    <tr> 
    <td class="id"><b>Id</b></td> 
    <td class="date"><b>Date</b></td> 
    <td class="nclnumber"><b>NCL Number</b></td> 
    <td class="hospital"><b>Hospital</b></td> 
    <td class="age"><b>Age</b></td> 
    <td class="sex"><b>Sex</b></td> 
    <td class="cancer"><b>Diagnosed Cancer</b></td> 
    <td class="dateofdiagnosis"><b>Date of Diagnosis</b></td> 
    <td class="notes"><b>Notes</b></td> 
    </tr> 
</table> 


<?php 
// Connects to your Database 
mysql_connect("localhost", "root", "") or die(mysql_error()); 
mysql_select_db("cancer") or die(mysql_error()); 
$data = mysql_query("SELECT * FROM cancer WHERE Age ='1'OR Age = '2' OR Age = '3'OR Age = '4'OR Age = '5'OR Age = '6'OR Age = '7'OR Age = '8'OR Age = '9'") 
or die(mysql_error()); 


while($info = mysql_fetch_array($data)) { 
    echo "<table class='data' border='0' cellspacing='2'> 
      <tr> 
      <td class='id'>".$info['Id']."</td> 
      <td class='date'>".$info['Date']."</td> 
      <td class='nclnumber'>".$info['NCL_Number']."</td> 
      <td class='hospital'>".$info['Hospital']."</td> 
      <td class='age'>".$info['Age']."</td> 
      <td class='sex'>".$info['Sex']."</td> 
      <td class='cancer'>".$info['Diagnosed_Cancer']."</td> 
      <td class='dateofdiagnosis'>".$info['Date_of_Diagnosis']."</td> 
      <td class='notes'>".$info['Notes']."</td> 
      </tr> 
     </table>"; 
    } 
?> 
+1

Les données _tabular_? Si c'est le cas, pourquoi éviter les tables? '

' tags ne sont pas universellement mal et remplaçables par CSS, ils ne sont tout simplement pas appropriés pour la mise en page. –

+0

Bienvenue sur Stack Overflow! Merci de ne pas utiliser les fonctions 'mysql_ *' pour écrire du nouveau code. Ils ne sont plus entretenus et la communauté a commencé le [processus de dépréciation] (http://news.php.net/php.internals/53799). Voir la [boîte rouge] (http://uk.php.net/manual/fr/function.mysql-connect.php)? Au lieu de cela, vous devriez en apprendre davantage sur les [instructions préparées] (http://en.wikipedia.org/wiki/Prepared_statement) et utiliser soit [PDO] (http://php.net/pdo) ou [MySQLi] (http: // php.net/mysqli). Si vous choisissez PDO [voici un bon tutoriel] (http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers). – War10ck

Répondre

6

Il n'y a absolument aucune raison de ne pas utiliser <table> éléments pour les données tabulaires. L'hystérie anti-table que certaines personnes ont est simplement un malentendu: il est mauvais d'abuser des tables pour la mise en page. Cependant, il n'y a rien de mal avec la balise HTML. En fait, l'utilisation de tout autre élément HTML pour afficher des données tabulaires est mauvaise pour la sémantique.

La balise <table> et ses colonnes <tr> lignes et <td> colonnes informe le navigateur que les données sont liées et colonnaires. Ne pensez pas à la <table> (ou toute étiquette HTML d'ailleurs) comme strictement un élément d'affichage visuel. Ils transmettent le sens des données à la machine qui les analyse.

1

Sortons un peu de confusion. Affichage dans CSS au lieu de tables ne fait pas depuis que tables et ses balises associées sont des éléments HTML et CSS est le style que vous pouvez appliquer à ces éléments. Ils ne sont pas équivalents.

L'alternative aux tables serait de créer une mise en page complexe, compliquée et alambiquée en utilisant une combinaison de divs et spans.

Cependant, il n'y a absolument aucune raison pour que, si les données sont sous forme de tableau, vous devriez vous soucier d'une conception si maladroite juste pour éviter l'utilisation de l'étiquette <table>. C'est pourquoi la balise <table> est dans la spécification HTML. Abuser de la balise <table> à des fins de mise en page a donné une mauvaise réputation à la balise. Lorsqu'il est utilisé correctement (c'est-à-dire pour afficher des données tabulaires), il peut être très utile.

Meilleur conseil: utilisez le tag <table> et suivez les conseils du wiki de la communauté.

Questions connexes