Avatar billede torbenclausen Nybegynder
30. november 2005 - 21:23 Der er 9 kommentarer og
1 løsning

PHP sql vis header og teaser - link til indhold

Heey

Jeg har en database med 4 rows

id
header
teaser
text

Desuden har jeg bikset et lille cms sammen som funger helt fint.

MEN

nu skal informationerne som er i databasen jo vises på en side på følgende måde

header
teaser

header
teaser

osv

og så når man trykker på header skal den linke til indholdet der svarer til headeren. Og når så brugeren har læst det skal der være  mulighed for en "tilbage" knap.

Håber i kan følge mig?

Er ret blank i php, så lidt tips vil være super:o)

TC
Avatar billede jaw Nybegynder
30. november 2005 - 22:47 #1
"Forsiden"

<?

//connect
$query = mysql_query("SELECT id, header, teaser FROM tabel ORDER BY id ASC") or die(mysql_error());

while($row = mysql_fetch_assoc($query)) {
  echo "<a href='ny_side.php?id=".$row['id']."'>$row['header']."</a><br />";
  echo $row['teaser']."<br />";
  echo "<br />";
}

?>

ny_side.php:

<?

//connect

if(isset($_GET['id']) && is_numeric($_GET['id'])) {
  $query = mysql_query("SELECT * FROM tabel WHERE id = ".$_GET['id']) or die(mysql_error());
  while($row = mysql_fetch_assoc($query)) {
    echo $row['header']."<br />";
    echo $row['teaser']."<br />";
    echo nl2br($row['text']);
  }
} else {
  echo "Ugyldigt id-nummer.";
}

?>
Avatar billede torbenclausen Nybegynder
30. november 2005 - 23:07 #2
Hmm den kommer med fejlen

Parse error: syntax error, unexpected T_VARIABLE in /customers/psykologsamtaler.dk/psykologsamtaler.dk/httpd.www/php/metoder.php on line 16

som jeg ik kan slippe af med.

Bytter id ud med metoder_id og tabel ud med metoder

Den del der hedder order by id asc hvad gør den?

Ellers mange mange tak!
Avatar billede jaw Nybegynder
30. november 2005 - 23:14 #3
Hov, linien:
  echo "<a href='ny_side.php?id=".$row['id']."'>$row['header']."</a><br />";
skal være:
  echo "<a href='ny_side.php?id=".$row['id']."'>".$row['header']."</a><br />";


Og hvad mener du med, at du skifter id ud med metoder?
Avatar billede torbenclausen Nybegynder
30. november 2005 - 23:19 #4
altså min tabel hedder metoder og mine ids hedder metoder_id så det er bare det jeg indsætter... Den kommer stadig med samme fejl!
Avatar billede jaw Nybegynder
30. november 2005 - 23:20 #5
Ok, men det er jo ikke det du har skrevet i dit spørgsmål :)

Men så må du paste din kode. For for det første har jeg ikke 16 linier, ergo du må have mere end mig? Dernæst får jeg så heller ingen fejl når jeg prøver ovenstående, på nær den jeg lige rettede.
Avatar billede torbenclausen Nybegynder
30. november 2005 - 23:28 #6
Woops sorry, troede egentligt det kom ud på et hvad idét hed og hvad tabelen hed.. ;o)  Har bare sat din stump ind sådan her:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Psykologsamtaler.dk samtaleterapi og psykologirådgivning i Aarhus</title>
<link rel="stylesheet" type="text/css" href="styleslinks.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<?php

include 'ps.inc.php'

//connect
$query = mysql_query("SELECT metoder_id, header, teaser FROM metoder ORDER BY id ASC") or die(mysql_error());


while($row = mysql_fetch_assoc($query)) {
  echo "<a href='ny_side.php?id=".$row['metoder_id']."'>".$row['header']."</a><br />";
  echo "<br />";
}

php?>


</body>
</html>
Avatar billede torbenclausen Nybegynder
01. december 2005 - 00:04 #7
Nu har jeg fået det til at funge. Lavede lidt om i "forsiden" med brugte "ny-side"

Forside

<?php

include 'ps.inc.php';

$link = @mysql_query('SELECT metoder_id, header, teaser FROM metoder');
    if (!$link) {
    exit('<p>Kunne ikke hente links fra database...<br />'.
        'Error: ' . mysql_error() . '</p>');
}

while ($links = mysql_fetch_array($link)) {
    $metoder_id = $links['metoder_id'];
    $header = htmlspecialchars($links['header']);
    $teaser = htmlspecialchars($links['teaser']);
            echo "<ul><li><a href=show.php?metoder_id=$metoder_id>$header</a></li></ul> ".
            "<ul><li>$teaser</li></ul><br>";
           
}

?>

Hvad med et "tilbage" link på "ny side"? Har du en kodestump til det? Ellers mange tak for hjælpen! Smid svar;o)
Avatar billede Slettet bruger
01. december 2005 - 04:51 #8
I html skal der egentlig være anførselstegn (enten ' eller ") om attributter, så dem tilføjer jeg også lige i mit forslag.

På forsiden, ret linket til:

<a id='link$metoder_id' href='show.php?metoder_id=$metoder_id'>$header</a>

Så kan du på den anden side linke tilbage til samme sted på den anden side med
<a href='forsidefilnavn#link$metoder_id'>Tilbage til oversigten</a>

Husk at rette forsidefilnavn til, så det passer.
Avatar billede jaw Nybegynder
01. december 2005 - 16:47 #9
Yes, svar :)
Avatar billede torbenclausen Nybegynder
02. december 2005 - 16:53 #10
sandbox -> ellers tak for hjælpen, fik det hele til at funge:o)

Go weekend!
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