10. april 2007 - 21:04
Der er
35 kommentarer og 1 løsning
Begrænset nyhed.
$nyhed = mysql_query("SELECT * FROM nyhedssystem ORDER BY id DESC limit 1") or die(mysql_error()); if(mysql_num_rows($nyhed) > 0) { På forsiden af min hjemmeside, vises sidste nye nyhed fra min nyhedsside. Men jeg ønsker kun, at vise overskriften og de første 25 karakterer af nyheden. Hvordan gør jeg det? Scriptet som jeg bruger: while ($nyheden=mysql_fetch_array($nyhed)) { echo "<div style=\"font-size: 18px; font-family: Century Gothic;\"><b>".$nyheden['overskrift']."</b></div>"; echo "<div style=\"font-size: 14px; font-family: Century Gothic; margin: 0px; padding: 8px; border: 1px solid black; width: 250px;\">".$nyheden['nyhed']."</div>"; echo "<div style=\"padding-left: 10px;\"><i> ".$nyheden['dato']."</i></div><br>";
Annonceindlæg fra Netic
10. april 2007 - 21:06
#1
Prøver lige igen, uden copy/paste fejl. På forsiden af min hjemmeside, vises sidste nye nyhed fra min nyhedsside. Men jeg ønsker kun, at vise overskriften og de første 25 karakterer af nyheden. Hvordan gør jeg det? Scriptet som jeg bruger: $nyhed = mysql_query("SELECT * FROM nyhedssystem ORDER BY id DESC limit 1") or die(mysql_error()); if(mysql_num_rows($nyhed) > 0) { while ($nyheden=mysql_fetch_array($nyhed)) { echo "<div style=\"font-size: 18px; font-family: Century Gothic;\"><b>".$nyheden['overskrift']."</b></div>"; echo "<div style=\"font-size: 14px; font-family: Century Gothic; margin: 0px; padding: 8px; border: 1px solid black; width: 250px;\">".$nyheden['nyhed']."</div>"; echo "<div style=\"padding-left: 10px;\"><i> ".$nyheden['dato']."</i></div><br>";
10. april 2007 - 21:08
#2
$nyhed = mysql_query("SELECT LEFT(overskrift, 25) FROM nyhedssystem ORDER BY id DESC limit 1") or die(mysql_error());
10. april 2007 - 21:14
#3
Så forsvandt HELE nyheden. Der vises kun overskriften.
10. april 2007 - 21:16
#4
SELECT LEFT(nyhed, 25), overskrift, dato FROM nyhedssystem ORDER BY id DESC limit 1
10. april 2007 - 21:19
#5
Jeg skrev forkert før. Der blev der ikke vist noget. Men med din sidste ændring, vises overskriften, men ingen nyhed.
10. april 2007 - 21:36
#6
Flere forslag???
10. april 2007 - 21:38
#7
Jeg tror det har noget at gøre med LEFT()
10. april 2007 - 21:44
#8
Hmmm...ja, jeg ved det ikke...
Slettet bruger
10. april 2007 - 21:57
#9
$nyhed = mysql_query("SELECT SUBSTRING('overskrift',0,25), overskrift FROM nyhedssystem ORDER BY id DESC limit 1") or die(mysql_error());
10. april 2007 - 22:03
#10
Har ændret ('overskrift',0,25) til ('nyhed',0,25), men der vises stadig ingen nyhed.
Slettet bruger
10. april 2007 - 22:16
#11
ups ja :) Prøv evt. ('nyhed',1,25) i stedet
10. april 2007 - 22:20
#12
Samme resultat. Stadig ingen nyhed.
10. april 2007 - 22:25
#13
$nyhed = mysql_query("SELECT LEFT(nyhed, 25) as tekst, overskrift, dato FROM nyhedssystem ORDER BY id DESC limit 1") or die(mysql_error()); if(mysql_num_rows($nyhed) !=0) { $nyheden = mysql_fetch_array($nyhed); echo "<div style=\"font-size: 18px; font-family: Century Gothic;\"><b>".$nyheden['overskrift']."</b></div>"; echo "<div style=\"font-size: 14px; font-family: Century Gothic; margin: 0px; padding: 8px; border: 1px solid black; width: 250px;\">".$nyheden['tekst']."</div>"; echo "<div style=\"padding-left: 10px;\"><i> ".$nyheden['dato']."</i></div><br>"; }
10. april 2007 - 22:33
#14
Stadig ingen nyhed.
10. april 2007 - 22:48
#15
printf( "%25.25s", $nyheden['nyhed'] ); måske
10. april 2007 - 22:53
#16
eller bare printf( "%.25s", $nyheden['nyhed'] ); så skal du bare hente hele nyheden ud, så skal printf nok forkorte den til 25 tegn.
10. april 2007 - 22:59
#17
Hvor skal det ind?
10. april 2007 - 23:17
#18
$nyhed = mysql_query("SELECT * FROM nyhedssystem ORDER BY id DESC limit 1") or die(mysql_error()); if(mysql_num_rows($nyhed) > 0) { while ($nyheden=mysql_fetch_array($nyhed)) { echo "<div style=\"font-size: 18px; font-family: Century Gothic;\"><b>".$nyheden['overskrift']."</b></div>"; echo "<div style=\"font-size: 14px; font-family: Century Gothic; margin: 0px; padding: 8px; border: 1px solid black; width: 250px;\">".printf("%.25s",$nyheden['nyhed'])."</div>"; echo "<div style=\"padding-left: 10px;\"><i> ".$nyheden['dato']."</i></div><br>";
10. april 2007 - 23:18
#19
Nu fandt jeg ud af det. Men jeg kan ikke få font-size og det til at virke nu. Hvordan får jeg det på igen?
10. april 2007 - 23:20
#20
Ja, ok. Den skriver nyheden udenfor rammen, og 25 inden i rammen.
10. april 2007 - 23:23
#21
Okay, nu er jeg slet ikke med. Den skulle meget gerne kun udskrive 25 tegn fra nyheden.
10. april 2007 - 23:25
#22
Ja, det gør den også. Men udenfor rammen. Inden i rammen, hvor de 25 tegn burde stå, står der tallet "25".
10. april 2007 - 23:39
#23
Okay, prøv lidt at skrive din kode.
10. april 2007 - 23:46
#24
vi kan også bruge substr( $nyheden['nyhed'], 0, 24) istedet for printf
11. april 2007 - 08:11
#25
Din egen kode + showsource's rettelse: $nyhed = mysql_query("SELECT overskrift, LEFT(nyhed, 25) AS nyhed, dato FROM nyhedssystem ORDER BY id DESC limit 1") or die(mysql_error()); if(mysql_num_rows($nyhed) > 0) { while ($nyheden=mysql_fetch_array($nyhed)) { echo "<div style=\"font-size: 18px; font-family: Century Gothic;\"><b>".$nyheden['overskrift']."</b></div>"; echo "<div style=\"font-size: 14px; font-family: Century Gothic; margin: 0px; padding: 8px; border: 1px solid black; width: 250px;\">".$nyheden['nyhed']."</div>"; echo "<div style=\"padding-left: 10px;\"><i> ".$nyheden['dato']."</i></div><br>"; } }
11. april 2007 - 08:26
#26
Så virker det. Tak for det alle sammen. Alle har brugt tid på dette, så smid et svar hvis I vil have point.
11. april 2007 - 08:27
#27
Tillægsspørgsmål. Jeg vil godt slutte de 25 tegn af med "..." Hvordan gøres det?
11. april 2007 - 08:32
#28
Prøv at ret: LEFT(nyhed, 25) AS nyhed til: CONCAT(LEFT(nyhed, 25),'...') AS nyhed
11. april 2007 - 08:32
#29
Eller: echo "<div style=\"font-size: 14px; font-family: Century Gothic; margin: 0px; padding: 8px; border: 1px solid black; width: 250px;\">".$nyheden['nyhed']."...</div>";
11. april 2007 - 08:35
#30
SUPER
11. april 2007 - 08:48
#31
Man burde dog måske teste på følgende måde: if(strlen($nyheden['nyhed']) == 25) { echo '...'; } Hvis nu en lille nyhed er: Jeg er en kort nyhed. (21 tegn) Så vil der komme ... efter, altså: Jeg er en kort nyhed.... Omvendt er en nyhed på 25 tegn nok utænkeligt.
11. april 2007 - 09:49
#32
Jeg beholder scriptet som det er. Tror ikke jeg får så korte nyheder. Ellers må jeg bare tilbage, og lave det om. Nu har du jo skrevet hvordan man gør. Smid et svar. Takker igen.
11. april 2007 - 09:56
#33
Jeg vil gerne smide et svar, men synes dog point skal deles med SHOWSOURCE, da han jo som sådan gav det rigtige svar først.
11. april 2007 - 10:00
#34
Ja, det synes jeg også. Så vi venter til han også har lagt et svar.
11. april 2007 - 10:09
#35
Jeg er kun til point hvis det er om Apache :O) Men ellers tak !
12. april 2007 - 20:36
#36
Jeg takker for point.
Vi tilbyder markedets bedste kurser inden for webudvikling