Output netjes op scherm
Nog maar net begonnen in PHP (wel kennis van het oude Visual dBase) loop ik tegen het volgende probleem aan:
Ik lees een database uit (dat gaat met onderstaand script) maar de output komt niet netjes op het scherm. Ik zou graag de output "uitgelijnd" willen zien in 5 kolommen.
Wie helpt mij met tips en trucs?
------------- Broncode ----------------------
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
/**
* @author
* @copyright 2011
*/
// Constanten voor mysql_connect() insluiten:
require_once('mysql_connect.inc.php');
$db=mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die("Verbinding mislukt: " . mysql_error());
mysql_select_db(md199125db167333);
$sql = 'SELECT `naam`, `adres`, `woonplaats`, `telefoon`, `email` ';
$sql .= 'FROM `vrijwilligers` ';
$sql .= 'ORDER BY `naam` ASC ';
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)){
echo ($row["naam"]." ".$row["adres"]." ".$row["woonplaats"]." ".$row["telefoon"]." ".$row["email"]."<br>");}
?>
/**
* @author
* @copyright 2011
*/
// Constanten voor mysql_connect() insluiten:
require_once('mysql_connect.inc.php');
$db=mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die("Verbinding mislukt: " . mysql_error());
mysql_select_db(md199125db167333);
$sql = 'SELECT `naam`, `adres`, `woonplaats`, `telefoon`, `email` ';
$sql .= 'FROM `vrijwilligers` ';
$sql .= 'ORDER BY `naam` ASC ';
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)){
echo ($row["naam"]." ".$row["adres"]." ".$row["woonplaats"]." ".$row["telefoon"]." ".$row["email"]."<br>");}
?>
---------------- Einde van mijn broncode --------------
George van Baasbank
Gewijzigd op 20/05/2011 13:32:59 door George van Baasbank
Als je wilt dat alles netjes in de broncode moet komen. Dan moet je in je PHP gaan enteren en tabs gaan gebruiken in de echo's.
Of wil de HTML-output niet lukken? Als je alles onder elkaar wilt kun je gebruiken maken van een tabel, div, ul of gewoon een enter (br).
Gewijzigd op 20/05/2011 13:13:13 door PHP Scripter
Ik weet niet hoe ik de resultaten vanuit PHP in een tabel moet krijgen
EDIT: Dat kun je trouwens zelf ook wel. Je kunt gewoon qoutes gebruiken om van PHP naar HTML te gaan binnen de echo.... Voorbeeld:
En zo kun je dat ook doen met tabellen etc..
Gewijzigd op 20/05/2011 13:36:32 door PHP Scripter
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
echo '
<table>
<tr>
<td>Regel 1</td>
<td>Regel 2</td>
<td>Regel 3</td>
<td>Regel 4</td>
</tr>
<tr>
<td>'.$rec['row1'].'</td>
<td>'.$rec['row2'].'</td>
<td>'.$rec['row3'].'</td>
<td>'.$rec['row4'].'</td>
</tr>
</table>';
?>
echo '
<table>
<tr>
<td>Regel 1</td>
<td>Regel 2</td>
<td>Regel 3</td>
<td>Regel 4</td>
</tr>
<tr>
<td>'.$rec['row1'].'</td>
<td>'.$rec['row2'].'</td>
<td>'.$rec['row3'].'</td>
<td>'.$rec['row4'].'</td>
</tr>
</table>';
?>
Kijk goed naar de structuur van je tabel, en je weet meteen waar je wat neer moet zetten. Weet je niet hoe je binnen quotes record kan weergeven, dan zou ik toch eens wat handleidingen doornemen.
Je brengt me wel aan het denken. Alleen snap ik nog niet helemaal wat je hierboven hebt neergezet.
Ik krijg nu een deels goed werkend scherm maar de gegevens blijven bovenin ongestructureerd verschijnen.
Ik moet nog veel leren in PHP maar met hulp van wat deskundigen kom ik een heel eind.
George
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
/**
* @author
* @copyright 2011
*/
// Constanten voor mysql_connect() insluiten:
require_once('mysql_connect.inc.php');
$db=mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die("Verbinding mislukt: " . mysql_error());
mysql_select_db(md199125db167333);
$sql = 'SELECT `naam`, `adres`, `woonplaats`, `telefoon`, `email` ';
$sql .= 'FROM `vrijwilligers` ';
$sql .= 'ORDER BY `naam` ASC ';
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)){
echo ($row["naam"]." ".$row["adres"]." ".$row["woonplaats"]." ".$row["telefoon"]." ".$row["email"]."<br>");}
?>
/**
* @author
* @copyright 2011
*/
// Constanten voor mysql_connect() insluiten:
require_once('mysql_connect.inc.php');
$db=mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die("Verbinding mislukt: " . mysql_error());
mysql_select_db(md199125db167333);
$sql = 'SELECT `naam`, `adres`, `woonplaats`, `telefoon`, `email` ';
$sql .= 'FROM `vrijwilligers` ';
$sql .= 'ORDER BY `naam` ASC ';
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)){
echo ($row["naam"]." ".$row["adres"]." ".$row["woonplaats"]." ".$row["telefoon"]." ".$row["email"]."<br>");}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Language" content="nl" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Overzicht vrijwilligers Sjouk.nl</title>
<style type="text/css"></style>
<link rel="stylesheet" type="text/css" href="../css/sjouk.css" />
</head>
<body style="background-color: #FFFFFF; margin-left: 0px; margin-top: 0px;">
<table align="center" width="900 px">
<tr>
<td valign="top" height="66 px" bgcolor="olive" style="font-family: Arial Rounded MT Bold; font-size: 48px; font-weight: bold; color: yellow;" align="center" >Sjouk.nl
</td>
</tr>
</table>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
echo '
<table align="center" width="900 px">
<tr>
<td>'.$rec['row1'].'</td>
<td>'.$rec['row2'].'</td>
<td>'.$rec['row3'].'</td>
<td>'.$rec['row4'].'</td>
<td>'.$rec['row5'].'</td>
</tr>
</table>';
?>
echo '
<table align="center" width="900 px">
<tr>
<td>'.$rec['row1'].'</td>
<td>'.$rec['row2'].'</td>
<td>'.$rec['row3'].'</td>
<td>'.$rec['row4'].'</td>
<td>'.$rec['row5'].'</td>
</tr>
</table>';
?>
</body>
</html>
Je moet je PHP script ook onder je Doctype etc. zetten. Dan kun je die MySQL Functie uitvoeren en de while met tabellen.
George van Baasbank op 20/05/2011 14:25:29:
Je brengt me wel aan het denken. Alleen snap ik nog niet helemaal wat je hierboven hebt neergezet.
Wat Milo hier doet is hij zorgt ervoor dat de data die in de variabele $row["naam"], $row["adres"], $row["woonplaats"], $row["telefoon"], $row["email"] wordt weg geschreven in een tabel. Alleen staat hier de HTML in de PHP. Het is misschien duidelijker als je de HTML zoveel mogelijk van de PHP probeert te scheiden zoals hieronder.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<table>
<tr>
<td>Regel 1</td>
<td>Regel 2</td>
<td>Regel 3</td>
<td>Regel 4</td>
</tr>
<tr>
<td><?php echo $rec['naam']; ?></td>
<td><?php echo $rec['adres']; ?></td>
<td><?php echo $rec['woonplaats']; ?></td>
<td><?php echo $rec['telefoon']; ?></td>
<td><?php echo $rec['email']; ?></td>
</tr>
</table>
<tr>
<td>Regel 1</td>
<td>Regel 2</td>
<td>Regel 3</td>
<td>Regel 4</td>
</tr>
<tr>
<td><?php echo $rec['naam']; ?></td>
<td><?php echo $rec['adres']; ?></td>
<td><?php echo $rec['woonplaats']; ?></td>
<td><?php echo $rec['telefoon']; ?></td>
<td><?php echo $rec['email']; ?></td>
</tr>
</table>
George van Baasbank op 20/05/2011 14:25:29:
Ik krijg nu een deels goed werkend scherm maar de gegevens blijven bovenin ongestructureerd verschijnen.
Dit komt doordat je de PHP code boven de HTML code wegschrijft. Het gene wat je kunt doen is alle PHP code verplaatsen naar de plaats waar je de data wil wegschrijven. Maar het gene wat ik zou doen is alleen het deel waar de data wordt weggeschreven tussen de HTML zetten. Dit ziet er dan zo uit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
/**
* @author
* @copyright 2011
*/
// Constanten voor mysql_connect() insluiten:
require_once('mysql_connect.inc.php');
$db=mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die("Verbinding mislukt: " . mysql_error());
mysql_select_db(md199125db167333);
$sql = 'SELECT `naam`, `adres`, `woonplaats`, `telefoon`, `email` ';
$sql .= 'FROM `vrijwilligers` ';
$sql .= 'ORDER BY `naam` ASC ';
$result=mysql_query($sql);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Language" content="nl" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Overzicht vrijwilligers Sjouk.nl</title>
<style type="text/css"></style>
<link rel="stylesheet" type="text/css" href="../css/sjouk.css" />
</head>
<body style="background-color: #FFFFFF; margin-left: 0px; margin-top: 0px;">
<table>
<tr>
<th>Naam:</th>
<th>Adres:</th>
<th>Woonplaats</th>
<th>Telefoon:</th>
<th>Email:</th>
</tr>
<tr>
<?php while($row=mysql_fetch_array($result)){ ?>
<td><?php echo $rec['naam']; ?></td>
<td><?php echo $rec['adres']; ?></td>
<td><?php echo $rec['woonplaats']; ?></td>
<td><?php echo $rec['telefoon']; ?></td>
<td><?php echo $rec['email']; ?></td>
<?php } ?>
</tr>
</table>
</body>
<html>
/**
* @author
* @copyright 2011
*/
// Constanten voor mysql_connect() insluiten:
require_once('mysql_connect.inc.php');
$db=mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die("Verbinding mislukt: " . mysql_error());
mysql_select_db(md199125db167333);
$sql = 'SELECT `naam`, `adres`, `woonplaats`, `telefoon`, `email` ';
$sql .= 'FROM `vrijwilligers` ';
$sql .= 'ORDER BY `naam` ASC ';
$result=mysql_query($sql);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Language" content="nl" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Overzicht vrijwilligers Sjouk.nl</title>
<style type="text/css"></style>
<link rel="stylesheet" type="text/css" href="../css/sjouk.css" />
</head>
<body style="background-color: #FFFFFF; margin-left: 0px; margin-top: 0px;">
<table>
<tr>
<th>Naam:</th>
<th>Adres:</th>
<th>Woonplaats</th>
<th>Telefoon:</th>
<th>Email:</th>
</tr>
<tr>
<?php while($row=mysql_fetch_array($result)){ ?>
<td><?php echo $rec['naam']; ?></td>
<td><?php echo $rec['adres']; ?></td>
<td><?php echo $rec['woonplaats']; ?></td>
<td><?php echo $rec['telefoon']; ?></td>
<td><?php echo $rec['email']; ?></td>
<?php } ?>
</tr>
</table>
</body>
<html>
Ik hoop dat je hiermee verder kunt.
Veel succes,
Rick
Gewijzigd op 20/05/2011 15:45:01 door Rick van Riel
Je hebt me geweldig op weg geholpen. Ik heb het script iets aangepast maar nu krijg ik alle data op één regel terwijl de data per record slechts op één regel moet staan.
De bron, het belangrijkste stukje ziet er nu alsvolgt uit:
<table align="center" width="900 px" border="1">
<tr>
<th width="150 px">Naam:</th>
<th width="250 px">Adres:</th>
<th width="200 px">Woonplaats</th>
<th width="150 px">Telefoon:</th>
<th width="200 px">Email:</th>
</tr>
<tr>
<td width="150 px" style="font-family: Arial; font-size: small;"><br/></td>
<td width="150 px" style="font-family: Arial; font-size: small;"><br/></td>
<td width="150 px" style="font-family: Arial; font-size: small;"><br/></td>
<td width="150 px" style="font-family: Arial; font-size: small;"><br/></td>
<td width="150 px" style="font-family: Arial; font-size: small;"><br/><br /></td>
</tr>
</table>
Het ziet er op deze site niet uit. Desgewenst kan ik je het bestand toesturen via de e-mail
Gewijzigd op 20/05/2011 17:26:44 door George van Baasbank
Dan moet je voor elke een nieuwe <tr></tr> doen
Thnx!!!!