Avatar billede trevi Nybegynder
26. maj 2005 - 09:32 Der er 12 kommentarer og
2 løsninger

Hentning af nyhed virker ik?

Hej alle sammen.

hvorfor virker dette ikke:

<?php
require "db.php"; 
$query = mysql_query("SELECT * FROM nyhed ORDER BY dato ASC");
while ($row = mysql_fetch_array($query)) {

$msg = "$msg";
if (strlen($msg) > 30) {
$amsg = substr_replace($msg - $dato, '... <b>[<a href="nyheder.php?tekst='.$msg.'">Læs mere</a>]</b>', 200);
echo ($amsg);
} else {
echo $msg;
}
?>
<? } ?>

Den skal hente alle de tråede der skulle være i min DB i nyhed.. Men jeg ik få det til at virke? den henter overhovedet ingen ting
Avatar billede coderdk Praktikant
26. maj 2005 - 09:37 #1
Prøv at lave:

$msg = "$msg";

om til:

$msg = $row['msg'];
Avatar billede coderdk Praktikant
26. maj 2005 - 09:37 #2
og

echo $msg;

til

echo $row['msg'];

naturligvis
Avatar billede coderdk Praktikant
26. maj 2005 - 09:37 #3
erh, nej, ignorér den sidste ;)
Avatar billede simonhb Praktikant
26. maj 2005 - 09:38 #4
mener du ikke $msg = "$msg"; -> $msg = $row[msg];
Avatar billede angam Nybegynder
26. maj 2005 - 09:39 #5
Din substr() linie er også gal:

$amsg = substr_replace($msg - $dato, '... <b>[<a href="nyheder.php?tekst='.$msg.'">Læs mere</a>]</b>', 200);

Første argument bør være "$msg - $dato" - men $dato er slet ikke sat i denne del af koden, så jeg kan ikke teste hvad det egentlig er du vil her.
Avatar billede trevi Nybegynder
26. maj 2005 - 10:15 #6
Dato skal forresten bare hentes fra DB også ja, så det skal vel bare være

$msg = $row[msg];
$dato = $row[dato];
if (strlen($msg) > 30) {
Avatar billede angam Nybegynder
26. maj 2005 - 10:39 #7
Husk gnyffer omkring; det andet er "ikke pænt" :-)

$msg = $row['msg'];
$dato = $row['dato'];
Avatar billede angam Nybegynder
26. maj 2005 - 10:45 #8
Iøvrigt: vil du virkeligt sende hele nyheden over i query-string'en i læs-mere-linket?

<a href="nyheder.php?tekst='.$msg.'">Læs mere</a>

Udover at det er upraktisk at sende en querystring på 5-10kb. data afsted (tager tid), så er den heller ikke url-encoded (og kan føre til sjove bi-effekter!), så er der en grænse på hvor lang en querystring kan være. Grænsen varierer fra webserver til webserver, men i praksis bør den komplette url ikke overstige 1 kb.

Hvorfor sender du ikke blot id'et på nyheden over (sådan én må du have i databasen), og læser hele nyheden op i nyheder.php?
Avatar billede trevi Nybegynder
26. maj 2005 - 10:47 #9
jojo det kommer det også til ;).. dette var kun lige så jeg kunne se om det virkede :)
Avatar billede trevi Nybegynder
26. maj 2005 - 11:18 #10
Jeg har fundet ud af det :).. smider i et svar?

sidste stk af koden:

require "db.php"; 
$query = mysql_query("SELECT * FROM ting ORDER BY dato ASC");
while ($row = mysql_fetch_array($query)) {

$dato = $row['dato'];
$overskrift = $row['overskrift'];
$msg = $row['msg'];
$tekst = "<strong>$overskrift - $dato</strong> <br> $msg";
if (strlen($msg) > 50) {
$amsg = substr_replace($tekst, '... <b>[<a href="nyheder.php?tekst='.$msg.'">Læs mere</a>]</b>', 150);
echo "($amsg)";
echo "<br><br>";
} else {
echo "<strong>$overskrift; - $dato</strong> <br> $msg";
echo "<br><br>";
}
?>
<? } ?>
Avatar billede coderdk Praktikant
26. maj 2005 - 11:24 #11
Aight :)
Avatar billede angam Nybegynder
26. maj 2005 - 11:45 #12
Svar :)
Avatar billede angam Nybegynder
26. maj 2005 - 11:46 #13
Hovsa.. svar!
Avatar billede trevi Nybegynder
26. maj 2005 - 12:12 #14
Jeg takker og

-lukket-
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