05. april 2005 - 23:45Der 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
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
<?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'].''; } } ?>
<?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'].''; } } ?>
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?
<?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 :)
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 :-(
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
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">
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?
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">'; } } ?>
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.
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! :-)
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.
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.
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
Synes godt om
Ny brugerNybegynder
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.