Avatar billede gladmhensk Nybegynder
09. februar 2003 - 13:00 Der er 17 kommentarer og
1 løsning

Auto link med id

Jeg har et nyhedssystem, hvor at emnet vises påhoved siden, og så skal man kunne trykke på det og komme videre til en side hvor, at hele nyheden vises...

min kode til der hvor, at man ser emnet og skal kunne komme videre....:
<?
$connecttodb=mysql_connect("vvv","vv","vvv");
mysql_select_db("junge", $connecttodb);

$shownew=mysql_query("SELECT Dato, Emne, id FROM Nyhedstabel ORDER BY Dato DESC limit 0,3");
while($data= mysql_fetch_array($shownew)){
?>
<a href="Vis-nyhed.php?id=<? echo $data[2]; ?>link</a>
<?
  echo "<B>$data[0]</B><br>";
  echo "<br>$data[1]<br>";
 
}         
   
?>

og koden til der hvor at hele nyheden skal vises:
<?
$connecttodb=mysql_connect("vv","vv","vvv");
mysql_select_db("junge", $connecttodb);

$shownew=mysql_query("SELECT Dato, Emne, Besked FROM Nyhedstabel ORDER BY Dato DESC limit 0,1");
while($data= mysql_fetch_array($shownew)){

  echo "<B>$data[0]</B><br>";
  echo "<br>$data[1]<br>";
  echo "<br>$data[2]<br>";
 
}         
   
?>       

ved ikke helt hvad der er galt...
Avatar billede fangel Nybegynder
09. februar 2003 - 13:05 #1
øhhh... i det nederste vil du vise den nyhed som der bliver valgt i kode 1, ik'?

kode 2 skal rettes til


<?
$connecttodb=mysql_connect("vv","vv","vvv");
mysql_select_db("junge", $connecttodb);
$id = $_GET['id']
$shownew=mysql_query("SELECT Dato, Emne, Besked FROM Nyhedstabel WHERE id = '$id'");
while($data= mysql_fetch_array($shownew)){

  echo "<B>$data[0]</B><br>";
  echo "<br>$data[1]<br>";
  echo "<br>$data[2]<br>";

}       
 
?>   

Morten
Avatar billede ahv Nybegynder
09. februar 2003 - 13:06 #2
Morten: Det skal vel hedde, id = '$_GET[id]'
Avatar billede gladmhensk Nybegynder
09. februar 2003 - 13:09 #3
Ok det burde virke nu....for jeg får ikke vist nogen nyhed eftersom jeg ikke har valgt nogen ved kode 1...
Avatar billede gladmhensk Nybegynder
09. februar 2003 - 13:10 #4
men jeg mangler stadigvæk at få kode 1 til at virke...
Avatar billede jakoba Nybegynder
09. februar 2003 - 13:13 #5
Ved at bruge adressen
    Vis-nyhed.php?id=<noget>
prøver du at fortælle siden 'Vis-nyhed.php' at du ønsker at kikke nærmere på den nyhed der har netop det <noget> i sit id felt.

men i din fil til at vise hele nyheden tager du slet ingen hensyn til at den måske er kommet en  id=<noget>  som parameter.
Avatar billede gladmhensk Nybegynder
09. februar 2003 - 13:16 #6
Jakoba...det var det jeg lige fattede, da dea_pg kom med den kode...Problemet er, at det er første gang jeg prøver at lave sådanne links...så nu tror jeg bare det er kode 1 der mangler at komme til at funge
Avatar billede jakoba Nybegynder
09. februar 2003 - 13:21 #7
ahv >>  Som du måske har bemærket er korrekt brug af anførselstegn noget af en kæphest jeg har.

så: NEJ. der skal ikke anførselstegn omkring der. det du får i dit $_GET array er altid strege. så php ved i forvejen at det er en streg. ved at sætte ' om forvirrer du blot php. "Mener han bogstavet '$' fulgt af bogstavet '_' ..."

hvis id er et talfelt (type INT) skal der heller ikke anførselstegn omkring i WHERE betingelsen.

mvh JakobA


enhver variabel har en type. du kan aflæse typen med  var_dump:
$et_tal = 25;
var_dump( $et_tal );
Avatar billede fangel Nybegynder
09. februar 2003 - 13:21 #8
kode 1 burde virke...
Avatar billede gladmhensk Nybegynder
09. februar 2003 - 13:22 #9
i må gerne komme med løsninger tak ;)
så lærer jeg det hurtigere end hvis jeg bruger 5 timer og kommer igen og spørger om det samme ;)
Avatar billede gladmhensk Nybegynder
09. februar 2003 - 13:25 #10
i kan se på www.gladmhensk.madness.dk/test.php at kode 1 ikke virker...
Avatar billede jakoba Nybegynder
09. februar 2003 - 13:36 #11
her har jeg fjernet anførselstegnene onkring $id i sql kommandoen. så vil det virke.

men jeg tvivler nu på at du lærer vældig meget af at kopiere færdige løsninger.

<?
$connecttodb=mysql_connect("vv","vv","vvv");
mysql_select_db("junge", $connecttodb);
$id = $_GET['id']
$shownew=mysql_query("SELECT Dato, Emne, Besked FROM Nyhedstabel WHERE id = $id");
while($data= mysql_fetch_array($shownew)){
  echo "<B>$data[0]</B><br>";
  echo "<br>$data[1]<br>";
  echo "<br>$data[2]<br>";
}     

?>
Avatar billede ahv Nybegynder
09. februar 2003 - 13:43 #12
Jakob, skal prøve at huske det med de anførelses tegn :o)
Avatar billede jakoba Nybegynder
09. februar 2003 - 13:49 #13
Den fejl der kommer har intet med php at gøre:
    "The requested URL /Vis-nyhed.php was not found on this server"
Dir er ikke nogen fil på dit websted med adressen "http://www.gladmhensk.madness.dk/Vis-nyhed.php"

Det kan der være flere årsager til, fx:
1) du har angivet filnavnet forkert. anden stavning, andre store/små bogstaver
2) din servet tillader ikke tegn der er ulovlige i filnavne '-' er kun lovligt i domænenavnet ifølge url-reglerne
3) filen ligger i en anden mappe end du end din test.php fil.

mvh JakobA
Avatar billede gladmhensk Nybegynder
09. februar 2003 - 14:59 #14
EFTER at have fået ændret en smule i de koder i kom med har jeg nu fået det til at virke :-)

så jakoba og ahv skriv bare et svar så i oxo kan få point
Avatar billede ahv Nybegynder
09. februar 2003 - 18:00 #15
:o)
Avatar billede ahv Nybegynder
09. februar 2003 - 18:22 #16
Her gik vist noget galt?

Skulle JakobA og dea_pg ikke have points?
Avatar billede jakoba Nybegynder
09. februar 2003 - 18:38 #17
ikke til mig tak :-)
Avatar billede ahv Nybegynder
09. februar 2003 - 18:42 #18
Du skal også altid være på tværs Jakob ;o) Morten skal du have nogen?
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