Avatar billede dosser Nybegynder
22. april 2003 - 13:56 Der er 20 kommentarer og
1 løsning

sætte ind/oprette rammer automatisk fra mysql i php fil

Jeg har en php side som henter oplysninger fra en mysql db.
Teksten for hver post i db'en kommer på en lang linie kun adskilt med et mellemrum.
Hvordan får jeg det til at lægge sig i nogle rammer, hvor den øverste ramme/række er titlerne for indholdet.
F.eks. en kolonne hvor navnene kommer og en hvor adressen kommer ind, og når der oprettes nye rækker i db'en skal den gerne lave en ny række rammer og indsætte på de rigtige pladser i de rigtige kolonner.
Det skal lige siges at det ikke er alle felter der altid udfyldes, så når der er en der ikke sætter sin adresse ind, skal den bare komme med et tomt felt i den række.

Kan det overhovedet lade sig gøre.

jdo
Nybegynderen  der kaster sig ud i det hele LoL
Avatar billede jakoba Nybegynder
22. april 2003 - 14:09 #1
Det kan sagtens lade sig gøre. Dog nemmes hvis din database er godt struktureret til det du ønker at bruge den til. fx med separate felter i hver række til titlen, forfatteren, datoen, teksten, etc.

For at kunne hjælpe må vi vide hvordan din database er opbygget. fortæl :-)
Avatar billede dosser Nybegynder
22. april 2003 - 14:39 #2
Min db er uploaded fra nedenstående txt fil.

CREATE TABLE profiler (
  username varchar(12) NOT NULL,
  password varchar(50) NOT NULL,
  medlnr varchar(50) NOT NULL,
  fornavn varchar(50) NOT NULL,
  efternavn varchar(50) NOT NULL,
  adresse varchar(50) NOT NULL,
  postnr varchar(4) NOT NULL,
  bynavn varchar(50) NOT NULL,
  motorcykel varchar(50) NOT NULL,
  tlf int(8) DEFAULT '0' NOT NULL,
  mobil int(8) DEFAULT '0' NOT NULL,
  lastlogin varchar(10) NOT NULL,
  email varchar(80) NOT NULL,
  id int(11) DEFAULT '0' NOT NULL auto_increment,
  UNIQUE username (username),
  UNIQUE email (email),
  UNIQUE id (id)
);

jdo
Avatar billede dosser Nybegynder
22. april 2003 - 14:43 #3
brugernavn og password bliver udleveret automatisk ved registrering linierne i resten, med undtagelse af "lastlogin" "id" er noget brugerne selv kan tilføje senere, adressen og telefonnumre er ikke nødvendige at oplyse om så disse felter kan nogle gange stå tomme.

jdo
Avatar billede dosser Nybegynder
22. april 2003 - 14:46 #4
Glemte også lige LoL

at det kun er:
fornavn
efternavn
adresse
postnr
bynavn
motorcykel
tlf
mobil
email

Der skal vises på siden hvis man ønsker at oplyse det.

jdo
Avatar billede hmortensen Nybegynder
22. april 2003 - 15:56 #5
connect...
$q = mysql_query("SELECT * FROM profiler ORDER BY id");
while($row=mysql_fetch_array($q))
{
profil_udskrivning($row["nick"],$row["fornavn"],$row["efternavn"],$row["adresse"],$row["postnr"],$row["bynavn"],$row["motorcykel"],$row["tlf"],$row["mobil"],$row["email"]);
}

profil_udskrivning($fornavn,$efternavn,$adresse,$postnr,$bynavn,$motorcykel,$tlf,$mobil,$email);
{
echo ""
."<table width=500>"
."<tr><td width=25%>Fornavn:</td><td width=25%>$fornavn</td>"
."<td width=25%>Efternavn</td><td width=25%>$efternavn</td></tr>"
."</table>"
."";

Resultatet er kun med fornavn og efternavn
Avatar billede dosser Nybegynder
22. april 2003 - 16:29 #6
hindu skp!
Jeg kan ikke få det til at passe ind i min eksisterende phpfil den melder fejl på linien "connect..."

Min fil ser ud som nedenstående, hvor den kun sender det hele ud på en linie med et mellemrum, men uden overskrifter.:

<?php
$server    = "localhost";    // domæne. dit er måske anderledes
$brugernavn = "xxxxx";          // brugernavn
$password  = "xxxxx";          // password
$db_navn    = "session";            // navn på databasen
$dbt_navn  = "profiler"; // navn på tabel i databasen

mysql_connect($server, $brugernavn, $password)
  or die( "Unable to connect\n". mysql_error() );

mysql_select_db("$db_navn")
  or die("Unable to select db ".mysql_error()."\n");


$result  = mysql_query("SELECT * FROM ".$dbt_navn)
  or die( "Unable to select. Reason: ".mysql_error());

echo "Medlemslisten:<BR>";

while  ($row = mysql_fetch_array($result))  {
  echo $row['medlnr'] ." " .$row['fornavn'] ." " .$row['efternavn'] ." " .$row['adresse'] ." " .$row['postnr'] ." " .$row['bynavn'] ." " .$row['tlf'] ." " .$row['mobil'] ." " .$row['motorcykel'] ." " .$row['email'] . "<BR>";
}

echo "<BR>";
                       
mysql_close();
?>
Avatar billede hmortensen Nybegynder
22. april 2003 - 17:19 #7
Du skal bruge det her til at connecte med (sætter det bare ind istedet for der hvor jeg har skrevet connect):

$server    = "localhost";    // domæne. dit er måske anderledes
$brugernavn = "xxxxx";          // brugernavn
$password  = "xxxxx";          // password
$db_navn    = "session";            // navn på databasen
$dbt_navn  = "profiler"; // navn på tabel i databasen

mysql_connect($server, $brugernavn, $password)
  or die( "Unable to connect\n". mysql_error() );

mysql_select_db("$db_navn")
  or die("Unable to select db ".mysql_error()."\n");
Avatar billede dosser Nybegynder
22. april 2003 - 17:48 #8
Desværre, jeg er nok for grøn LoL
Der kommer fejl i sidste linie selvom linien er tom.
Skal der sættes nogle php tags(ell. hvad man kalder det) eller sådan noget rundt om scriptet.
Når det ser ud som mit virker det men uden rammer, laver jeg det om kommer der kun fejl.
Kan man ikke oprette rammerne og sætte noget script ind i dem som gør at de bliver udfyldt med de rigtige oplysninger fra db'en, men så skal man vel lave en masse tomme rammer.
Avatar billede hmortensen Nybegynder
22. april 2003 - 17:59 #9
Det her burde være hele scriptet:

<?php
$server    = "localhost";    // domæne. dit er måske anderledes
$brugernavn = "xxxxx";          // brugernavn
$password  = "xxxxx";          // password
$db_navn    = "session";            // navn på databasen
$dbt_navn  = "profiler"; // navn på tabel i databasen

mysql_connect($server, $brugernavn, $password)
  or die( "Unable to connect\n". mysql_error() );

mysql_select_db("$db_navn")
  or die("Unable to select db ".mysql_error()."\n");

$q = mysql_query("SELECT * FROM profiler ORDER BY id");
while($row=mysql_fetch_array($q))
{
profil_udskrivning($row["nick"],$row["fornavn"],$row["efternavn"],$row["adresse"],$row["postnr"],$row["bynavn"],$row["motorcykel"],$row["tlf"],$row["mobil"],$row["email"]);
}

profil_udskrivning($fornavn,$efternavn,$adresse,$postnr,$bynavn,$motorcykel,$tlf,$mobil,$email);
{
echo ""
."<table width=500>"
."<tr><td width=25%>Fornavn:</td><td width=25%>$fornavn</td>"
."<td width=25%>Efternavn</td><td width=25%>$efternavn</td></tr>"
."</table><br>"
."";
}
mysql_close();
?>
Avatar billede dosser Nybegynder
22. april 2003 - 18:18 #10
nope
den skriver:
Fatal error: Call to undefined function: profil_udskrivning() on line 24

findes der et andet udtryk for "profil_udskrivning" det ser dansk ud og resten er på engelsk (hvis det har nogen betydning.

jdo
Avatar billede hmortensen Nybegynder
22. april 2003 - 18:19 #11
har fundet fejlen i mit udkast :D
her er den så:

<?php
$server    = "localhost";    // domæne. dit er måske anderledes
$brugernavn = "xxxxx";          // brugernavn
$password  = "xxxxx";          // password
$db_navn    = "session";            // navn på databasen
$dbt_navn  = "profiler"; // navn på tabel i databasen

mysql_connect($server, $brugernavn, $password)
  or die( "Unable to connect\n". mysql_error() );

mysql_select_db("$db_navn")
  or die("Unable to select db ".mysql_error()."\n");

$q = mysql_query("SELECT * FROM profiler ORDER BY id");
while($row=mysql_fetch_array($q))
{
profil_udskrivning($row["nick"],$row["fornavn"],$row["efternavn"],$row["adresse"],$row["postnr"],$row["bynavn"],$row["motorcykel"],$row["tlf"],$row["mobil"],$row["email"]);
}

function profil_udskrivning($fornavn,$efternavn,$adresse,$postnr,$bynavn,$motorcykel,$tlf,$mobil,$email);
{
echo ""
."<table width=500>"
."<tr><td width=25%>Fornavn:</td><td width=25%>$fornavn</td>"
."<td width=25%>Efternavn</td><td width=25%>$efternavn</td></tr>"
."</table><br>"
."";
}
mysql_close();
?>
Avatar billede dosser Nybegynder
22. april 2003 - 18:24 #12
LoL nu bliver det spændende, nu skriver den:
Parse error: parse error, unexpected ';', expecting '{'  on line 27

er du ikke ved at være træt af mig LoL
jdo
Avatar billede dosser Nybegynder
22. april 2003 - 18:28 #13
linie tallet passer ikke helt med dem i scriptet da der ligger noget html øverst.
jdo
Avatar billede dosser Nybegynder
22. april 2003 - 18:29 #14
dette er linie 27:

function profil_udskrivning($fornavn,$efternavn,$adresse,$postnr,$bynavn,$motorcykel,$tlf,$mobil,$email);

jdo
Avatar billede hmortensen Nybegynder
22. april 2003 - 18:33 #15
Så virker det...

Mig der var en øgle, og havde sat ;

Her:

<?php
$server    = "localhost";    // domæne. dit er måske anderledes
$brugernavn = "xxxxxxx";          // brugernavn
$password  = "xxxxxxx";          // password
$db_navn    = "xxxxxx";            // navn på databasen

mysql_connect($server, $brugernavn, $password)
  or die( "Unable to connect\n". mysql_error() );

mysql_select_db("$db_navn")
  or die("Unable to select db ".mysql_error()."\n");

$q = mysql_query("SELECT * FROM profiler ORDER BY id");
while($row=mysql_fetch_array($q))
{
profil_udskrivning($row["nick"],$row["fornavn"],$row["efternavn"],$row["adresse"],$row["postnr"],$row["bynavn"],$row["motorcykel"],$row["tlf"],$row["mobil"],$row["email"]);
}

function profil_udskrivning($nick,$fornavn,$efternavn,$adresse,$postnr,$bynavn,$motorcykel,$tlf,$mobil,$email)
{
echo ""
."<table width=500>"
."<tr><td width=25%>Fornavn:</td><td width=25%>$fornavn</td>"
."<td width=25%>Efternavn</td><td width=25%>$efternavn</td></tr>"
."</table><br>"
."";
}
mysql_close();
?>
Avatar billede dosser Nybegynder
22. april 2003 - 18:35 #16
fandt fejlem det var et ; for meget.
Men det kommer ikke frem i rammer, det ser ud som nedenstående:

Fornavn:  Efternavn Jan

Det skulle gerne se ud som:

Fornavn:    Efternavn:    Adresse:      o.s.v.
Jan          Madsen        Hovedgaden 3
Knud        Hansen        Gyden 22
o.s.v.

Kan man få siden til at vises med en rammetykkelse på f.eks. 1 ?
Avatar billede hmortensen Nybegynder
22. april 2003 - 19:14 #17
Så er det testet, og det virker
Det skulle være til at lave om i selv nu...

<?php
$server    = "";    // domæne. dit er måske anderledes
$brugernavn = "";          // brugernavn
$password  = "";          // password
$db_navn    = "";            // navn på databasen

mysql_connect($server, $brugernavn, $password)
  or die( "Unable to connect\n". mysql_error() );

mysql_select_db("$db_navn")
  or die("Unable to select db ".mysql_error()."\n");

echo ""
."<table border=1>"
."<tr><td width=10%>Fornavn</td><td width=10%>Efternavn</td><td width=10%>Adresse</td><td width=10%>Postnr</td><td width=10%>Bynavn</td><td width=10%>Motercykel</td><td width=10%>Tlf</td><td width=10%>Mobil</td><td width=10%>Email</td>";
$q = mysql_query("SELECT * FROM profiler ORDER BY id");
while($row=mysql_fetch_array($q))
{
profil_udskrivning($row["fornavn"],$row["efternavn"],$row["adresse"],$row["postnr"],$row["bynavn"],$row["motorcykel"],$row["tlf"],$row["mobil"],$row["email"]);
}

function profil_udskrivning($fornavn,$efternavn,$adresse,$postnr,$bynavn,$motorcykel,$tlf,$mobil,$email)
{
echo "<tr><td width=10%>$fornavn</td><td width=10%>$efternavn</td><td width=10%>$adresse</td><td width=10%>$postnr</td><td width=10%>$bynavn</td><td width=10%>$motorcykel</td><td width=10%>$tlf</td><td width=10%>$mobil</td><td width=10%>$email</td>";
}
echo "</table><br>";
mysql_close();
?>
Avatar billede dosser Nybegynder
22. april 2003 - 19:26 #18
Det kører bare nu, jeg sad lige og prøvede at sætte rammer på, men mistede nogle indput LoL
nå men, jeg takker mange gange fra vores lille klub, hvor sender vi rødvinen hen?
Har du icq kan du lægge din adresse på 5827176 ell. sende den til jdo@eucsyd.dk den har du sq fortjent :-)
jdo
Avatar billede hmortensen Nybegynder
22. april 2003 - 19:37 #19
Drop du bare rødvinen...

Vi skal alle starte et sted...
Avatar billede dosser Nybegynder
22. april 2003 - 19:47 #20
Så må jeg sige mange tak.

og kun for at udnytte det lidt LoL hvad skal der stå hvis jeg ønsker at få sat en grå farve i titelfelterne?

jdo
Avatar billede hmortensen Nybegynder
22. april 2003 - 21:38 #21
Jeg kan henvise til www.html.dk

Der er det godt beskrevet.

Læs evt også under CCS derinde.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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