ny89
(4.370 point. Point ude: 45)
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?
Skrevet lør. d. 12. november 2011 kl. 11:05:02| #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.
Skrevet lør. d. 12. november 2011 kl. 11:17:29| #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.
Skrevet lør. d. 12. november 2011 kl. 11:25:24| #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?
Skrevet lør. d. 12. november 2011 kl. 11:36:07| #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'];
Skrevet lør. d. 12. november 2011 kl. 11:37:36| #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>";
Skrevet lør. d. 12. november 2011 kl. 11:38:59| #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>";
Skrevet lør. d. 12. november 2011 kl. 11:58:13| #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.
Skrevet lør. d. 12. november 2011 kl. 12:03:31| #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
Skrevet lør. d. 12. november 2011 kl. 12:08:56| #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?
Skrevet lør. d. 12. november 2011 kl. 12:11:39| #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?
Skrevet lør. d. 12. november 2011 kl. 12:13:46| #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.
Skrevet lør. d. 12. november 2011 kl. 12:20:40| #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();
Skrevet lør. d. 12. november 2011 kl. 12:24:12| #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>";
Skrevet lør. d. 12. november 2011 kl. 12:24:19| #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.
Skrevet lør. d. 12. november 2011 kl. 12:26:27| #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>";
Skrevet lør. d. 12. november 2011 kl. 12:27:56| #16
De to første linjer kan egentlig slettes. De skal ikke bruges til noget lige nu.
Skrevet lør. d. 12. november 2011 kl. 12:29:23| #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.
Skrevet lør. d. 12. november 2011 kl. 12:30:26| #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
Skrevet lør. d. 12. november 2011 kl. 12:31:20| #19
Mener du her sidst i scriptet? ".$row['brugernavn']."'>
Hvis jeg tager ' med fejler siden.
Skrevet lør. d. 12. november 2011 kl. 12:34:58| #20
Min fejl :) Nu virker det.
Send et svar. Mange tak for hjælpen.
Skrevet lør. d. 12. november 2011 kl. 12:36:11| #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>";
Skrevet lør. d. 12. november 2011 kl. 12:36:30| #22