Avatar billede d.kryger Praktikant
20. januar 2003 - 15:51 Der er 13 kommentarer og
2 løsninger

Tag de 150 tegn ud af tabel

Hej eksperter.

Hvordan kan jeg trække de første 150 tegn ud af row'en tekst?

Kode:
print "<font face='Verdana' size='2' color='#FFFFFF'><a href='nyhed.php?id=".$row["dato"]."' class='Nyheder'>".$row["tekst"]."</a><br></font>\n";
Avatar billede Slettet bruger
20. januar 2003 - 15:54 #1
<?
$tekst = substr("$row[tekst]", 0, 150);

print "<font face='Verdana' size='2' color='#FFFFFF'><a href='nyhed.php?id=".$row["dato"]."' class='Nyheder'>$tekst</a><br></font>\n";
?>

således :)
Avatar billede Slettet bruger
20. januar 2003 - 15:54 #2
substr()
Avatar billede Slettet bruger
20. januar 2003 - 15:55 #3
Henter du teksten fra database kan det være en fordel at begrænse længden af teksten allerede her, da det giver bedre performance. Men det kommer an på længden af teksten og det er besværet værd...
Avatar billede Slettet bruger
20. januar 2003 - 15:55 #4
nemlig :D
Avatar billede Slettet bruger
20. januar 2003 - 15:55 #5
og det er besværet værd = om det er besværet værd
Avatar billede tipsen Nybegynder
20. januar 2003 - 16:05 #6
SELECT SUBSTRING(tekst, 0, 150) as tekst FROM tabel;

Se: http://www.mysql.com/doc/en/String_functions.html
Avatar billede d.kryger Praktikant
20. januar 2003 - 16:07 #7
Hvor skal jeg indsætte koden i denne kode?

<?php

function printDato($timestamp)
{
//månedsnavn oversættes til dansk
$maaned=date("F", $timestamp);
if ($maaned=="January") $maaned="januar";
if ($maaned=="February") $maaned="februar";
if ($maaned=="March") $maaned="marts";
if ($maaned=="April") $maaned="april";
if ($maaned=="May") $maaned="maj";
if ($maaned=="June") $maaned="juni";
if ($maaned=="July") $maaned="juli";
if ($maaned=="August") $maaned="august";
if ($maaned=="September") $maaned="september";
if ($maaned=="October") $maaned="oktober";
if ($maaned=="November") $maaned="november";
if ($maaned=="December") $maaned="december";

//skriver datoen på dansk på skærmen
print date("j. ", $timestamp);
print $maaned;
print date(" Y, k\l. H:i", $timestamp);

}

$connection = mysql_connect("--**--","--**--","--**--");
$db = "--**--";
mysql_select_db($db);

$result = mysql_query("SELECT dato, overskrift, tekst FROM nyheder ORDER BY dato DESC");

$antal_nyheder = mysql_num_rows($result);

$nr = 0;

// Skriver nyheder med resume af teksten
while($row = mysql_fetch_array($result))

{
print "<tr>\n";
print "<td width='100%'><font face='Verdana' size='2' color='#FFFFFF'><b>".$row["overskrift"]."</b><br></font>\n";
print "<font face='Verdana' size='1' color='#FFFFFF'><b>Tilføjet den:</b>&nbsp;";
printDato($row["dato"]);
print "<br>\n";
print "<br></font>\n";
print "<font face='Verdana' size='2' color='#FFFFFF'>".$row["tekst"]."...<br></font>\n";
print "<font face='Verdana' size='1' color='#FFFFFF'><a href='nyhed.php?id=".$row["dato"]."' class='Nyheder'>Klik her for at læse mere...</a><br></font>\n";
print "</td>\n";
print "</tr>\n";

print "<tr>\n";
print "<td width='100%'><hr size='1' color='#FFFFFF'></td>\n";
print "</tr>\n";
}

?>
Avatar billede Slettet bruger
20. januar 2003 - 16:09 #8
<?php

function printDato($timestamp)
{
//månedsnavn oversættes til dansk
$maaned=date("F", $timestamp);
if ($maaned=="January") $maaned="januar";
if ($maaned=="February") $maaned="februar";
if ($maaned=="March") $maaned="marts";
if ($maaned=="April") $maaned="april";
if ($maaned=="May") $maaned="maj";
if ($maaned=="June") $maaned="juni";
if ($maaned=="July") $maaned="juli";
if ($maaned=="August") $maaned="august";
if ($maaned=="September") $maaned="september";
if ($maaned=="October") $maaned="oktober";
if ($maaned=="November") $maaned="november";
if ($maaned=="December") $maaned="december";

//skriver datoen på dansk på skærmen
print date("j. ", $timestamp);
print $maaned;
print date(" Y, k\l. H:i", $timestamp);

}

$connection = mysql_connect("--**--","--**--","--**--");
$db = "--**--";
mysql_select_db($db);

$result = mysql_query("SELECT dato, overskrift, tekst FROM nyheder ORDER BY dato DESC");

$antal_nyheder = mysql_num_rows($result);

$nr = 0;

// Skriver nyheder med resume af teksten
while($row = mysql_fetch_array($result))
$tekst = substr("$row[tekst]", 0, 150);
{
print "<tr>\n";
print "<td width='100%'><font face='Verdana' size='2' color='#FFFFFF'><b>".$row["overskrift"]."</b><br></font>\n";
print "<font face='Verdana' size='1' color='#FFFFFF'><b>Tilføjet den:</b>&nbsp;";
printDato($row["dato"]);
print "<br>\n";
print "<br></font>\n";
print "<font face='Verdana' size='2' color='#FFFFFF'>$tekst...<br></font>\n";
print "<font face='Verdana' size='1' color='#FFFFFF'><a href='nyhed.php?id=".$row["dato"]."' class='Nyheder'>Klik her for at læse mere...</a><br></font>\n";
print "</td>\n";
print "</tr>\n";

print "<tr>\n";
print "<td width='100%'><hr size='1' color='#FFFFFF'></td>\n";
print "</tr>\n";
}

?>
Avatar billede Slettet bruger
20. januar 2003 - 16:20 #9
kører det? :)
Avatar billede d.kryger Praktikant
20. januar 2003 - 16:30 #10
Nej, så kommer der ikke nogen overskrift. Datoen bliver lavet om til 1. januar 1970...
Avatar billede Slettet bruger
20. januar 2003 - 16:32 #11
what...?

nå men tipsens svar er nok også bedre at bruge :)
har aldrig brugt hans metode så ved ikke om det er sat korrekt ind...!
<?php

function printDato($timestamp)
{
//månedsnavn oversættes til dansk
$maaned=date("F", $timestamp);
if ($maaned=="January") $maaned="januar";
if ($maaned=="February") $maaned="februar";
if ($maaned=="March") $maaned="marts";
if ($maaned=="April") $maaned="april";
if ($maaned=="May") $maaned="maj";
if ($maaned=="June") $maaned="juni";
if ($maaned=="July") $maaned="juli";
if ($maaned=="August") $maaned="august";
if ($maaned=="September") $maaned="september";
if ($maaned=="October") $maaned="oktober";
if ($maaned=="November") $maaned="november";
if ($maaned=="December") $maaned="december";

//skriver datoen på dansk på skærmen
print date("j. ", $timestamp);
print $maaned;
print date(" Y, k\l. H:i", $timestamp);

}

$connection = mysql_connect("--**--","--**--","--**--");
$db = "--**--";
mysql_select_db($db);

$result = mysql_query("SELECT dato, overskrift, tekst FROM nyheder ORDER BY dato DESC SUBSTRING(tekst, 0, 150) as tekst");

$antal_nyheder = mysql_num_rows($result);

$nr = 0;

// Skriver nyheder med resume af teksten
while($row = mysql_fetch_array($result))

{
print "<tr>\n";
print "<td width='100%'><font face='Verdana' size='2' color='#FFFFFF'><b>".$row["overskrift"]."</b><br></font>\n";
print "<font face='Verdana' size='1' color='#FFFFFF'><b>Tilføjet den:</b>&nbsp;";
printDato($row["dato"]);
print "<br>\n";
print "<br></font>\n";
print "<font face='Verdana' size='2' color='#FFFFFF'>".$row["tekst"]."...<br></font>\n";
print "<font face='Verdana' size='1' color='#FFFFFF'><a href='nyhed.php?id=".$row["dato"]."' class='Nyheder'>Klik her for at læse mere...</a><br></font>\n";
print "</td>\n";
print "</tr>\n";

print "<tr>\n";
print "<td width='100%'><hr size='1' color='#FFFFFF'></td>\n";
print "</tr>\n";
}

?>
Avatar billede tipsen Nybegynder
21. januar 2003 - 02:01 #12
Sådan her - jeg har sat det ind det rigtige sted i sql'en og optimeret din printDato-funktion:

<?php

function printDato($timestamp) {
  //månedsnavn oversættes til dansk
  $mndarray = array(1 => 'januar', 'februar', 'marts', 'april', 'maj', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'december');
  $maaned=$mndarray[date('n', $timestamp)];

  //skriver datoen på dansk på skærmen
  echo date('j. ', $timestamp) . $maaned . date(' Y, k\l. H:i', $timestamp);
}

$connection = mysql_connect("--**--","--**--","--**--");
$db = "--**--";
mysql_select_db($db);

$result = mysql_query('SELECT dato, overskrift, SUBSTRING(tekst,0,150) as tekst FROM nyheder ORDER BY dato DESC');

$antal_nyheder = mysql_num_rows($result);

$nr = 0;

// Skriver nyheder med resume af teksten
while($row = mysql_fetch_array($result)) {
  print "<tr>\n";
  print "<td width='100%'><font face='Verdana' size='2' color='#FFFFFF'><b>".$row["overskrift"]."</b><br></font>\n";
  print "<font face='Verdana' size='1' color='#FFFFFF'><b>Tilføjet den:</b>&nbsp;";
  printDato($row["dato"]);
  print "<br>\n";
  print "<br></font>\n";
  print "<font face='Verdana' size='2' color='#FFFFFF'>".$row["tekst"]."...<br></font>\n";
  print "<font face='Verdana' size='1' color='#FFFFFF'><a href='nyhed.php?id=".$row["dato"]."' class='Nyheder'>Klik her for at læse mere...</a><br></font>\n";
  print "</td>\n";
  print "</tr>\n";
  print "<tr>\n";
  print "<td width='100%'><hr size='1' color='#FFFFFF'></td>\n";
  print "</tr>\n";
}

?>
Avatar billede d.kryger Praktikant
21. januar 2003 - 07:57 #13
tipsen -> Der kommer ikke nogen tekst når jeg sætter din kode ind!!!
Avatar billede d.kryger Praktikant
21. januar 2003 - 10:50 #14
Tak for hjælpen...
Avatar billede tipsen Nybegynder
21. januar 2003 - 12:11 #15
Der er så vidt jeg kan se ingen problemer med sql'en, så problemet må ligge andetsteds...
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