login  Naam:   Wachtwoord: 
Registreer je!
 Forum

TABLE: rijen zonder tussenruimte (Opgelost)

Offline Guido2 - 15/07/2010 08:14 (laatste wijziging 16/07/2010 16:01)
Avatar van Guido2Nieuw lid In mijn tabel is tussenruimte tussen de rijen en die wil ik niet.

Hoe kan ik ervoor zorgen dat de rijen goed aansluiten?

Volgens de code komt volgens mij alles keurig onder elkaar. Of heb ik een fout gemaakt?

Wordt die tussenruimte soms veroorzaakt doordat ik gegevens uit mijn database haal?

  1. <?php
  2. error_reporting(E_ALL | E_STRICT);
  3. ini_set('display_errors', 1);
  4. ?>
  5.  
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  7. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  8. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  9.  
  10. <head>
  11. <meta http-equiv="content-type" content="text/html; charset=utf8_unicode_ci" />
  12. <title></title>
  13.  
  14. <link rel="stylesheet" href="styles.css" type="text/css" media="print" />
  15. <link href="opmaak3.css" rel="stylesheet" type="text/css"/>
  16.  
  17.  
  18. <?
  19. include ("db_connect.inccc.php");
  20. $query = "SELECT pas.pasid, pas.optie1, pas.optie2, pas.optie3, pas.optie4, pas.optie5, pas.optie6, pas.optie7, pas.optie8, pas.optie9, pas.optie10, pas.optie11, pas.optie12, pas.optie13, pas.optie14, pas.optie15, pas.optie16, pas.optie17, pas.optie18, pas.optie19, pas.optie20, pas.optie21, pas.optie22, pas.optie23, pas.optie24, pas.optie25, pas.eerste, pas.tweede, pas.derde, pas.vierde, pas.vijfde, pas.zesde, pas.zevende, pas.achtste, pas.negende, pas.tiende, pas.elfde, pas.twaalfde, pas.dertiende, pas.veertiende, pas.vijftiende, pas.zestiende, pas.zeventiende, pas.achttiende, pas.negentiende, pas.extra1, pas.extra2, pas.extra3, pas.extra4, pas.extra5, pas.extra6, pas.extra7, pas.extra8, pas.extra9, pas.extra10, lijst.llid, lijst.leer, lijst.klas, lijst.geht, lijst.naam, lijst.stat, lijst.pode, lijst.plts, lijst.teer, lijst.daum
  21. FROM pas
  22. INNER JOIN lijst
  23. ON pas.extra9=lijst.leer";
  24.  
  25.  
  26. $resultaat = null; // hierin wordt het resultaat van de query opgeslagen
  27. $resultaat = mysql_query($query, $db);
  28. mysql_close($db); // database afsluiten
  29. ?>
  30. </head>
  31.  
  32. <body>
  33.  
  34. <?php
  35. while(list($pasid, $optie1, $optie2, $optie3, $optie4, $optie5, $optie6, $optie7, $optie8, $optie9, $optie10, $optie11, $optie12, $optie13, $optie14, $optie15, $optie16, $optie17, $optie18, $optie19, $optie20, $optie21, $optie22, $optie23, $optie24, $optie25, $eerste, $tweede, $derde, $vierde, $vijfde, $zesde, $zevende, $achtste, $negende, $tiende, $elfde, $twaalfde, $dertiende, $veertiende, $vijftiende, $zestiende, $zeventiende, $achttiende, $negentiende, $extra1, $extra2, $extra3, $extra4, $extra5, $extra6, $extra7, $extra8, $extra9, $extra10, $llid, $leer, $klas, $geht, $naam, $stat, $pode, $plts, $teer, $daum) = mysql_fetch_row($resultaat)){
  36.  
  37. {?>
  38.  
  39. <h4>
  40.  
  41. <TABLE>
  42.  
  43. <TD><?php echo $naam; ?></TD>
  44.  
  45. <TD><?php echo $klas; ?></TD><TD><?php
  46. if(!empty($optie8)){
  47. echo ' ' .$optie8. ' ';
  48. }
  49. ?>
  50. </TD>
  51.  
  52.  
  53. <TD><?php
  54. if(!empty($negentiende)){
  55. echo ' ' .$negentiende. ' ';
  56. }
  57. ?>
  58. </TD><TD><?php
  59. if(!empty($optie11)){
  60. echo ' ' .$optie11. ' ';
  61. }
  62. ?>
  63. </TD><TD><?php
  64. if(!empty($zevende)){
  65. echo ' ' .$zevende. ' ';
  66. }
  67. ?>
  68. </TD><TD><?php
  69. if(!empty($optie25)){
  70. echo ' ' .$optie25. ' ';
  71. }
  72. ?>
  73. </TD><TD><?php
  74. if(!empty($achtste)){
  75. echo ' ' .$achtste. ' ';
  76. }
  77. ?>
  78. </TD><TD><?php
  79. if(!empty($negende)){
  80. echo ' ' .$negende. ' ';
  81. }
  82. ?>
  83. </TD><TD><?php
  84. if(!empty($tiende)){
  85. echo '' .$tiende. ' ';
  86. }
  87. ?>
  88. </TD><TD><?php
  89. if(!empty($elfde)){
  90. echo ' ' .$elfde. ' ';
  91. }
  92. ?>
  93.  
  94. </TD><TD><?php
  95. if(!empty($zeventiende)){
  96. echo ' ' .$zeventiende. ' ';
  97. }
  98. ?>
  99.  
  100. </TD><TD><?php
  101. if(!empty($twaalfde)){
  102. echo ' ' .$twaalfde. ' ';
  103. }
  104. ?>
  105.  
  106. </TD><TD><?php
  107. if(!empty($extra1)){
  108. echo ' ' .$extra1. ' ';
  109. }
  110. ?>
  111.  
  112. </TD><TD><?php
  113. if(!empty($optie12)){
  114. echo ' ' .$optie12. ' ';
  115. }
  116. ?>
  117.  
  118. </TD><TD><?php
  119. if(!empty($optie13)){
  120. echo ' ' .$optie13. ' ';
  121. }
  122. ?>
  123.  
  124. </TD><TD><?php
  125. if(!empty($extra8)){
  126. echo ' ' .$extra8. ' ';
  127. }
  128. ?>
  129.  
  130. </TD><TD><?php
  131. if(!empty($optie14)){
  132. echo ' ' .$optie14. ' ';
  133. }
  134. ?>
  135. </TD><TD><?php
  136. if(!empty($vijfde)){
  137. echo ' ' .$vijfde. ' ';
  138. }
  139. ?>
  140.  
  141. </TD><TD><?php
  142. if(!empty($eerste)){
  143. echo ' ' .$eerste. ' ';
  144. }
  145. ?>
  146.  
  147. </TD><TD><?php
  148. if(!empty($dertiende)){
  149. echo ' ' .$dertiende. ' ';
  150. }
  151. ?>
  152.  
  153. </TD><TD><?php
  154. if(!empty($veertiende)){
  155. echo ' ' .$veertiende. ' ';
  156. }
  157. ?>
  158.  
  159. </TD><TD><?php
  160. if(!empty($tweede)){
  161. echo ' ' .$tweede. ' ';
  162. }
  163. ?>
  164.  
  165.  
  166. </TD><TD><?php
  167. if(!empty($vijftiende)){
  168. echo ' ' .$vijftiende. ' ';
  169. }
  170. ?>
  171.  
  172. </TD><TD><?php
  173. if(!empty($zestiende)){
  174. echo ' ' .$zestiende. ' ';
  175. }
  176. ?>
  177.  
  178. </TD><TD><?php
  179. if(!empty($derde)){
  180. echo ' ' .$derde. ' ';
  181. }
  182. ?>
  183.  
  184. </TD><TD><?php
  185. if(!empty($optie15)){
  186. echo ' ' .$optie15. ' ';
  187. }
  188. ?>
  189.  
  190. </TD><TD><?php
  191. if(!empty($optie16)){
  192. echo ' ' .$optie16. ' ';
  193. }
  194. ?>
  195.  
  196. </TD><TD><?php
  197. if(!empty($optie17)){
  198. echo ' ' .$optie17. ' ';
  199. }
  200. ?>
  201.  
  202. </TD>
  203.  
  204. </TABLE>
  205.  
  206. </h4>
  207.  
  208. </h1>
  209.  
  210. <?
  211. }
  212. }
  213. ?>




19 antwoorden

Gesponsorde links
Offline Stijn - 15/07/2010 08:26
Avatar van Stijn PHP expert <TABLE> moet <table cellspacing="0" cellpadding="0"> worden.
Offline Guido2 - 15/07/2010 08:48 (laatste wijziging 15/07/2010 12:31)
Avatar van Guido2 Nieuw lid Ik heb in mijn html boven de opsomming

<td><?php echo $naam; ?></td>

<td><?php echo $klas; ?></td><td><?php
if(!empty($optie8)){
echo ' ' .$optie8. ' ';
}
?>
</td>


<td><?php
if(!empty($negentiende)){
echo ' ' .$negentiende. ' ';
}
?>...


<table cellspacing="0" cellpadding="0">

gezet. De teksten verschuiven dan wel iets naar links, maar de ruimte tussen de rijen blijft.

Daarna heb ik <table> veranderd in <table border celspacing=0>

Maar dat gaf geen resultaat.

Ik heb deze code als volgt in opmaak3.css gezet, maar dan verschuift alles iets naar links en blijft de ruimte tussen de rijen nog even groot.

table { border-collapse: collapse; table-layout: fixed; width: 240px; height: 60px;}
<table cellspacing="0" cellpadding="0">

td { border: 1px solid #C0C0C0; text-align: left;
width: 110px; }
<table border="1" >


Wat doe ik fout?
Offline TotempaaltJ - 15/07/2010 11:09
Avatar van TotempaaltJ PHP interesse Je mist cellpadding="0", en lees even xhtml vs html van W3Schools. Veel nettere HTML maak je daarmee 

Ook mis je de code tags. Vierde van links in dat balkje boven het schrijfvak, maakt het veel makkelijker voor ons om je te helpen 
Offline Guido2 - 15/07/2010 12:29 (laatste wijziging 15/07/2010 12:32)
Avatar van Guido2 Nieuw lid Dank je wel. Ik heb de hoofdletters veranderd in kleine letters.

Maar ik weet niet wat je bedoelt met: Je mist [code=html4strict]cellpadding="0"

Hij staat er wel bij (bovenaan de html-code en in de css).

Staat deze code soms op de verkeerde plaats. Waar moet ik dit typen?




Offline Martijn - 15/07/2010 12:53
Avatar van Martijn Crew PHP ik zie ook geen <tr> staan?
Offline Guido2 - 15/07/2010 13:09
Avatar van Guido2 Nieuw lid Volgens mij hoeft de <tr> niet, omdat ik de gegevens uit de database opvraag.

Iedere nieuwe rij is een nieuwe rij in de database.

Is dat soms de reden dat er zo'n grote tussenruimte is?
Offline Martijn - 15/07/2010 13:21
Avatar van Martijn Crew PHP een tr moet altijd. Table Row is gewoon verplicht. Elke regel krijgt een eigen tr.

Verder, je hebt een <h1> en een <h4> om je table staan? Dat is dus helemaal fout
Offline Guido2 - 15/07/2010 13:28 (laatste wijziging 15/07/2010 13:59)
Avatar van Guido2 Nieuw lid Ik heb de <tr> aan het begin en aan het einde van de regel gezet (na <table> en voor </table>).

De <h1> en <h4> heb ik aangepast. Dank je wel.

Als ik [code=html4strict]<table border cellspacing=0> in plaats van [code=html4strict] <table> zet, gaan alle teksten helemaal naar links, en de tussenruimte blijft gelijk.

Datzelfde gebeurt als ik <table cellspacing="0" cellpadding="0"> in de css.opmaak zet.

Zet ik de code soms op de verkeerde plaats?
Offline Bertjuh - 15/07/2010 14:46
Avatar van Bertjuh HTML interesse Je moet voor iedere rij een <tr> zetten. Dus:

<table cellpadding="0" cellspacing="0"> <!-- let op de 2 'ellen' ceLLpadding -->
<!-- uit de database -->
<tr><td> blabla </td><td>enz</td></tr>
<tr><td> blabla </td><td>enz</td></tr>
<tr><td> blabla </td><td>enz</td></tr>
<!-- einde uit database -->
</table>
Offline Guido2 - 15/07/2010 15:18
Avatar van Guido2 Nieuw lid Dank je wel.

De gegevens vormen samen 1 rij, dus ik zet de <table cellpadding="0" cellspacing="0">

<tr> aan het begin en

</td></tr></table> aan het eind.

Maar de witte regel tussen de rijen blijft bestaan.

Zie onderstaande (verkorte) code.

<?php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<meta http-equiv="content-type" content="text/html; charset=utf8_unicode_ci" />
<title></title>

<link rel="stylesheet" href="styles.css" type="text/css" media="print" />
<link href="opmaak3.css" rel="stylesheet" type="text/css"/>


<?
include ("db_connect.inccc.php");
$query = "SELECT pas.pasid, pas.optie1, pas.optie2, pas.optie3, pas.optie4, pas.optie5, pas.optie6, pas.optie7, pas.optie8, pas.optie9, pas.optie10, pas.optie11, pas.optie12, pas.optie13, pas.optie14, pas.optie15, pas.optie16, pas.optie17, pas.optie18, pas.optie19, pas.optie20, pas.optie21, pas.optie22, pas.optie23, pas.optie24, pas.optie25, pas.eerste, pas.tweede, pas.derde, pas.vierde, pas.vijfde, pas.zesde, pas.zevende, pas.achtste, pas.negende, pas.tiende, pas.elfde, pas.twaalfde, pas.dertiende, pas.veertiende, pas.vijftiende, pas.zestiende, pas.zeventiende, pas.achttiende, pas.negentiende, pas.extra1, pas.extra2, pas.extra3, pas.extra4, pas.extra5, pas.extra6, pas.extra7, pas.extra8, pas.extra9, pas.extra10, lijst.llid, lijst.leer, lijst.klas, lijst.geht, lijst.naam, lijst.stat, lijst.pode, lijst.plts, lijst.teer, lijst.daum
FROM pas
INNER JOIN lijst
ON pas.extra9=lijst.leer";






$resultaat = null; // hierin wordt het resultaat van de query opgeslagen
$resultaat = mysql_query($query, $db);
mysql_close($db); // database afsluiten
?>
</head>

<body>

<?php
while(list($pasid, $optie1, $optie2, $optie3, $optie4, $optie5, $optie6, $optie7, $optie8, $optie9, $optie10, $optie11, $optie12, $optie13, $optie14, $optie15, $optie16, $optie17, $optie18, $optie19, $optie20, $optie21, $optie22, $optie23, $optie24, $optie25, $eerste, $tweede, $derde, $vierde, $vijfde, $zesde, $zevende, $achtste, $negende, $tiende, $elfde, $twaalfde, $dertiende, $veertiende, $vijftiende, $zestiende, $zeventiende, $achttiende, $negentiende, $extra1, $extra2, $extra3, $extra4, $extra5, $extra6, $extra7, $extra8, $extra9, $extra10, $llid, $leer, $klas, $geht, $naam, $stat, $pode, $plts, $teer, $daum) = mysql_fetch_row($resultaat)){

{?>

<h4>

<table cellpadding="0" cellspacing="0">

<tr><td><?php echo $naam; ?></td>

<td><?php echo $klas; ?></td><td><?php
if(!empty($optie8)){
echo ' ' .$optie8. ' ';
}
?>
</td>


<td><?php
if(!empty($negentiende)){
echo ' ' .$negentiende. ' ';
}
?>
</td>





</td><td><?php
if(!empty($optie16)){
echo ' ' .$optie16. ' ';
}
?>

</td><td><?php
if(!empty($optie17)){
echo ' ' .$optie17. ' ';
}
?>

</td>
</tr>

</table>

</h4>

<?
}
}
?>


[code=html4strict]
Offline Bertjuh - 15/07/2010 15:47
Avatar van Bertjuh HTML interesse Wat staat er in je css? Heb je een link?
Offline Guido2 - 15/07/2010 19:09 (laatste wijziging 16/07/2010 16:02)
Avatar van Guido2 Nieuw lid Hierbij voeg ik de link van menu_style en opmaak.

In de opmaak heb ik de css van de tabel getypt


Offline tomate - 15/07/2010 21:14 (laatste wijziging 15/07/2010 21:15)
Avatar van tomate Lid Je while functie staat gewoon verkeerd. Voor elke nieuwe rij uit je database maak hij een hele nieuwe tabel in je HTML-code, das dus niet logisch. Hij moet enkel een nieuwe rij aanmaken (<tr></tr>). Ik heb het hieronder een beetje aangepast, dit zou moeten werken.

Nu begrijp ik wel niet waarom je het volgende doet.
  1. if(!empty($optie17)){
  2. echo ' ' .$optie17. ' ';}
  3.  
  4. // Volgens mij werkt het onderstaande ook gewoon, want als hij leeg is kan hij niets zetten. //Dus je moet dit niet controleren, tenzij je ook nog een else toevoegt.
  5.  
  6. echo $optie17; // => Werkt normaal ook
  7. }


Het volgende zou je probleem moeten oplossen, die php-code moet je maar aanpassen, want ik weet niet wat de bedoeling ervan is 

  1. <table cellpadding="0" cellspacing="0">
  2. <? while(){ // Hier je Whilegegevens?>
  3. <tr>
  4. <td><? echo $naam; ?></td>
  5. <td><? echo $klas; ?></td>
  6. <td><? echo $optie8;?></td>
  7. <td><? echo $negentiende; ?></td>
  8. <!-- Hier had je gegevens weggelaten -->
  9. <td><? echo $optie16; ?></td>
  10. <td><? echo $optie17;?></td>
  11. </tr>
  12. <?}?>
  13. </table>
Offline Guido2 - 16/07/2010 09:40 (laatste wijziging 16/07/2010 16:02)
Avatar van Guido2 Nieuw lid Dank je wel.

Deze schrijfwijze is inderdaad een stuk korter en het resultaat is hetzelfde. Ik moet de while-lus wel boven het begin van de table plaatsen. Anders komen alleen de gegevens van de eerste persoon in de tabel te staan.

Maar er blijft ruimte tussen de rijen. Ik heb de code van de index.php die achter de link zit van de eerste tekst van dit forumbericht (zie ook onderaan), aangepast. Dan kun je zien dat er niets veranderd is. De codes van de drie documenten staan in de link 'codes'.

Zit mijn fout dan toch in de opmaak3.ccs en de menu_style?

Het valt mij op dat ik bovenaan in mijn code niet eens naar menu_style.css verwijs, maar naar styles.css.

Offline tomate - 16/07/2010 12:28
Avatar van tomate Lid Probeer deze code eens: Plaatscode: 139737

Als hij werkt kan ik meer uitleg geven. 
Offline Guido2 - 16/07/2010 12:39
Avatar van Guido2 Nieuw lid Hij werkt.

En de tussenruimte is eindelijk weg. Hoera!!

Ik heb graag meer uitleg
Offline tomate - 16/07/2010 12:51 (laatste wijziging 16/07/2010 12:53)
Avatar van tomate Lid Ik heb de <h4> -tags van rond je tabel weggedaan. Ik begreep niet waarom je deze daar gezet had, maar nu zijn ze weg.

Na je while stonden er twee {{, dat is voor niets nodig. Eentje is meer dan genoeg.

Nu iets wat eigenlijk niet terzake doet van je tabellen, maar ik heb het volgende ook verwijderd, want dat is voor niets nodig ;)
  1. $resultaat = null;


Graag had ik eens geweten of de volgende code ook werkte, hier maakt hij namelijk de tabel niet telkens opnieuw. Code: http://plaatscode.be/139738/ 

Ook geef ik je als raad mee nog eens wat tutorials over veilige query's te lezen, want nu is hij niet bepaald veilig. ;)
Offline Guido2 - 16/07/2010 13:17 (laatste wijziging 16/07/2010 13:42)
Avatar van Guido2 Nieuw lid Deze code werkt ook.

Hij staat nu op internet. Uit de tweede code blijkt dat <table cellpadding="0" cellspacing="0"> ook boven de while-lus kan staan. Is dit beter? Of accepteert PHP veel oplossingen?

Verder is het voor mij onduidelijk hoe een lettertype <h4> zoveel problemen kan opleveren. Ik had de fout hier echt niet gezocht. Heeft dit te maken met de regels rond de tabellen?

Waarom is deze query onveilig? Ik weet niet wat ermee kan gebeuren.

Heb je een internetlink voor informatie?
Offline tomate - 16/07/2010 13:52
Avatar van tomate Lid De tweede code is dan beter en sneller. Want je zal dan gewoon telkens een nieuwe rij in HTML maken voor je tabel ipv telkens een hele nieuwe tabel.

Tussen <h4>-tags wordt er tekst geplaatst geen tabellen.

Lees deze tutorial eens voor netter SQL query's. De aanhalingstekens zijn belangrijk.
 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.231s