Avatar billede coolzone Nybegynder
09. maj 2004 - 02:44 Der er 4 kommentarer

Link i MySQL og PHP

Jeg har en lille artikel database. På forsiden af webstedet er der en liste over artiklerne. Listen får jeg frem sådan:

<?   
mysql_connect("localhost", "nobody");
mysql_select_db("artikler");

$tilWhile = mysql_query("SELECT * FROM biler");
$resultater = mysql_num_rows($tilWhile);

while ($row = mysql_fetch_array($tilWhile)){

print "<a class=\"link\" href=\"  X  " target=\"_parent\">$row[dato] $row[titel]</a><br />";
                   
}

mysql_close();
?>

Hvad skal der stå eller hvordan skal det laves så hver artikel bliver til et link man kan klikke på og derefter få indholdet af selve den artikel?
Avatar billede coolzone Nybegynder
09. maj 2004 - 02:45 #1
Selve href=\"  X  " er bare for at illusterer
Avatar billede coolzone Nybegynder
09. maj 2004 - 03:28 #2
Har fundet en løsning!
Avatar billede hmortensen Nybegynder
09. maj 2004 - 03:30 #3
Noget i den her retning:
<?   
mysql_connect("localhost", "nobody");
mysql_select_db("artikler");

if (isset($_GET["id"])) {

$tilWhile = mysql_query("SELECT * FROM biler WHERE id = '".$_GET["id"]."'");

while ($row = mysql_fetch_array($tilWhile)){

//Skal lige rette her...
echo $row["felt1"].$row["felt2"];

}
}else {

$sql = mysql_query("SELECT id, dato, titel FROM biler");

while ($row = mysql_fetch_array($sql)){

print "<a class=\"link\" href=\""$_SERVER["PHP_SELF"]."?id=".$row["id"]."\">".$row[dato]."-".$row[titel]."</a><br />";
                   
}
}
mysql_close();
?>
Avatar billede Slettet bruger
09. maj 2004 - 03:31 #4
Det er ikke let at svare præcist på uden at kende din databasestruktur, men her er de generelle træk:

Du skal bruge noget i stil med href='visartikel.php?id={$row['id']}' (Jeg bruger ' i stedet for ", for så behøver du ikke \ foran. Det gør det lettere at læse.)

Derudover skal du bruge et script, som hedder visartikel.php med indhold i denne stil:

<?php

mysql_connect("localhost", "nobody");
mysql_select_db("artikler");

$id = get_magic_quotes_gpc()?$_GET['id']:addslashes($_GET['id']);

// Her skal du indsætte de indledende htmlkoder: <head> og den slags.

$res = mysql_query("SELECT * FROM biler WHERE id='$id'") or die (mysql_error());
if ($row=mysql_fetch_assoc($res)){
  echo "<h1>{$row['titel']}</h1>";
  echo "<p>Skrevet {$row['dato']} af {$row['forfatter']}</p>";
  echo $row['artikeltekst'];
} else {
  echo "Ingen passende artikel fundet.";
}

?>
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