Avatar billede yardbird Nybegynder
05. april 2005 - 23:45 Der er 24 kommentarer og
1 løsning

udtræk fra database som skal linke til sit eget id!

Jeg har følgende kode som jeg gerne vil have lidt hjælp til.
Målet er at jeg fra en database henter name, message og date - dette vil jeg gerne have til at linke til det id nr som det kommer fra.

<?php
include('config.php');
$query = mysql_query("SELECT id,header,name,message,DATE_FORMAT(date,'%d-%m/%H:%i') AS date FROM forum WHERE parent=0 ORDER BY id DESC LIMIT 1") or die(mysql_error());
if (mysql_num_rows($query) == 0) {
    echo 'Der er ingen tråde i forummet!<br>';
} else {
    while($row = mysql_fetch_assoc($query)) {
        echo "<a href='laes.php?id=$row[id]'>her skal indsættes</a>";
    (*)    echo 'Skrevet af:'.$row['name'].'<br>';  DENNE LINIE \
    (*)    echo nl2br($row['message']).'<br>';        OG DENNE    >
    (*)    echo ''.$row['date'].'';                 
}
}

?>

(*) Disse 3 linier vil jeg gerne have til at linke til det 'laes.php?id=$row[id]', jeg har forsøgt at sætte det ind i "her skal indsættes" men så får jeg en fejl

Håber der er nogen som kan hjælpe mig!

På forhånd tak

Nikolaj
Avatar billede yardbird Nybegynder
05. april 2005 - 23:47 #1
prøver lige igen med koden så i får det uden gamle kommentarer
<?php
include('config.php');
$query = mysql_query("SELECT id,header,name,message,DATE_FORMAT(date,'%d-%m/%H:%i') AS date FROM forum WHERE parent=0 ORDER BY id DESC LIMIT 1") or die(mysql_error());
if (mysql_num_rows($query) == 0) {
    echo 'Der er ingen tråde i forummet!<br>';
} else {
    while($row = mysql_fetch_assoc($query)) {
        echo "<a href='laes.php?id=$row[id]'>her skal indsættes</a>";
    (*)    echo 'Skrevet af:'.$row['name'].'<br>';
    (*)    echo nl2br($row['message']).'<br>';       
    (*)    echo ''.$row['date'].'';                 
}
}

?>

(*) Disse 3 linier vil jeg gerne have til at linke til det 'laes.php?id=$row[id]', jeg har forsøgt at sætte det ind i "her skal indsættes" men så får jeg en fejl

Nikolaj
Avatar billede jaw Nybegynder
05. april 2005 - 23:56 #2
Prøv med:

<?php
include('config.php');
$query = mysql_query("SELECT id,header,name,message,DATE_FORMAT(date,'%d-%m/%H:%i') AS date FROM forum WHERE parent=0 ORDER BY id DESC LIMIT 1") or die(mysql_error());
if (mysql_num_rows($query) == 0) {
    echo 'Der er ingen tråde i forummet!<br>';
} else {
    while($row = mysql_fetch_assoc($query)) {
        echo '<a href='laes.php?id='.$row['id'].'Skrevet af:'.$row['name'].'</a><br>';
        echo nl2br($row['message']).'<br>';       
        echo ''.$row['date'].'';                 
}
}
?>
Avatar billede jaw Nybegynder
06. april 2005 - 00:00 #3
Nej, det her:

<?php
include('config.php');
$query = mysql_query("SELECT id,header,name,message,DATE_FORMAT(date,'%d-%m/%H:%i') AS date FROM forum WHERE parent=0 ORDER BY id DESC LIMIT 1") or die(mysql_error());
if (mysql_num_rows($query) == 0) {
    echo 'Der er ingen tråde i forummet!<br>';
} else {
    while($row = mysql_fetch_assoc($query)) {
        echo '<a href="laes.php?id='.$row['id'].'">Skrevet af:'.$row['name'].'</a><br>';
        echo nl2br($row['message']).'<br>';       
        echo ''.$row['date'].'';                 
}
}
?>
Avatar billede cpfrande Nybegynder
06. april 2005 - 08:39 #4
Hvilken fejl får du, når du forsøger med at indsætte det i din kode?
Avatar billede yardbird Nybegynder
06. april 2005 - 15:09 #5
hej nu virker det! Men jeg havde glemt at jeg før hen kun viste en string på 100 af '.$row['message'].'

det gjorde jeg således:

<?php
function cut($str,$size=100){
if(strlen($str) > $size){
$str = substr($str, 0, $size)."...";
}
return $str;
}
?>
<?php
mysql_connect('localhost','yardbirds_dk','nikolaj') or die(mysql_error());
mysql_select_db('yardbirds_dk') or die(mysql_error());
$q = mysql_query("SELECT name,message,date_format(date, '%d-%m/%H:%i') AS date FROM forum ORDER BY id DESC LIMIT 1") or die(mysql_error());
while($r = mysql_fetch_array($q)){
echo "Indlæg af " . $r['name'] . ":<br />" ;
echo cut($r['message']);
echo "<br />(" . $r['date'] . ")" ;
}
?>

Det skulle gerne integreres i følgende så "message" max er på 100 string:

<?php
include('config.php');
$query = mysql_query("SELECT id,header,name,message,DATE_FORMAT(date,'%d-%m/%H:%i') AS date FROM forum ORDER BY id DESC LIMIT 1") or die(mysql_error());
if (mysql_num_rows($query) == 0) {
    echo 'Der er ingen tråde i forummet!<br>';
} else {
    while($row = mysql_fetch_assoc($query)) {
        echo '<a href="laes.php?id='.$row['id'].'">Skrevet af:'.$row['name'].'<br>cut('.$row['message'].')<br>'.$row['date'].'</a>';
}
}
?>

men det kan jeg heller ikke gennemskue :-( - jeg har forsøgt mig med følgende:


<?php
function cut($str,$size=99){
if(strlen($str) > $size){
$str = substr($str, 0, $size)."...";
}
return $str;
}
?>
<?php
include('config.php');
$query = mysql_query("SELECT id,header,name,message,DATE_FORMAT(date,'%d-%m/%H:%i') AS date FROM forum ORDER BY id DESC LIMIT 1") or die(mysql_error());
if (mysql_num_rows($query) == 0) {
    echo 'Der er ingen tråde i forummet!<br>';
} else {
    while($row = mysql_fetch_assoc($query)) {
(*)        echo '<a href="laes.php?id='.$row['id'].'">Skrevet af:'.$row['name'].'<br>cut($r['message'])<br>'.$row['date'].'</a>';
}
}
?>

Men får fejlen:
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /customers/yardbirds.dk/yardbirds.dk/httpd.www/test.php on line 1407(*)

(*) er vist i koden hvilket er den linie (1407) som fejlen opstår på

Kan i se hvad jeg gøre galt her også?

P.S. hvordan tildeler jeg pointene? sker det automatisk?
Avatar billede jaw Nybegynder
06. april 2005 - 22:35 #6
Prøv det her:

<?php
    function cut($str,$size=99){
        if(strlen($str) > $size){
            $str = substr($str, 0, $size)."...";
        }
        return $str;
    }
?>

<?php
    include('config.php');
    $query = mysql_query("SELECT id,header,name,message,DATE_FORMAT(date,'%d-%m/%H:%i') AS date FROM forum ORDER BY id DESC LIMIT 1") or die(mysql_error());
    if (mysql_num_rows($query) == 0) {
        echo 'Der er ingen tråde i forummet!<br>';
    } else {
        while($row = mysql_fetch_assoc($query)) {
            echo '<a href="laes.php?id='.$row['id'].'">Skrevet af:'.$row['name'].'<br>'.cut($r['message']).'<br>'.$row['date'].'</a>';
        }
    }
?>

Og pointene kan du kun give når nogen har givet et svar. Det gør jeg nu, så nu burde du kunne uddele lidt :)
Avatar billede yardbird Nybegynder
06. april 2005 - 23:36 #7
Ok, men det virker ikke helt. Det giver ingen fejl, men det skriver ikke noget fra "message", både "name" og "date" er gode nok - men den cut funktion må altså lave noget ballade- Det virker hvis jeg ikke har den inde i.

Cut string funktionen virkede dog før så der må være et eller andet galt i forbindelse med det nye...!

Hvad angår point så kan jeg stadig ikke hitte ud af hvordan jeg uddeler point :-(

Nikolaj
Avatar billede yardbird Nybegynder
06. april 2005 - 23:41 #8
Hej Jaw, nu virker det jeg fandt selv fejlen det var at der stod '.cut($r['message']).' og ikke '.cut($row['message']).' tak for hjælpen håber du nu har fået dine point jeg har ihvartfald prøvet

Nikolaj
Avatar billede yardbird Nybegynder
06. april 2005 - 23:58 #9
lige et sidste spørgsmål knyttet til ovenstående`:

Hvordan får jeg skriften til at være sort og IKKE understreget jeg har forsøgt at skrive det med html før og efter således at det blev:

<?php
    include('config.php');
    $query = mysql_query("SELECT id,header,name,message,DATE_FORMAT(date,'%d-%m/%H:%i') AS date FROM forum ORDER BY id DESC LIMIT 1") or die(mysql_error());
    if (mysql_num_rows($query) == 0) {
        echo 'Der er ingen tråde i forummet!<br>';
    } else {
        while($row = mysql_fetch_assoc($query)) {
            echo '<font color="#000000"><a href="laes.php?id='.$row['id'].'">Skrevet af:'.$row['name'].'<br>'.cut($row['message']).'<br>'.$row['date'].'</a></font><span style="text-decoration: none">';
        }
    }
?></font><span style="text-decoration: none">

men det virker ikke...
Avatar billede jaw Nybegynder
07. april 2005 - 09:56 #10
Gå ind og kig på styles under "DHTML" tror jeg kategorien hedder. Der ligger masser af eksempler hvis du lige gider bruge et par minutter på det...
Avatar billede jaw Nybegynder
07. april 2005 - 09:56 #11
...og jeg har fået points, så tak for det :)
Avatar billede yardbird Nybegynder
07. april 2005 - 19:41 #12
Hej Jaw,

Nu har jeg tilføjet: "<link rel="stylesheet" type="text/css" href="style.css">" i head sektionen på den pågældende side.

Og i style.css skriver jeg:
"a {text-decoration: none; color: #000000}
a:hover {text-decoration: underline}"

Det virker også - men tilgengæld får jeg et nyt problem nemlig at den viser scrollbaren til højre hele tiden (selv om den ikke er "aktiv") - kan jeg fjerne denne således at den kun kommer frem når der er behov for at scrolle?

På forhånd tak

Nikolaj
Avatar billede cpfrande Nybegynder
07. april 2005 - 19:43 #13
Der vil altid være en scrollbar ude i siden - aktiv eller ej.
Avatar billede yardbird Nybegynder
07. april 2005 - 19:47 #14
nej for på den gamle side var der ikke se selv:

http://www.yardbirds.dk/index.php -der er ingen ihvertfald ikke i min browser(explorer)

og

http://www.yardbirds.dk/test.php og i denne er her
Avatar billede cpfrande Nybegynder
07. april 2005 - 19:51 #15
Der er skam en i min.

Scrollbaren vil være der ligemeget hvad. Hvis man ikke kan scrolle på siden, fremvises den ikke som tydeligt som ellers, men den er der!

Den eneste, der gemmer sig, medmindre siden er for bred, er den vandrette scrollbar, men den lodrette er der altid - aktiv eller ej.
Avatar billede yardbird Nybegynder
07. april 2005 - 21:05 #16
hmm det er der hverken på min eller på min fars pc når jeg benytter den gamle kode,

det er der tilgengæld på den nye (test.php)
Avatar billede yardbird Nybegynder
07. april 2005 - 21:24 #17
skidt med det, men jeg har fundet et problem mere (giver naturligvis point igen!)

Jeg har et forum og på min forside vil jeg så vise et uddrag af det nyeste indlæg hvergang og det er lykkedes. Det næste skridt var så at få den til at linke til det nyeste indlæg - det lykkedes også næsten da, for problemet er at den jo linker til det nyeste indlæg, hvilket ikke nødvendigvis er en tråd, men kan være en kommentar til en tråd og derfor linker den til det forkerte den burde linke til den tråd det hører til - det kan ordnes ved at skrive "FROM forum WHERE parent=0 ORDER BY id" fremfor det som står i nedenstående kode, problemet er bare så viser den ikke det nyeste indlæg... Og da mine evner ikke er de helt store må jeg desværre også melde pas her.

Men koden er altså - er der nogen som kan knække nødden for mig?

mvh

Nikolaj

min kode er:
<?php
    include('config.php');
    $query = mysql_query("SELECT id,header,name,message,DATE_FORMAT(date,'%d-%m/%H:%i') AS date FROM forum WHERE parent=0 ORDER BY id DESC LIMIT 1") or die(mysql_error());
    if (mysql_num_rows($query) == 0) {
        echo 'Der er ingen tråde i forummet!<br>';
    } else {
        while($row = mysql_fetch_assoc($query)) {
            echo '<font color="#000000"><a href="laes.php?id='.$row['id'].'">Skrevet af:'.$row['name'].'<br>'.cut($row['message']).'<br>'.$row['date'].'</a></font><span style="text-decoration: none">';
        }
    }
?>

<?php
    function cut($str,$size=99){
        if(strlen($str) > $size){
            $str = substr($str, 0, $size)."...";
        }
        return $str;
    }
?>
Avatar billede jaw Nybegynder
07. april 2005 - 21:56 #18
Hvordan har du forholdet mellem kommentaren og selve hovedemnet?
Avatar billede yardbird Nybegynder
08. april 2005 - 12:33 #19
jeg ved ikke rigtig hvad du mener?
Avatar billede cpfrande Nybegynder
08. april 2005 - 13:08 #20
Han mener sikkert, at hvis du har yderligere spørgsmål, der ikke passer under det emne, som du har lavet, bedes du stille det som et nyt spørgsmål!
Avatar billede yardbird Nybegynder
08. april 2005 - 13:16 #21
hmm, det drejer sig jo stadig om udtræk fra database som skal linke til sit eget id, nu er det bare sålænge parent=0, men jeg kan da godt prøve at oprette et nyt.
Avatar billede cpfrande Nybegynder
08. april 2005 - 13:25 #22
Det hører ikke til det grundlæggende emne, som du laver i dette spørgsmål.

Du forsøger løbende at få løst mange problemer under et emne. Hvis det var det samme problem med den seneste kode, som du har posted, ville du vel bare kunne sammenligne svaret til selve hovedemnet... Hvis ikke, så har du et nyt problem - deraf et nyt spørgsmål! :-)
Avatar billede yardbird Nybegynder
08. april 2005 - 14:14 #23
Det gør det nu altså, men hvis du blir gladere af at jeg opretter et nyt så gør jeg da bare det. Det eneste jeg har prøvet at få svar på udover emnebeskrivelsen var list css styling.
Avatar billede cpfrande Nybegynder
08. april 2005 - 14:17 #24
Nej, det var det netop ikke. Du stiller yderligere spørgsmål til andre ting, der ikke har noget med hovedemnet at gøre (det som du skriver som et problem i starten!).

Jeg er skam ligeglad - men det er god forum-skik, at man lige laver nogle spørgsmål, der passer lidt bedre til det man spørger om, i stedet for at løse 10 forskellige spørgsmål under et officielt spørgsmål.

God weekend.
Avatar billede yardbird Nybegynder
08. april 2005 - 15:24 #25
Ok,

Jeg syntes bare det var en naturlig forlængelse af min første tråd, men skidt med det jeg har nu oprettet en ny: http://www.eksperten.dk/spm/607775 hvis du har mod på det!

Mvh
Nikolaj
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