Avatar billede pade2204 Nybegynder
15. januar 2005 - 20:40 Der er 6 kommentarer og
1 løsning

Layout på Tabel der henter fra en database.

Hej Gruppe
Jeg håber ikke dette er et for tidskrævende indlæg, men da jeg er meget blank på programmering, kunne jeg godt tænke mig lidt hjælp, hvis nogen har tiden :-)

Jeg står og vil lave en adressebog, hvor layoutet skal se nogenlunde sådan her ud:
http://home25.inet.tele.dk/mohn/test/adresser.htm

Det skal så være sådan når man opretter en ny person i databasen, skal den "udsrive" databasen i en tabel som denne, og skiftevis med hvid og grå baggrund.

Den kode jeg har til fremvisning af min database, ser sådan her ud (nederst i indlægget)), og er layoutmæssigt helt til grin, men det fungerer dog med sammenkørslen af databasen.

Er der en der kan lave en kodning, så min "udskrivning" fra databasen, kan komme til at se sådan ud som på linket ovenover...

Håber ikke det er for besværligt,

På forhånd tak

Kasper


Nuværende kodning:

---------------------

//Test for resultset
if(mysql_num_rows($getmsg) > 0)
{
  echo '<table border=0 width="100%">';
//Write the text out
  while($r = mysql_fetch_array($getmsg))
{
  $mail = $r[mail];
  $navn = $r[navn];
  $adresse = $r[adresse];
  $city = $r[city];
  $nr = $r[nr];
  $mobil = $r[mobil];
       
               
  echo '<table border=0 width="100%">';
  echo '<tr>';
  echo '<td width="100%">';
  echo "<b>$navn</b>";
  echo '</td>';
  echo '</tr>';
  echo '<tr>';
  echo '<td>';
  echo "$adresse";
  echo '</td>';
  echo '</tr>';
  echo '<tr>';
  echo '<td>';
  echo "$city";
  echo '</td>';
  echo '</tr>';
  echo '<tr><td></td></tr>';
  echo '<tr>';
  echo "$nr";
  echo '</tr>';
  echo '<tr>';
  echo '<td>';
  echo "$mobil";
  echo '</td>';
  echo '</tr>';
  echo '<tr>';
  echo '<td>';
  echo "$mail";
  echo '</td>';
  echo '</tr>';
  echo '</table>';
  echo '<tr><td><br><hr></td></tr>';
}
  echo '</table>';
}
else
{
  echo "<h3>Endnu ingen tags tilføjet.</h3>";
}
//Close db connection
mysql_close();
Avatar billede roenving Novice
16. januar 2005 - 13:06 #1
F.eks.

  echo '<table border=0 width="100%">';
  echo '<tr>';
  echo '<td width="100%">';
  echo "<b>$navn</b>";
  echo '</td>';
  echo '</tr>';
  echo '<tr>';
  echo '<td style="background-color:#ddd">';
  echo "$adresse";
  echo '</td>';
  echo '</tr>';
  echo '<tr>';
  echo '<td>';
  echo "$city";
  echo '</td>';
  echo '</tr>';
  echo '<tr>';
  echo '<td style="background-color:#ddd">';
  echo "$nr";
  echo '</td>';
  echo '</tr>';
  echo '<tr>';
  echo '<td>';
  echo "$mobil";
  echo '</td>';
  echo '</tr>';
  echo '<tr>';
  echo '<td style="background-color:#ddd">';
  echo "$mail";
  echo '</td>';
  echo '</tr>';
  echo '</table>';

-- det kan godt være, at du bedre kan overskue din html-kode, når du skriver det sådan, men det bliver jo uoverskueligt, med alle de enkelt-udskrivninger (og hiver kræfter på serveren, så konkatener i stedet i en streng, og udskriv det i stedet:

$txt = "";
//Test for resultset
if(mysql_num_rows($getmsg) > 0)
{
  $txt += '<table border=0 width="100%">';
//Write the text out
  while($r = mysql_fetch_array($getmsg))
{
  $mail = $r[mail];
  $navn = $r[navn];
  $adresse = $r[adresse];
  $city = $r[city];
  $nr = $r[nr];
  $mobil = $r[mobil];
       
               
  $txt += '<table border=0 width="100%"><tr>';
  $txt += '<td width="100%">';
  $txt += "<b>$navn</b>";
  $txt += '</td></tr><tr>';
  $txt += '<td style="background-color:#ddd">';
  $txt += $adresse;
  $txt += '</td></tr><tr>';
  $txt += '<td>';
  $txt += $city;
  $txt += '</td></tr><tr>';
  $txt += '<td style="background-color:#ddd">';
  $txt += $nr;
  $txt += '</td></tr><tr>';
  $txt += '<td>';
  $txt += $mobil;
  $txt += '</td></tr><tr>';
  $txt += '<td style="background-color:#ddd">';
  $txt += $mail;
  $txt += '</td></tr></table>';
  $txt += '<tr><td><br><hr></td></tr>';
}
  $txt += '</table>';
}
else
{
  $txt += "<h3>Endnu ingen tags tilføjet.</h3>";
}
echo $txt;
//Close db connection
mysql_close();
Avatar billede roenving Novice
16. januar 2005 - 13:09 #2
PS. Jeg kunne ikke åbne dit link, så jeg kan ikke gennemskue, om det vil være simplere eller smartere at bruge noget css
Avatar billede pade2204 Nybegynder
16. januar 2005 - 16:23 #3
tak for dit svar.
Nu er det fordi jeg er total blank på kodning (stort set). Men mit link virker godt nok her (mystisk). Men det var egentlig kun sat i, for at kunne vise databasenavnene.

Men det skal se nogenlunde sådan ud i udskrivningen fra databasen:

Navn:            Adresse:                  Mobil og/eller fastnet:    e-mail:
Ander And (navn)  Anerledesvej 12 (adresse)  26548889 (mobil)      lala@and.dk (mail)
                  8900 Randers (city)        87654321 (nr)

Og så vil det fortsætte ned alt afhængig af hvor mange navne der nu er tilmeldt i databasen. Det i parantes er det de hedder i databasen.
Det skal så sættes op i en tabel, igen, alt afhængig af hvor mange der er - og den skal så ved hver anden række lave denne grå, så det giver lidt overblik.

Håber min formulering er til at forstå  :-)
Avatar billede pade2204 Nybegynder
16. januar 2005 - 16:24 #4
opstillingen af den "tabel" jeg lavede der, kiksede da vist lidt.. :)
Avatar billede roenving Novice
16. januar 2005 - 16:35 #5
Så f.eks.

$txt = "";
$i = -1;
//Test for resultset
if(mysql_num_rows($getmsg) > 0)
{
  $txt += '<table border=0 width="100%">
  <tr>
    <td>Navn:</td>
    <td>Adresse:</td>
    <td>Mobil og/eller fastnet</td>
    <td>e-mail:</td>
  </tr>';
//Write the text out
  while($r = mysql_fetch_array($getmsg))
{
  $mail = $r[mail];
  $navn = $r[navn];
  $adresse = $r[adresse];
  $city = $r[city];
  $nr = $r[nr];
  $mobil = $r[mobil];
       
               
  $txt += '<tr'+((++$i%2==0)?'':' style="background-color:#ddd"')+'><td>';
  $txt += "<b>$navn</b>";
  $txt += '</td><td>';
  $txt += $adresse + '<br>'+$city;
  $txt += '</td><td>';
  $txt += $nr;
  $txt += '</td><td>';
  $txt += $mobil + <br> + $nr;
  $txt += '</td><td>';
  $txt += $mail;
  $txt += '</td></tr>;
}
  $txt += '</table>';
}
else
{
  $txt += "<h3>Endnu ingen tags tilføjet.</h3>";
}
echo $txt;
//Close db connection
mysql_close();
Avatar billede pade2204 Nybegynder
19. januar 2005 - 12:30 #6
Jeg har rodet en del med din tekst, og som kodningen er nedenunder udskriver den et tal 2660408553 (og ikke andet), som slet ikke står i databasen:  her er kodningen:

$getmsg = mysql_query('SELECT id, navn, adresse, city, nr, mobil, mail FROM adresse ORDER BY navn ASC '.$top);

$txt = "";
$i = -1;
//Test for resultset
if(mysql_num_rows($getmsg) > 0)
{
  $txt += '<table border=0 width="100%">
  <tr>
    <td>Navn:</td>
    <td>Adresse:</td>
    <td>Mobil og/eller fastnet</td>
    <td>e-mail:</td>
  </tr>';
//Write the text out
  while($r = mysql_fetch_array($getmsg))
{
  $mail = $r[mail];
  $navn = $r[navn];
  $adresse = $r[adresse];
  $city = $r[city];
  $nr = $r[nr];
  $mobil = $r[mobil];
       
               
  $txt += '<tr'+((++$i%2==0)?'':' style="background-color:#ddd"')+'><td>';
  $txt += "<b>$navn</b>";
  $txt += '</td><td>';
  $txt += $adresse + '<br>'+$city;
  $txt += '</td><td>';
  $txt += $nr;
  $txt += '</td><td>';
  $txt += $mobil + '<br>' + $nr;
  $txt += '</td><td>';
  $txt += $mail;
  $txt += '</td></tr>';
}
  $txt += '</table>';
}
else
{
  $txt += "<h3>Endnu ingen tags tilføjet.</h3>";
}
echo $txt;
//Close db connection
mysql_close();

?>
Avatar billede pade2204 Nybegynder
25. januar 2005 - 09:28 #7
jeg lukker - det funker ikke...
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