Avatar billede kaspermb Nybegynder
10. marts 2011 - 21:27 Der er 13 kommentarer og
1 løsning

php?id=x Hvordan...?

Hej Eksperter

Jeg står og er igang med at lave en hjemmeside hvor der skal laves nogle artikler i database og derfor skal jeg bruge php?id=x til at vise mine artikler fra databasen. men jeg ved ikke hvordan jeg gør. det skal være sådan at man skal kunne trykke på et link som har navn som titlen på artiklen og den linker så til id'en(php?id=x) i databasen og viser hele artiklen.

Håber at i kan hjælpe.. :-)

Hilsen Kasper B
Avatar billede heinzdmx Nybegynder
10. marts 2011 - 21:32 #1
Hvad jeg selv ville gøre ville være at lave det så følgende link bliver dannet:

php?id=10&title=Den rigtigt titel

På den måde er titlen i URL, men du kan slå ID op.
Avatar billede arne_v Ekspert
10. marts 2011 - 21:37 #2
$_GET['id'] vil hente id
Avatar billede kaspermb Nybegynder
10. marts 2011 - 21:39 #3
Er ikke helt 100 på php... så ville det være muligt hvis i kunne skrive hvordan koden kunne se ud. Takker på forhånd...
Avatar billede heinzdmx Nybegynder
10. marts 2011 - 22:00 #4
<?php
$username = "username";
$password = "password";
$hostname = "localhost";   
$dbh = mysql_connect($hostname, $username, $password) or die("error");
$selected = mysql_select_db("dbname",$dbh) or die("error");
$result = mysql_query("SELECT id, title FROM datatable");
while ($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
  echo "< a href='?id=".$row{'id'}."&title=".$row{'title'}."'>".row{'title'}."</a>";
}
?>


Laver en liste over alle links i databasen.

$result = mysql_query("SELECT id, title FROM datatable WHERE id=".mysql_real_escape_string($_GET['id']));
while ($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
  echo $row{'title'};
}
?>


Udprinter bare titlen på den unikke id der er valgt.
Avatar billede tjens Nybegynder
10. marts 2011 - 22:06 #5
Avatar billede kaspermb Nybegynder
10. marts 2011 - 22:13 #6
Hvis jeg laver den øverste kode giver den den her fejl:

Parse error: syntax error, unexpected '{', expecting ',' or ';' in /home/magasens/public_html/test.php on line 10


Og hvis jeg laver den nederste laver den den her fejl:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/magasens/public_html/test.php on line 8
Avatar billede heinzdmx Nybegynder
10. marts 2011 - 22:17 #7
Har ikke lige testet det, men du kan jo prøve at ændre { til [ og } til ]
Avatar billede kaspermb Nybegynder
10. marts 2011 - 22:24 #8
Ja det virkede.. Hvordan får jeg så linket til at vise artiklen.. ?
Jeg takker mange gange... :)
Avatar billede heinzdmx Nybegynder
10. marts 2011 - 22:29 #9
Den første af dem skulle meget gerne give dig en liste hvor følgende bliver printet ud:

< a href='?id=12&title=dintitel'>dintitel</a>


Så jeg ved ikke lige hvad du mener?
Avatar billede kaspermb Nybegynder
10. marts 2011 - 22:37 #10
Ja det gør den også.. men når man klikker på linket vil jeg jo gerne have den til at vise hele artiklen som ligger i en anden row i databasen

test.php?id=24&rubrik=test%20artikel
Avatar billede heinzdmx Nybegynder
10. marts 2011 - 22:43 #11
Den skulle da gerne ligge i samme row men i en anden column. Så er det jo bare at i stedet for at printe titel i den nederste så printe selve indholdet der ligger i sin egen column.
Avatar billede kaspermb Nybegynder
10. marts 2011 - 22:50 #12
Nu har jeg valgt at lave det sådan her... Men den melder en fejl (Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/magasens/public_html/test.php on line 13)


$dbh = mysql_connect($hostname, $username, $password) or die("error");
$selected = mysql_select_db("magasens_artikel",$dbh) or die("error");
$result = mysql_query("SELECT id, rubrik FROM artikel");
while ($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
  echo "<a href='?id=".$row['id']."&rubrik=".$row['rubrik']."'>".$row['rubrik']."</a><br/>";
}
$result = mysql_query("SELECT id, tekst FROM artikel WHERE id=".mysql_real_escape_string($_GET['id']));
while ($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
  echo $row['tekst'];
}
?>
Avatar billede kaspermb Nybegynder
10. marts 2011 - 23:03 #13
Har fået det hele til at virke.... tusinde tak... så skal du bare lige have dine point... :)
Avatar billede heinzdmx Nybegynder
10. marts 2011 - 23:08 #14
Jeg lægger et svar her.

PS. det er nok en god ide at tjekke for om result er false (for det var det din fejl gik ud på) hvilket vil sige at der ikke var noget der blev sendt tilbage pga. en fejl.
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
Kurser inden for grundlæggende programmering

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