Avatar billede universal Nybegynder
11. oktober 2010 - 18:04 Der er 7 kommentarer og
1 løsning

Hjælp til PHP output formatering?

Nedenstående kode henter queries fra database og viser pt indholdet på en vertikal liste.
Jeg vil i stedet gerne have indholdet vist i en tabel.
Spørgsmålet lyder, hvorledes <table><tr><td> burde indsættes i denne kode:


<?PHP

$user_name = ".......";
$password = ".......";
$database = "........";
$server = ".......";
$db_handle = mysql_connect($server, $user_name, $password);

$db_found = mysql_select_db($database, $db_handle);

if ($db_found) {
   
   
$SQL = "SELECT * FROM ........";
$result = mysql_query($SQL);

while ($db_field = mysql_fetch_assoc($result)) {
    echo "<table border='1'>";
print $db_field['<pris'] . "<BR>";
print $db_field['iproduktion'] . "<BR>";
print $db_field['produktionogtest'] . "<BR>";
print $db_field['udstyr'] . "<BR>";
print $db_field['fabrikat'] . "<BR>";
print $db_field['model'] . "<BR>";
print $db_field['skoenvidertryk'] . "<BR>";
print $db_field['udlaegning'] . "<BR>";
print $db_field['uldlaegningforl'] . "<BR>";
print $db_field['lrtoerre'] . "<BR>";
print $db_field['pulversproejte'] . "<BR>";
print $db_field['udstyr'] . "<BR>";
print $db_field['pris'] . "<BR>";
print $db_field['iproduktion'] . "<BR>";
print $db_field['produktionogtest'] . "<BR>";
print $db_field['udstyr'] . "<BR>";
echo "</table>";


}


mysql_close($db_handle);
}
else {
print "Database NOT Found ";
}

?>
11. oktober 2010 - 18:14 #1
Hvis alle 16 felter fra hver raekke skal vaere i en linie i tabellen saa maa koden vaere saaledes:

echo "<table border='1'>";
while ($db_field=mysql_fetch_assoc($result)
{
echo "<tr>";
echo "<td>$db_field['pris']</td>";
echo "<td>$db_field['priduction']</td>";
echo "<td>$db_field['productionogtest']</td>";
echo "<td>$db_field['udstyr']</td>";
o.s.v for alle fields
echo "</tr>";
}
echo "</table>";
Avatar billede universal Nybegynder
11. oktober 2010 - 18:34 #2
Dreamweaver lader til at skrive fejl ved linien: echo "<td>$db_field['pris']</td>";
Desuden vises der ingenting i output.
11. oktober 2010 - 20:09 #3
Hvad skriver Dreamweaver?  Vises der ingen output for nogen af td'erne eller er det kun for $db_field['pris']?  I saa fald kunne det vaere fordi queryen ikke leverer noget resultat for dette felt.  Nu kender jeg ikke saa meget til Dreamweaver.  Normalt i php hvis man inkluderer en variabel, startende med $, i en streng mellem dobbelt quotes saa skulle php automatisk evaluerer variabelen.  Men det kan vaere at Dreamweaver i stedet kraever dette:

echo "<td>". $db_field['pris'] . "</td>";
Avatar billede universal Nybegynder
11. oktober 2010 - 22:26 #4
Jeg har prøvet med : echo "<td>". $db_field['pris'] . "</td>";

Desværre, får jeg en ekstra spalte ind mellem felterne.

Jeg har fundet en anden løsning :

echo "<table class='table_output' border='0'  cellspacing='1' cellpadding='4'  >";
while ($db_field = mysql_fetch_assoc($result))
{

echo "<tr bgcolor='#DCDCDC'>";

echo "<td>";
echo $db_field['id'];
echo "</td>";


echo "<td>";
echo $db_field['pris'];
echo "</td>";

echo "<td>";
echo $db_field['iproduktion'];
echo "</td>";

...Men tænker lidt på hvordan jeg kan inddrage et ekstra felt, for at navngive hver kolonne..?
11. oktober 2010 - 22:33 #5
Godt at du fik td'erne til at virke.

Du kan saette kolonnenavne ved hjaelp af th:

echo "<table border='1'>";
echo "<th>Priskolonne</th><th>Reduktionskolonne</th><th>Kolonne tre</th>....for alle kolonner";
while ($db_field=mysql_fetch_assoc($result)
{
echo "<tr>";
echo "<td>$db_field['pris']</td>";
echo "<td>$db_field['priduction']</td>";
echo "<td>$db_field['productionogtest']</td>";
echo "<td>$db_field['udstyr']</td>";
o.s.v for alle fields
echo "</tr>";
}
echo "</table>";

Her skal du erstatte mine td'er med det der virker i dit system.
Avatar billede universal Nybegynder
11. oktober 2010 - 23:33 #6
Mange tak for hjælpen Christian_Belgien. Pointene går til dig.
Kan du iøvrigt fortælle mig hvordan koden skulle ændres hvis tabellen skulle stå
med feltværdierne på kolonneform "listeform" og ikke rækkeform?
12. oktober 2010 - 06:04 #7
Jeg mener at have svaret paa dit oprindelige spoergsmaal og mere til, og det anerkender du.  Saa jeg haaber du nu afslutter spoergsmaalet og uddeler de lovede points.  Yderligere problemer burde du saa presentere i et nyt spoergsmaal.  Saa bliver det ogsaa set af alle Ekspertens medlemmer hvoraf nogle maaske er klogere end jeg.  Jeg vil saa foreslaa at du i dit naeste spoergsmaal specificerer hvad du mener med "kolonneform 'listeform'" og maaske giver et eksempel.
Avatar billede universal Nybegynder
12. oktober 2010 - 09:09 #8
Beklager. Du får points som lovet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester