Avatar billede Lowenti Nybegynder
15. december 2010 - 23:11 Der er 29 kommentarer og
1 løsning

Database-hjælp..

Jeg sidder her og har sat et emne_id på mine tekster, sådanne at hver gang, jeg opretter et nyt, for de et nyt emne_id, ud over det alm ID.. Nu vil jeg så gerne have at den KUN trækker, de ud fra min database med tekster, som har det emne_id der bliver "kaldt". Altså I det jeg trykker på mit link, til f.eks. Religiøse tekster, så hiver den ikke alle ud, men KUN de med det emne_id som Religiøse tekster nu engang har fået..

Er der nogen der kan hjælpe? Pt, ser det kun således ud..

<?php
        $query="select * from emner";
        $sql=mysql_query($query);
        while($r=mysql_fetch_array($sql)){
            echo "<a href='alle_emner.php?id=$r[id]'>$r[titel]</a><br>";
        }
        ?>
Avatar billede jantzen88 Nybegynder
15. december 2010 - 23:19 #1
<?php
if (isset($_GET["id"] && is_int($_GET["id"]) {
    $query="select * from emner WHERE emne_id = $_GET['id']";
} else { $sql=mysql_query($query); }
while($r=mysql_fetch_array($sql)){
echo "<a href='alle_emner.php?id=$r[id]'>$r[titel]</a><br>";
}
?>
Avatar billede jantzen88 Nybegynder
15. december 2010 - 23:20 #2
argh jeg sover i timen sorry :)

<?php
if (isset($_GET["id"] && is_int($_GET["id"]) {
    $query="select * from emner WHERE emne_id = $_GET['id']";
} else { $query="select * from"; }
$sql=mysql_query($query);
while($r=mysql_fetch_array($sql)){
echo "<a href='alle_emner.php?id=$r[id]'>$r[titel]</a><br>";
}
?>
Avatar billede jantzen88 Nybegynder
15. december 2010 - 23:21 #3
ok det nærmer sig pinligt... jeg fik lige slettet emner fra $query="select * from" -- den skal laves om til $query="select * from emner".. det beklager jeg meget :)
Avatar billede Lowenti Nybegynder
15. december 2010 - 23:23 #4
Den melder fejl ved } else :(
Avatar billede Lowenti Nybegynder
15. december 2010 - 23:26 #5
Hehe det gør ikke noget, det virker bare ikke :(
Avatar billede Lowenti Nybegynder
15. december 2010 - 23:32 #6
Den siger det ikke virker :(
Avatar billede jantzen88 Nybegynder
15. december 2010 - 23:37 #7
if (isset($_GET["id"]) && is_int($_GET["id"])) {
Avatar billede Lowenti Nybegynder
15. december 2010 - 23:42 #8
Hmm, det er måske mig der har forklaret mig forkert.. Jeg har en database der hedder emner, og en der hedder tekster.. I emner - ligger titlerne på emnerne plus deres id. I tekster ligger så teksten mm plus emne_id.. Så har jeg en liste hvor jeg hiver emnerne ud, og når man trykker på dem, hver især, skal man kunne videreføres til en side, hvordan viser alle tekster, inden for det gældende emne.. Pt viser den alle emner, ved videreførelsen :(
Avatar billede xpresand Nybegynder
15. december 2010 - 23:47 #9
<?php
$emneid = $_GET[id];
$query = mysql_query("SELECT * FROM emner WHERE emne_id ='$emneid'") or die(mysql_error());
while($row = mysql_fetch_assoc($query)){   
$id = $row[id];
$titel = $row[titel];

echo"<a href='alle_emner.php?id=$id'>$titel</a><br>";
}
?>
Den laver et link til den side hvor du så kan læse teksten:

På siden hvor du skal læse teksten indsætter du så bare:

<?php
$emneid = $_GET[id];
$query = mysql_query("SELECT * FROM emner WHERE emne_id ='$emneid'") or die(mysql_error());
while($row = mysql_fetch_assoc($query)){   
$tekst = $row[tekst];
$titel = $row[titel];

echo"<b>$titel<b><br>$tekst";
}
Avatar billede xpresand Nybegynder
15. december 2010 - 23:48 #10
hovsa... der mangler lige et ?> sidst i koden :)
Avatar billede Lowenti Nybegynder
15. december 2010 - 23:57 #11
Ja, det så jeg.. Den melder fejl.. :(
Næh, nu viser den bare ikke noget...
Avatar billede Lowenti Nybegynder
15. december 2010 - 23:59 #12
Og på den anden side ( alle_emner.php ), er den helt galt..
Avatar billede Lowenti Nybegynder
16. december 2010 - 12:37 #13
Det vil ikke du :(
Avatar billede Lowenti Nybegynder
16. december 2010 - 14:04 #14
Det virker nu.. Tak for hjælpen..
Avatar billede xpresand Nybegynder
16. december 2010 - 17:40 #15
Fik du min kode til at virke?
Avatar billede Lowenti Nybegynder
16. december 2010 - 17:46 #16
Ja noget af den.. Nu kæmper jeg med noget andet.. Måske du vil hjælpe mig?
Avatar billede Lowenti Nybegynder
16. december 2010 - 18:31 #17
Det er denne her fejl den melder..
http://mylifeblog.ldj-design.dk/visemne.php?id=

Den vil gerne vise det hele hvis jeg tilføjer id'et.. Men fra den side og over til siden hvor den skal vise tekst og det hele, melder den fejl :(

Og jeg er gået død, kan ikke selv se fejlen :(
Avatar billede Lowenti Nybegynder
16. december 2010 - 18:38 #18
Her er koderne:

Menu.php ( som er oversigten over emnerne )

<?php
    if (isset($_GET["id"]) && is_int($_GET["id"])) {
            $query="select * from emner WHERE emne = $_GET[id]"; } else {$query="select * from emner"; }
        $sql=mysql_query($query);
    while($r=mysql_fetch_array($sql)){
echo "<a href='alle_emner.php?id=$r[id]'>$r[titel]</a><br>";
                    }?>


Alle_emner.php:
<?php
       
        $emneid = $_GET['id'];
        $query = mysql_query("SELECT * FROM tekster WHERE emne ='$emneid'") or die(mysql_error());
    while($row = mysql_fetch_assoc($query)){ 
        $tekst = $row['tekst'];
        $titel = $row['titel'];
               
    echo "<a href='visemne.php?id=$r[id]'>$titel</a><br/>";
                echo $tekst;
       
            //    echo"<li><b>$titel</b><br>$tekst</li>";
} ?>


Visemne.php:

<?php
        include('connect.php');
    $query=mysql_query("select * from tekster where tekster.id=$_GET[id] ORDER BY tekster.id LIMIT 0,1") or die("Steen er ikke halvt så god som han selv tror". mysql_error());
    while($r=mysql_fetch_array($query)){ osv };
?>

Kan du se fejlen? Jeg har stirret mig blind..
Avatar billede xpresand Nybegynder
16. december 2010 - 22:03 #19
Prøv dette.

Hedder feltet i databasen tekst.id eller hedder den id?
Hvis den kun hedder id skal du slette tekster.id og erstatte det med id.

<?php
include('connect.php');

$query = mysql_query("SELECT * FROM tekster WHERE tekster.id = '$_GET[id]' ORDER BY tekster.id LIMIT 1") or die(mysql_error());
  while($r=mysql_fetch_array($query)){ osv


}
?>
Avatar billede xpresand Nybegynder
16. december 2010 - 22:06 #20
hov..  se bort fra min forrige post, læste dit indlæg forkert.

Prøv at ændre
dette:

  echo "<a href='visemne.php?id=$r[id]'>$titel</a><br/>";
                echo $tekst;
       
med dette:
  echo "<a href='visemne.php?id=$emneid'>$titel</a><br/>";
                echo $tekst;
Avatar billede Lowenti Nybegynder
17. december 2010 - 15:57 #21
YES YES YES YES YES og YES igen. Tak for hjælpeeeeeen ... Det virker nu.. :D Hvor er jeg glad..
Hvis du vil have pointene, kan du bare sende et svar, så skal jeg nok kreditere :D

Tusinde millioner tak.. !!

Må jeg kontakte dig, om jeg får flere PHP vanskeligheder?
Avatar billede xpresand Nybegynder
17. december 2010 - 16:04 #22
Godt, at kunne hjælpe :)

Du skriver bare, hvis der er noget du skal have hjælp med.
Avatar billede Lowenti Nybegynder
17. december 2010 - 16:06 #23
Tusinde tusinde tak..

Jeg vil nemlig lave så man kan kommentere de indlæg der kommer, det kan være jeg får problemer med det :D
Avatar billede Lowenti Nybegynder
17. december 2010 - 19:02 #24
Prøver at sætte et billede ind, men hvad skal jeg skrive istedet for $r['billednavn']; ? Er det der $billed nede i kilden til billede helt forkert??
Pt. ser min kode sådan ud..

<?php
       
        $emneid = $_GET['id'];
        $query = mysql_query("SELECT * FROM tekster WHERE emne ='$emneid'") or die(mysql_error());
            while($row = mysql_fetch_assoc($query)){ 
                $tekst = $row['tekst'];
                $titel = $row['titel'];
                $billed = $row['billednavn'];
               
                echo "<tr><td class='img' rowspan='6' width='100'>";
                echo "<a target='_new' href='billeder/". $billed ."'><img src='billeder/thumb_$r[billednavn]' class='no_border'</img>";
                echo "</td></tr>";
                echo "<tr><td class='border' width='670'><br />";
                //echo"&nbsp;";
                echo "<li><a href='visemne.php?id=$emneid'>$titel</a></li><br />";
                echo"&nbsp;&nbsp;&nbsp;&nbsp;";
                echo $tekst;
                echo "<br /></td></tr></table>";                               
               
                //echo "<a href='visemne.php?id=$r[id]'>$titel</a><br/>";
                //    echo $tekst;
       
            //    echo"<li><b>$titel</b><br>$tekst</li>";
} ?>
Avatar billede Lowenti Nybegynder
17. december 2010 - 19:04 #25
Hehe bare glem det, jeg har løst det selv.. :)
Avatar billede Lowenti Nybegynder
17. december 2010 - 20:32 #26
Nu har jeg så lavet en liste med indtil nu, digte og historier..
Digte har så id 1, der kan man trykke sig videre og bliver sendt hen til en side hvor, der så er en liste med de emner der er indenfor digte, f.eks. religiøse - eller engelske, som jo så også har fået id'et 1, derefter, kan jeg så ikke lige knække hvad jeg skal i databasen, for uanset om jeg trykker på engelske eller riligiøse, så hiver den det samme ud.. Da de jo også har fået id 1.
Altså ikke i den oprigtige id, men den jeg har tilegnet dem.. Kan du hjælpe, sådan at den kun trækker dem ud, der hører under religiøse eller engelske.. Hvordan jeg skal gøre??

Hvis du forstår hvad jeg mener.. Ellers er du meget velkommen, til at kigge på min side..
http://mylifeblog.ldj-design.dk/oversigt.php?id=1

Du skal ikke tage dig af designet, det er jeg slet ikke nået til endnu.. Det kommer :D
Avatar billede xpresand Nybegynder
17. december 2010 - 22:20 #27
Prøv, at tilføje
oversigtid = $row[id] under der hvor du har tilføjet $billed = $tie[ osv.
(hvis du har kaldt id noget andet i databasen ændre det til det korrekte i mit eksempel)


Og i linket skal du skifte $r[id] ud med $oversigtid
Avatar billede Lowenti Nybegynder
18. december 2010 - 00:17 #28
Det virker ikke, hvor er det jeg skal sætte $oversigtid
ind? Har prøvet der hvor der står $emneid, men så viser den ikke noget..


<?php
            include('connect.php');
        $emneid = $_GET['id'];
        $query = mysql_query("SELECT * FROM tekster WHERE emne ='$emneid'") or die(mysql_error());
           
            while($row = mysql_fetch_assoc($query)){ 
               
                $tekst = $row['tekst'];
                $titel = $row['titel'];
                $billed = $row['billednavn'];
                $oversigtid = $row['emne'];
               
               
                echo "<tr><td class='img' rowspan'6' width='100'>";
                echo "<a target='_new' href='billeder/". $billed ."'><img src='billeder/thumb_".$billed . "' class='no_border'</img>";
                echo "</td>";
                echo "<td class='border' width='670'><br />";
                //echo"&nbsp;";
                echo "&nbsp;<li><a href='visemne.php?id=$emneid'>$titel</a></li><br />";
                echo"&nbsp;&nbsp;&nbsp;&nbsp;";
                echo $tekst;
                echo "<br /></td></tr>";                               
} echo"</table>";
?>
Avatar billede Lowenti Nybegynder
19. december 2010 - 12:36 #29
Wuhuu så virker det.. Tusinde tusinde takker igen igen..
Valgte at trække dem ud via ID.. :D

Tusinde millioner tak..
Avatar billede Lowenti Nybegynder
19. december 2010 - 12:42 #30
Kan du huske hvad den der hedder, som man kan sætte ind, hvor man så selv kan vælge hvor man vil have billede og tekst og alt sådan noget?
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