Avatar billede rema Nybegynder
15. april 2003 - 14:04 Der er 26 kommentarer og
1 løsning

Hentning af nyheder efter tryk på overskrift fra mysql

Hej

Jeg ville lave en nyhedsbar hvor når man klikker på overskriften skal der pop et window op med nyheden, jeg har lavet en db med: id, dato, overskrift, nyhed.

Har prøvet med dette:

index.php

$result = mysql_query("SELECT * FROM eliasnyheder");

$rows = mysql_fetch_array($result);
if ( $rows ) {  // lav en tabel hvis der er noget at fylde i den
    echo "<table width='100%' border='0' cellpadding='40'>";
    while ( $rows ) {  // skriv rækker en ad gangen
        echo "<tr align='center'>";
        for ( $i=0; $i<1; $i++ ) {  // skriv 5 celler i hver række
            if ( $rows ) {  // hvis der er data til denne celle så skriv data
                ?>
  <em><? echo "$rows[dato]<br>";?></em> <strong><a href="\nyhed_info.php?overskrift=nyhed"><? echo "$rows[overskrift]<br><hr>"; ?></a></strong>
  <?
                $rows = mysql_fetch_array($result);  // og hent næste datasæt
            } else {  // ellers skriv tomme celler for resten af rækken.
                echo "<td>&nbsp;</td>";
            }
        }
        echo "</tr>";
    }
    echo "</table>";
}
?>

nyhed_info.php

<?php
$query= mysql_query("SELECT `nyhed`,`overskrift`,`dato`
FROM `eliasnyheder` WHERE `nyhed` = '$overskrift'") or die(mysql_error());

$row=mysql_fetch_array($query);

?>
<table>
<tr><td><?php echo "$row[dato]<br><br>"; ?></td></tr>
<tr><td><?php echo "$row[overskrift]<br><br>"; ?></td></tr>
<tr><td><?php echo "$row[nyhed]<br><br>"; ?></td></tr>
</table>

På forhånd tak

reMa
Avatar billede avminarm Juniormester
15. april 2003 - 14:07 #1
brug id til at hente nyheden med i stedet for overskriften fil.php?id=2

hentes i DB med $id = $_GET['id']
Avatar billede dmdisco Nybegynder
15. april 2003 - 14:09 #2
hvad er fejlen der kommer??
Avatar billede dmdisco Nybegynder
15. april 2003 - 14:09 #3
<a href="\nyhed_info.php?id=<? echo $rows[i]; ?>"><? echo "$rows[id]<br><hr>"; ?></a>
Avatar billede dmdisco Nybegynder
15. april 2003 - 14:09 #4
<a href="\nyhed_info.php?id=<? echo $rows[id]; ?>"><? echo "$rows[id]<br><hr>"; ?></a>
Avatar billede avminarm Juniormester
15. april 2003 - 14:10 #5
mere præcist:

<em><? echo "$rows[dato]<br>";?></em> <strong><a href="\nyhed_info.php?id=<?php echo rows['id']; ?>"><? echo "$rows[overskrift]<br><hr>"; ?></a></strong>

og

nyhed_info.php

<?php
$id = $_GET['id'];
$query= mysql_query("SELECT `nyhed`,`overskrift`,`dato`
FROM `eliasnyheder` WHERE `id` = '$id'") or die(mysql_error());
Avatar billede rema Nybegynder
15. april 2003 - 14:10 #6
hvor skal jeg sætte det ind???:-)
Avatar billede rema Nybegynder
15. april 2003 - 14:15 #7
avminarm->
nu siger den:
Parse error: parse error, unexpected '[', expecting ',' or ';'
Avatar billede rema Nybegynder
15. april 2003 - 14:26 #8
avminarm-> jeg har rette $rows['id'] til "$rows[id]" er dette forkert!! så melder den ikke fejl, men på nyhed_info.php er der ingen ting???
Avatar billede avminarm Juniormester
15. april 2003 - 14:31 #9
sker der intet når du klikker på linket?

prøv at rette til

$query= mysql_query("SELECT `nyhed`,`overskrift`,`dato`
FROM `eliasnyheder` WHERE `id` = '".$id."'")
Avatar billede rema Nybegynder
15. april 2003 - 14:34 #10
nej den viser ikke noget
Avatar billede avminarm Juniormester
15. april 2003 - 14:54 #11
prøv lige med:

while($row=mysql_fetch_array($query)){
?>

<table>
<tr><td><?php echo "$row[dato]<br><br>"; ?></td></tr>
<tr><td><?php echo "$row[overskrift]<br><br>"; ?></td></tr>
<tr><td><?php echo "$row[nyhed]<br><br>"; ?></td></tr>
</table>

<?php
}
?>
Avatar billede rema Nybegynder
15. april 2003 - 14:58 #12
heller ingen ting:(
Avatar billede avminarm Juniormester
15. april 2003 - 15:02 #13
får du ingen fejl medd?
Avatar billede rema Nybegynder
15. april 2003 - 15:04 #14
ingen, du kan selv prøve: elias.bz
Avatar billede avminarm Juniormester
15. april 2003 - 15:12 #15
er du sikker på at din database hedder "eliasnyheder" ???
Avatar billede avminarm Juniormester
15. april 2003 - 15:12 #16
og hvor kan jeg prøve det ;o) ?
Avatar billede rema Nybegynder
15. april 2003 - 15:20 #17
jeg er ret sikker på at db hedder eliasnyheder det er der jeg har overskrifterne fra. prøv: http://www.elias.bz
Avatar billede avminarm Juniormester
15. april 2003 - 15:29 #18
ok nu kan jeg i hvert fald se noget af fejlen

dette skal være sådan her (det er ikke helt korrekt syntax - men det skulle gerne virke):
em><? echo "$rows[dato]<br>";?></em> <strong><a href="\nyhed_info.php?id=<?php echo "rows[id]"; ?>"><? echo "$rows[overskrift]<br><hr>"; ?></a></strong>

hvem er den lille gut?
Avatar billede rema Nybegynder
15. april 2003 - 15:34 #19
nu har jeg rettet det:) men det virker ik'

Det er min søn:]
Avatar billede avminarm Juniormester
15. april 2003 - 15:40 #20
tænkte det nok (sønnen) ;o) - har selv en på snart 2 år.

prøv at udskrive din rows[id] - er du sikker på der findes en id i databasen - eller vis lige din database struktur.

jeg er nødt til at smutte, men vender tilbage i morgen ;o)

doooo prøv lige
em><? echo "$rows[dato]<br>";?></em> <strong><a href="\nyhed_info.php?id=<?php echo "$rows[id]"; ?>"><? echo "$rows[overskrift]<br><hr>"; ?></a></strong>

jeg havde glemt et $.
Avatar billede rema Nybegynder
15. april 2003 - 15:44 #21
den viser ikke noget, men nu kan man se id i bunden af skærmen(glemt hvad det hed) så "vi" du er på rette vej!!! 'tror jeg'

jeg venter spændt

tak reMa
Avatar billede avminarm Juniormester
15. april 2003 - 20:43 #22
Jeg er der lige lidt før ;o)

hvis du trykker på linksene nu står der da: "test test" - men jeg er ikke helt klar over hvilken fil jeg er i (det ser ud som om det er indexfilen)?
Avatar billede rema Nybegynder
15. april 2003 - 21:24 #23
cool

test test er bare noget jeg har skrivet for at se om der var hul igemmen

reMa
Avatar billede rema Nybegynder
15. april 2003 - 21:26 #24
jeg har prøvet at fjerne WHERE 'id' = '$id' og så kommer alle datoeer, overskrifter og nyheder frem!!
Avatar billede avminarm Juniormester
16. april 2003 - 08:12 #25
prøv at skrive noget forskelligt i hver nyhed så du akn se om det er forskellige nyheder der bliver hentet.

Du SKAL have WHERE med det er den der hiver den valgte nyhed frem - du kan evt rette:
$id = $_GET['id'];
$query= mysql_query("SELECT `nyhed`,`overskrift`,`dato`
FROM `eliasnyheder` WHERE `id` = '$id'") or die(mysql_error());

til:
$query= mysql_query("SELECT `nyhed`,`overskrift`,`dato`
FROM `eliasnyheder` WHERE `id` = '".$_GET['id']."'") or die(mysql_error());

Det er $_GET['id'] der bliver "sat" når der er trykket på nyheden - den bliver lig med nyhedes id nummer
Avatar billede rema Nybegynder
17. april 2003 - 08:51 #26
hej avminarm

Tak for hjælpen, jeg har nu fundet ud af det. ;]
Avatar billede avminarm Juniormester
17. april 2003 - 12:43 #27
det var så lidt ;-)
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