Avatar billede ny89 Nybegynder
12. november 2011 - 10:14 Der er 21 kommentarer og
1 løsning

Linke

Jeg vil gerne have hjælp til hvordan man linker med kolonnenavn, så indholdet bliver vist på en ny side. Det vil sige kolonne --> navn skal være et link, som man skal klikke på for at blive videreført til en ny side. På den ny side skal navn og brugernavn vises.

Side 1:
$sql= "SELECT navn, brugernavn FROM `brugere`";
$result = mysql_query("$sql");

while($row = mysql_fetch_array( $result))
{
    echo '<a href="bruger.php">';
    echo $row['navnl'];
    echo "</a>";


side2:
Her skal indholdet vises - KUN den ene bruger og ikke alle i db.
Skal sql sætningen skrives igen eller?
Avatar billede nemlig Professor
12. november 2011 - 11:05 #1
1. Send et id med, når du linker, fx. bruger.php?id='.$row['id'].' og hent oplysninger fra databasen igen med $_GET['id']
Du kan alternativt smide id i en Session-variabel, hvis du ikke vil bruge $_GET

2. Smid alle oplysninger i et Session array. Så kan du nøjes med et udtræk, idet du på side 2 kan trække ud fra arrayet. Personligt synes jeg metode 1 er nemmest, men det er nok ikke mest effektivt ift. performance.
Avatar billede nemlig Professor
12. november 2011 - 11:17 #2
Og hvis der kun er tale om 2 felter, så er det nemmeste vel at  sende navn og brugernavn med i dit link og hente værdierne med $_GET:
....bruger.php?navn='.$row['navn'].'?bruger='.$row['brugernavn'].'....

#1 Ønsker du at smide værdierne i sessions, så skal du poste din side, for at sætte sessionvariablerne på den valgte.
Avatar billede ny89 Nybegynder
12. november 2011 - 11:25 #3
Jeg har gjort følgende:

echo "<a href=bruger.php?navn='.$row['navn'].' brugernavn='.$row['brugernavn'].'>"
echo "</a>";

Den viser en blank side??

#1 kan du uddybe lidt, hvordan man smider værdierne i sessions?
Avatar billede nemlig Professor
12. november 2011 - 11:36 #4
Brug lige denne her i stedet og læg mærke til forskellene:

echo "<a href='bruger.php?navn=".$row['navn']."?brugernavn=".$row['brugernavn']."'>Klik her</a>";

På side 2, henter du værdierne med $_GET['navn'], fx sådan her:

echo $_GET['navn'];
echo $_GET['brugernavn'];
Avatar billede nemlig Professor
12. november 2011 - 11:37 #5
Hov, der var en fejl. Når der skal medsendes flere værdier, anvendes ? ved første værdi og & på de efterfølgende:

echo "<a href='bruger.php?navn=".$row['navn']."&brugernavn=".$row['brugernavn']."'>Klik her</a>";
Avatar billede nemlig Professor
12. november 2011 - 11:38 #6
Og hvis du vil vise navnet som link, skal det være sådan her:

echo "<a href='bruger.php?navn=".$row['navn']."&brugernavn=".$row['brugernavn']."'>".$row['navn']."</a>";
Avatar billede ny89 Nybegynder
12. november 2011 - 11:58 #7
Super, det første virker, men kan ikke få data med på side 2.

Det eneste der kommer med er tegnet > ved ikke hvorfor det kommer frem.
Avatar billede nemlig Professor
12. november 2011 - 12:03 #8
Når du klikker på linket og dermed skifter til side 2, kan du så se i adressefeltet, om brugernavn og navn kommer korrekt med?

Og vis lige koden på side 2
Avatar billede ny89 Nybegynder
12. november 2011 - 12:08 #9
i URL'en står der .....bruger.php?navn=&brugernavn=%3E%3Cbr%3E%3C/a%3E%3Ca%20href=


Kode til side 2:
<html>
<head>
<title></title>
</head>
<body>

<?php
echo $_GET['navn'];
echo $_GET['brugernavn'];
?>

</body>
</html>

Skal php koden måske stå inden html?
Avatar billede ny89 Nybegynder
12. november 2011 - 12:11 #10
Har lige adskilt php og html

Hvis jeg på side 2 skriver en tekst i html, bliver teksten til et link. Ved du hvorfor?
Avatar billede nemlig Professor
12. november 2011 - 12:13 #11
Koden ser ok ud, men din url er ikke OK. Så skal jeg se koden fra side 1, hvor du udtrækker af DB og din while.
Avatar billede ny89 Nybegynder
12. november 2011 - 12:20 #12
$navn = $_GET['navn'];
$brugernavn = $_GET['brugernavn'];
$sql = "SELECT navn, brugernavn FROM `brugere`";
$results = mysql_query("$sql");

while($row = mysql_fetch_array( $result))
echo "<a href='bruger.php?
    navn=".$row['navn']."&brugernavn=".$row['brugernavn'].">".$row['navn']. '<br>'. "</a>";
mysql_close();
Avatar billede nemlig Professor
12. november 2011 - 12:24 #13
Hvad skal dine 2 første linjer?

Og ret lige til denne linje. Din indsatte <br> er ikke korrekt:

echo "<a href='bruger.php?navn=".$row['navn']."&brugernavn=".$row['brugernavn'].">".$row['navn']."<br></a>";
Avatar billede ny89 Nybegynder
12. november 2011 - 12:24 #14
Jo, nu kom det frem. :)  ved ikke lige hvad der skete.
Men det er bare underligt at tegnet > kommer med og at det jeg skriver under html bliver automatisk lavet til et link.
Avatar billede nemlig Professor
12. november 2011 - 12:26 #15
Du har også en fejl:
Prøv denne her:

echo "<a href='bruger.php?navn=".$row['navn']."&brugernavn=".$row['brugernavn']."'>".$row['navn']."<br></a>";
Avatar billede ny89 Nybegynder
12. november 2011 - 12:27 #16
De to første linjer kan egentlig slettes. De skal ikke bruges til noget lige nu.
Avatar billede nemlig Professor
12. november 2011 - 12:29 #17
Det er vigtigt, at du kopiere forslagene over, som de er foreslået.

Det går galt med dine single og dobbelt quotes.
Du manglende fx. en single quotes.
Avatar billede nemlig Professor
12. november 2011 - 12:30 #18
Virker det nu? Læg mærke til adresselinjen på side 2, da den skal ligne dette her:

bruger.php?navn=Jens Madsen&brugernavn=JM
Avatar billede ny89 Nybegynder
12. november 2011 - 12:31 #19
Mener du her sidst i scriptet? ".$row['brugernavn']."'>
Hvis jeg tager ' med fejler siden.
Avatar billede ny89 Nybegynder
12. november 2011 - 12:34 #20
Min fejl :) Nu virker det.

Send et svar. Mange tak for hjælpen.
Avatar billede nemlig Professor
12. november 2011 - 12:36 #21
Jeps. Bemærk, at der også er en single quote foran bruger.

Fejler denne her:

echo "<a href='bruger.php?navn=".$row['navn']."&brugernavn=".$row['brugernavn']."'>".$row['navn']."<br></a>";
Avatar billede nemlig Professor
12. november 2011 - 12:36 #22
OK - super for dig.
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