Avatar billede bluesnix Nybegynder
27. marts 2007 - 21:12 Der er 10 kommentarer og
1 løsning

Hente data fra MySql ved hjælp af et HTML link

Hej

Jeg skal hente noget data fra min data med nyheder. Jeg tænkte, at det ville være lettere at gøre det på denne måde, så jeg ikke skal lave en ny HTML side for hver nyhed.

Hvordan gør jeg dette lettest? Jeg har oprettet databasen, og jeg bruger nedenstående script til at hente dataen frem og få vist den, men hvordan gør jeg det via HTML? Og hvordan får jeg nyheden vist i lige præcis dén <div>, som jeg ønsker?

<?php

//skaber forbindelse til databasen.
mysql_connect ("localhost", "******", "******") or die(mysql_error());
mysql_select_db ("mindatabase") or die(mysql_error());

//laver en forespørgsel i tabellen nyheder
$nyheder = mysql_query("SELECT * FROM nyheder WHERE id= '2'")
or die (mysql_error());

//Udskriver de fundne data i en tabel
print "<table border=1>";
while ($row = mysql_fetch_array($nyheder))
{
    print "<tr><td>" .$row["overskrift"]. "</td>
    <tr><td>" .$row["artikel"]. "</td></tr>";
}
?>
Avatar billede jakobdo Ekspert
27. marts 2007 - 22:28 #1
Gem følgende kode som: nyhed.php:

<?php

//skaber forbindelse til databasen.
mysql_connect ("localhost", "******", "******") or die(mysql_error());
mysql_select_db ("mindatabase") or die(mysql_error());

//laver en forespørgsel i tabellen nyheder
$nyheder = mysql_query("SELECT * FROM nyheder WHERE id= '2'")
or die (mysql_error());

//Udskriver de fundne data i en tabel
print "<table border=1>";
while ($row = mysql_fetch_array($nyheder))
{
    print "<tr><td>" .$row["overskrift"]. "</td>
    <tr><td>" .$row["artikel"]. "</td></tr>";
}
?>

Så kan du kalde den side med: nyhed.php?id=1 nyhed.php?id=2 osv...
Avatar billede bluesnix Nybegynder
27. marts 2007 - 22:38 #2
Tak!

Skal jeg så en lave en php side for hver nyhed?
Avatar billede jkn83 Praktikant
27. marts 2007 - 22:42 #3
nej, du skal lave et link for hver nyhed. Siden laves alt efter hvilket id du vælger at hente, som jadobdo beskriver.

for at hente nyhed nr 1: nyhed.php?id=1
for at hente nyhed nr 2: nyhed.php?id=2
osv...
Avatar billede johan.o Nybegynder
27. marts 2007 - 22:52 #4
Ved ikke om jeg har forstået det korrekt men måske du kan bruge det her til noget :

function newsfeed($id) {
$nyheder = mysql_query("SELECT * FROM nyheder WHERE id= '".mysql_real_escape_string($id)."'") or die (mysql_error());
$output="<table border=1>";
while ($row = mysql_fetch_array($nyheder)) {
  $output.="<tr><td>" .$row["overskrift"]. "</td></tr><tr><td>" .$row["artikel"]. "</td></tr>"; }
$output.="</table>";
return $output; }

I din kode kan du så lave dette :

echo "<div id='den div du vil have news i'>";
echo newsfeed(2);
echo "</div>";

Mvh. Johan
Avatar billede bluesnix Nybegynder
27. marts 2007 - 22:55 #5
Jeg er rimelig ny i php og mysql...

jkn83, kan du prøve og give et eksempel på, hvordan html koden kan se ud så?

Og skal jeg så lave en side (php) hvor jeg gemmer alle de forskellige scripts? ID=1, ID=2 etc?
Avatar billede jkn83 Praktikant
27. marts 2007 - 23:11 #6
For hver gang du tilføjer en nyhed, bliver din ID forhøjet med 1, korrekt? Det vil sige i din mysql har du under din tabel en ID med auto_increasement, eller hvordan det lige staves. Det vil sige din nyhed du tilføjer vil blive højere for hver nyhed du tilføjer.

Så et eksempel på et link til... nyhed nummer 5 du har lavet, ville se sådan ud:
<a href="http://www.dinside.dk/nyhed.php?id=5">Nyhed nummer 5</a>

Du skal derfor ikke lave en side for hver nyhed, da siden bliver oprettet af din nyhed.php side. Kort sagt har du lavet en ramme (nyhed.php) og med en id bestemmelse af hvad der skal hentes, fylder du noget i rammerne så det bliver til en side med indhold. Hvis du forstår ?
Avatar billede bluesnix Nybegynder
27. marts 2007 - 23:28 #7
Tak jkn83! Det giver fuldstændig mening!

Jeg har opbygget databasen, som du også beskriver: ID med auto_increasement etc.

TUSIND tak!

Send et svar, så jeg kan give nogle points

PS: tak til jer andre også!
Avatar billede jakobdo Ekspert
28. marts 2007 - 08:01 #8
Svar!
Avatar billede jkn83 Praktikant
28. marts 2007 - 09:35 #9
Det er jakobdo der skal have pointene :) Jeg gav dig bare forklaringen på hvad du skulle vide for at bruge det :D njoy
Avatar billede bluesnix Nybegynder
28. marts 2007 - 10:58 #10
Helt sikkert - her er points til Jakobdo og tak til jer andre ;)
Avatar billede jakobdo Ekspert
28. marts 2007 - 11:03 #11
Takker for point.
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