Avatar billede MSR Juniormester
28. februar 2007 - 20:19 Der er 16 kommentarer og
1 løsning

Udtræk til pæn tabel

<?php

$query = mysql_query("SELECT * FROM personer ORDER BY id ASC");
while($row = mysql_fetch_assoc($query)) //Lav en while der kører alle rækker igennem
{
    echo $row['billede'] . " - " . 
        $row['navn'] . " - " . 
        $row['adresse'] . " - " . 
        $row['telefon'] . " - " . 
        $row['email'] . " - " .
        $row['msn'] . " - " .
        "<br/>";
}

?> 
jeg har fixet ovenstående kode sammen og det fungerer fint. Problemet er at jeg ikke bare vil have data ud som en linie med  "-" imellem. jeg vil have dem ind i en tabel med overskifter: navn, adresse osv osv. Hvordan hulen gør jeg det? jeg her leget lidt med arrays men lurede det ikke helt...

Jeg tror det er ret simpelt men efter at have set en masse spørgsmål igennem her på siden fandt jeg ikke fyldestgørende svar.
Avatar billede jarret Nybegynder
28. februar 2007 - 21:25 #1
Dette skulle virker

<table width="589" border="0">
  <tr>
    <td width="87">Billede</td>
    <td width="82">Navn</td>
    <td width="68">Adresse</td>
    <td width="109">Telefon</td>
    <td width="106">E-mail</td>
    <td width="111">Msn</td>
  </tr>
 
<?
 
while($row = mysql_fetch_assoc($query)) //Lav en while der kører alle rækker igennem
{
    echo "<tr>
    <td>$row['billede'] </td>
        <td>$row['navn'] </td> 
        <td>$row['adresse'] </td> 
        <td>$row['telefon'] </td> 
        <td>$row['email'] </td>
      <td> $row['msn']</td>
      </tr>";

  ?>
</table>
Avatar billede MSR Juniormester
28. februar 2007 - 21:40 #2
Så det sammen ser sådan her ud? :

<table width="589" border="0">
  <tr>
    <td width="87">Billede</td>
    <td width="82">Navn</td>
    <td width="68">Adresse</td>
    <td width="109">Telefon</td>
    <td width="106">E-mail</td>
    <td width="111">Msn</td>
  </tr>

<?

while($row = mysql_fetch_assoc($query)) //Lav en while der kører alle rækker igennem
{
    echo "<tr>
    <td>$row['billede'] </td>
        <td>$row['navn'] </td>
        <td>$row['adresse'] </td>
        <td>$row['telefon'] </td>
        <td>$row['email'] </td>
      <td> $row['msn']</td>
      </tr>";
}
  ?>
</table>

Den fejler omkring Echo "<tr ...
Avatar billede MSR Juniormester
28. februar 2007 - 21:42 #3
Hov jeg har skrevet det samme som dig. æv... jeg får følgende fejl: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in kilde/kilde/kilde on line 64

linie 64 er som sagt ved echo
Avatar billede jarret Nybegynder
28. februar 2007 - 21:47 #4
det må være din row variable der fejler

se den her på www.hvemkommer.php/1.php

<table width="589" border="0">
  <tr>
    <td width="87">Billede</td>
    <td width="82">Navn</td>
    <td width="68">Adresse</td>
    <td width="109">Telefon</td>
    <td width="106">E-mail</td>
    <td width="111">Msn</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <?PHP
 
$i = 0;
while($i < 3) //Lav en while der kører alle rækker igennem
{
    echo "<tr>
    <td>asdf </td>
        <td>asdf </td> 
        <td>asdf </td> 
        <td>asdf </td> 
        <td>asdf</td>
      <td> asdf</td>
      </tr>";
      $i++;

  ?>
</table>
Avatar billede jarret Nybegynder
28. februar 2007 - 21:49 #5
hov det var vist

www.hvemkommer.dk/1.php

:-)
Avatar billede MSR Juniormester
28. februar 2007 - 21:52 #6
Så langt så godt. jeg har fået den tabel frem nu. Det du kommer med her giver mig jo bare x antal rækker med ASDF i. Meningen er at det er en brugerdatabase hvor jeg skal hente alle medlemmernes info i en pæn tabel. Jeg ved ikke hvad faana jeg skal bruge istedet for $row?  Dit link virker forresten ikke?
Avatar billede jarret Nybegynder
28. februar 2007 - 21:53 #7
prøv den her

<table width="589" border="0">
  <tr>
    <td width="87">Billede</td>
    <td width="82">Navn</td>
    <td width="68">Adresse</td>
    <td width="109">Telefon</td>
    <td width="106">E-mail</td>
    <td width="111">Msn</td>
  </tr>
 
<?
 
while($row = mysql_fetch_assoc($query)) //Lav en while der kører alle rækker igennem
{
    echo "<tr>
    <td>".$row['billede']."</td>
        <td>".$row['navn']."</td> 
        <td>".$row['adresse']." </td> 
        <td>".$row['telefon']." </td> 
        <td>".$row['email']." </td>
      <td>".$row['msn']."</td>
      </tr>";

  ?>
</table>
Avatar billede MSR Juniormester
28. februar 2007 - 21:59 #8
Ok. der kommer bare ikke nogen tabel frem. jeg har prøvet at sætte border til 1 så jeg kan se tabellen. den kommer kun om "overskiften".
Fedt at du skriver så hurtigt...
Avatar billede jarret Nybegynder
28. februar 2007 - 22:06 #9
huummm det kan jeg ikke forstå er du sikker på at din $query returnere data?
Avatar billede jarret Nybegynder
28. februar 2007 - 22:10 #10
iver nød til at smutte
Avatar billede jarret Nybegynder
28. februar 2007 - 22:10 #11
held og lykke med det sidste
Avatar billede MSR Juniormester
28. februar 2007 - 22:11 #12
hmmm jeg skal vist være mere "kritisk" med hvad jeg læser. jeg havde bare copy-pasted din kode uden at læse den. jeg manglede hele $query sætningen :D

Det virker lækkert nu. tusind tak for hjælpen

Nu er jeg spritny her på eksperten så hvordan lukker jeg dette spørgsmål og afgiver de der points?
Avatar billede chrishunter Nybegynder
28. februar 2007 - 22:58 #13
Faktisk kan man få MySQL til at lave .html-koden direkte.

Jeg har set det i et blad og nu søgt efter det på mysql.com - desværre forgæves. (Hvis ingen kommer mig i forkøbet, vil jeg forsøge at finde bladet med artiklen.)
Avatar billede jarret Nybegynder
28. februar 2007 - 23:17 #14
hvis du vil give dem til mig skal du bare acceptere det her svar ;-)
Avatar billede MSR Juniormester
01. marts 2007 - 00:14 #15
- Chrishunter - Hvis du finder det må du gerne smide det op.
Naturligvis får du points Jarret. tak for hjælpen
Avatar billede chrishunter Nybegynder
08. marts 2007 - 15:48 #16
I en kommandopromt er det option -H eller --html. F.eks.

$ mysql -H -p -e "SELECT * FROM tabel"

Jeg har søgt efter en måde at bruge denne option direkte et php script, for hvad i alverden skal man med .html output i en kommandopromt. Desværre forgæves.

Så det er noget med at eksekvere det eksternt som f.eks.

<?php
$output = shell_exec('mysql -H -p -e "SELECT * FROM tabel"');
echo "<pre>$output</pre>";
?>

(som jeg har taget fra http://www.php.net/manual/en/function.shell-exec.php og modifiseret til lejligheden - evt. er det bedre at bruge en af de andre muligheder, der er listet på http://www.php.net/manual/en/ref.exec.php).

Artiklen, der gjorde mig opmærksom på muligheden med .html output er fra Linux Journal, september 2006. Den er på sidene 86-91 og hedder Web Reporting with MySQL, CSS and Perl. Og som titlen indikerer, viser den også noget om formatering med CSS i denne sammenhæng. Den kan sagtens bruges, selvom den handler om Perl og ikke PHP.


Held og lykke

Christian
Avatar billede MSR Juniormester
08. marts 2007 - 16:22 #17
lækkert. Det ser jeg på... Det virker måske lidt over mit niveau men jeg læser mig igennem hvad jeg forstår.

Magnus
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
Computerworld tilbyder specialiserede kurser i database-management

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