Oprettet lør. d. 12. november 2011 kl. 10:14:09

ny89
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

nemlig
nemlig (5.151 point)
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

nemlig
nemlig (5.151 point)
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

ny89
ny89 (4.370 point)
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

nemlig
nemlig (5.151 point)
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

nemlig
nemlig (5.151 point)
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

nemlig
nemlig (5.151 point)
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

ny89
ny89 (4.370 point)
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

nemlig
nemlig (5.151 point)
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

ny89
ny89 (4.370 point)
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

ny89
ny89 (4.370 point)
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

nemlig
nemlig (5.151 point)
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

ny89
ny89 (4.370 point)
$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

nemlig
nemlig (5.151 point)
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

ny89
ny89 (4.370 point)
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

nemlig
nemlig (5.151 point)
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

ny89
ny89 (4.370 point)
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

nemlig
nemlig (5.151 point)
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

nemlig
nemlig (5.151 point)
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

ny89
ny89 (4.370 point)
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

ny89
ny89 (4.370 point)
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

nemlig
nemlig (5.151 point)
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

nemlig
nemlig (5.151 point)
OK - super for dig.

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Kopier alt fra een column til en anden med streng foran

Oprettet den 25. maj 2012 kl. 04.55
dmg giver 30 point for svar | Giv et svar »

Unique varchar

Oprettet den 25. maj 2012 kl. 04.34
dmg giver 30 point for svar | Giv et svar »

hvem kan flytte min webside fra MySQL 3 database til en...

Oprettet den 24. maj 2012 kl. 11.18
runebase giver 30 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger