Avatar billede RJFreelance Praktikant
05. januar 2005 - 11:39 Der er 16 kommentarer og
1 løsning

Første 15 tegn af udtræk

Har allerede dette:

$result = mysql_query("SELECT *,CONCAT(LEFT(headline,15),SUBSTRING_INDEX(SUBSTRING(headline,15),' ',1),IF(LENGTH(headline)>15,'...','')) As Cws_news FROM Cws_news ORDER BY id DESC LIMIT 0, 5 ") or die(mysql_error());

Men den henter stadigvæk hele 'headline'
Hvad er problemet?
Avatar billede 2-maz Nybegynder
05. januar 2005 - 22:11 #1
Når du skriver "headline", ude i dokumentet kunne du bruge:

      substr($headline, 0, 15);
Avatar billede RJFreelance Praktikant
05. januar 2005 - 23:03 #2
Ja den kender jeg skam godt, men så får jeg ikke min indikatorprikker (...) med...
Avatar billede 2-maz Nybegynder
06. januar 2005 - 11:01 #3
$output = substr($headline, 0, 15)."...";
Avatar billede RJFreelance Praktikant
06. januar 2005 - 11:05 #4
Jeg vil kun have prikkerne hvis det er mere end 15 tegn :)
Avatar billede saucer Nybegynder
06. januar 2005 - 14:11 #5
Hej

Well prøv med :
<?php
// Tæller hvor mange tegn og mellemrum der er i variablen.
$count = strlen($headline);

// Hvis antal er stører eller = med 16 skal den tilføje prikker.
if ($count >= 16) {

    $output = substr($headline, 0, 15)."...";
}
// Ellers udskriver den variablen header som den er.
else {
    echo "$headline";
}
?>
Avatar billede morteeart Nybegynder
06. januar 2005 - 14:13 #6
<?
echo $headline;
if(strlen($headline) >= 16) { echo "..."; }
?>

er vel mere optimal ?-)
Avatar billede morteeart Nybegynder
06. januar 2005 - 14:14 #7
hov, glemte substr :)
<?
echo substr($headline,0,15);
if(strlen($headline) >= 16) { echo "..."; }
?>

Fordi hvis strengen er under 16 så vil substring jo ikke på virke, derfor er en else unødvendig.
Avatar billede RJFreelance Praktikant
06. januar 2005 - 14:22 #8
Parse error: parse error in xxx on line 172
Avatar billede RJFreelance Praktikant
06. januar 2005 - 14:23 #9
line 172 er:

if(strlen($headline) >= 16) { echo "..."; }
Avatar billede saucer Nybegynder
06. januar 2005 - 15:43 #10
Try

if(strlen($headline) >= "16") { echo "..."; }
Avatar billede RJFreelance Praktikant
06. januar 2005 - 15:44 #11
Samme fejl :)
Avatar billede 2-maz Nybegynder
06. januar 2005 - 16:21 #12
Smid lige noget mere af den kode herind, kan godt ske at fejlen er lige før linje 172...
Avatar billede RJFreelance Praktikant
06. januar 2005 - 18:32 #13
<table width="100%" border="0" cellspacing="0" cellpadding="0">
                                  <? include("inc/mysql.php");  // include the file that connects to the DB!

$result = mysql_query("SELECT * FROM Cws_news ORDER BY id DESC LIMIT 0, 5 ") or die(mysql_error()); // Make a query thats gets everything out of Cws_news

while ($row = mysql_fetch_array($result)) { // Make a while that throws everything out


print "
<tr>
<td width=\"7%\" valign=\"bottom\"><b><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\"><img src=\"grafiken/pfeil1.jpg\" width=\"14\" height=\"13\"></font></b></td>
                                  <td width=\"36%\" valign=\"top\"><font color=\"#CCCCCC\" size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">$row[date]</font></td>
<td width=\"57%\" valign=\"top\">
                                    <div align=\"right\" class=\"style6\"><a href=\"show_news.php?id=$row[id]\" target=\"iframe\">
$headline = $row[headline];
echo substr($headline 0,15);
if(strlen($headline) >= "16") { echo "..."; }
</a></div>
                                  </td>
                                </tr>

";    // End of print

}        // end of while

?>

Der
Avatar billede 2-maz Nybegynder
06. januar 2005 - 18:58 #14
<table width="100%" border="0" cellspacing="0" cellpadding="0">
                                  <? include("inc/mysql.php");  // include the file that connects to the DB!

$result = mysql_query("SELECT * FROM Cws_news ORDER BY id DESC LIMIT 0, 5 ") or die(mysql_error()); // Make a query thats gets everything out of Cws_news

while ($row = mysql_fetch_array($result)) { // Make a while that throws everything out


print "
<tr>
<td width=\"7%\" valign=\"bottom\"><b><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\"><img src=\"grafiken/pfeil1.jpg\" width=\"14\" height=\"13\"></font></b></td>
                                  <td width=\"36%\" valign=\"top\"><font color=\"#CCCCCC\" size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">$row[date]</font></td>
<td width=\"57%\" valign=\"top\">
<div align=\"right\" class=\"style6\"><a href=\"show_news.php?id=$row[id]\" target=\"iframe\">".
$headline = $row[headline]; echo substr($headline 0,15); if(strlen($headline) >= "16") { echo "..."; }."
</a></div>
                                  </td>
                                </tr>

";    // End of print

}    // end of while

?>

se om det virker nu...
Avatar billede RJFreelance Praktikant
06. januar 2005 - 19:02 #15
Samme fejl..
Avatar billede RJFreelance Praktikant
11. januar 2005 - 09:38 #16
Finder du ud af noget ?
Avatar billede RJFreelance Praktikant
08. juli 2005 - 12:24 #17
lukker
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

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