scurtare link-uri help

Secţiune dedicată începatorilor.

Moderatori: Moderatori, Start Moderator

keen
Senior Member
Mesaje: 254
Membru din: Joi Ian 28, 2010 5:05 pm
Localitate: Br?ila
Contact:

scurtare link-uri help

Mesajde keen » Joi Ian 28, 2010 8:50 pm

Salutare la toata lumea.
Am si eu o problema si voi incerca sa va explic in asa fel incat sa intelegeti si voi nu doar eu...

am o iesire din sql de genul:

$sql = mysql_query("SELECT * FROM info ORDER BY id desc");

if (!$sql)
{
header("Location: index.php");
}

while($row = mysql_fetch_array($sql))
{

$id = $row['id'];
$titlu = $row['titlu'];

echo "<a href='articole.php?art=".$id.">$titlu</a><br/>

}


Dar aici am problema...la "$titlu"...daca $titlu are 100 de caractere,cum fac sa imi afiseze de exemplu numai primele 30 de caractere urmat de ... adica in loc de Acesta e un titlu de 100 caractere sa afiseze ceva de genul: Acesta este... ?

Va rog sa imi spuna si mie cineva care stie.Multumesc



Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Mesajde Birkoff » Joi Ian 28, 2010 8:58 pm

1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

Ghio
Junior Member
Mesaje: 33
Membru din: Mar Dec 08, 2009 12:51 pm

Re

Mesajde Ghio » Vin Ian 29, 2010 10:37 am

Functia de mai jos nu-ti taie cuvintele, sau te poti uita la str_split in php

Cod: Selectaţi tot

function _split($string,$n,$text=""){
         $s=explode(" ",strip_tags($string));
         $rez="";
         $count=0;
         foreach($s as $a){
            $count=$count+strlen($a)+1;
            if($count-1<=$n){
               $rez.=" ".$a;
            }
         }
         if(strlen($string)<=$n){
            $text="";
         }
         return $rez.$text;
   }


O folosesti asa

Cod: Selectaţi tot

_split("Ana are mere",3,"...");

Avatar utilizator
cvlan
Average Member
Mesaje: 94
Membru din: Dum Ian 11, 2009 9:13 pm
Localitate: Fetesti
Contact:

Mesajde cvlan » Vin Ian 29, 2010 2:26 pm

<a href='articole.php?art=".$id.">substr($titlu, 0, 20)...</a><br/>
si modifici valorile 0, 20 in functie de ce te intereseaza
20 = nu de caractere care vrei sa il afiseze

Sper sa te ajute :)

Avatar utilizator
Xposed
Average Member
Mesaje: 143
Membru din: Mie Ian 11, 2006 9:50 pm
Contact:

Mesajde Xposed » Vin Ian 29, 2010 4:20 pm

Ti-am scris urmaotrul cod. El experta primele 30 caractere dintr-un string dar daca dupa ce scoate 30 caractere si cuvantul nu a fost terminat adica daca spre exemplu luam 30 caractere din text si taie ultimul cuvant la jumatatea iti va arata cuvantul complet.

Cod: Selectaţi tot

<?php
$string = "
Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of 'de Finibus Bonorum et Malorum' (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, 'Lorem ipsum dolor sit amet..', comes from a line in section 1.10.32.
";

$str = '';

for($i = 0; $i < strlen($string); $i++){
   if($i <= 30){
      $str .= $string[$i];
   }else{
      if($string[$i] == ' ')
      break;
      else
      $str .= $string[$i];
   }
}
echo '<br />';
echo $str;
?>

keen
Senior Member
Mesaje: 254
Membru din: Joi Ian 28, 2010 5:05 pm
Localitate: Br?ila
Contact:

Mesajde keen » Sâm Ian 30, 2010 12:36 am

imi cer scuze ca raspund asa de tarziu...am rezolvat cu ajutorul tutorialului lui birkoff


$sql = mysql_query("SELECT * FROM info ORDER BY id desc");

if (!$sql)
{
header("Location: index.php");
}

while($row = mysql_fetch_array($sql))
{

$id = $row['id'];
$titlu = $row['titlu'];


$text = $titlu;

echo substr($text,0,20);

echo "<a href='articole.php?art=".$id.">$text</a><br/>

}


////////////////////////////

Probabil am comlicat lucrurile punand variabila $text = $titlu;
dar tot ce conteaza e ca functioneaza...

Multumesc mult celor ce mi-au raspuns :)

bestonwww
PHPRomania Supporter
Mesaje: 5
Membru din: Mar Feb 02, 2010 2:13 pm

Mesajde bestonwww » Mar Feb 02, 2010 2:15 pm

codul merge

Avatar utilizator
mfwsro
Average Member
Mesaje: 188
Membru din: Mie Dec 03, 2008 1:03 pm
Contact:

Re: scurtare link-uri help

Mesajde mfwsro » Vin Feb 05, 2010 9:24 pm

Cod: Selectaţi tot

$sql = mysql_query("SELECT * FROM info ORDER BY id desc");
if (!$sql)
{
header("Location: index.php");
exit();
}
while($row = mysql_fetch_array($sql))
{
$id = $row['id'];
$titlu = $row['titlu'];
$text = htmlspecialchars($titlu);
$tit = substr($text, 0, 10);
echo "<p>\n";
echo "<a href='articole.php?art=".$id.">$tit</a>\n";
echo "</p>\n";
}

Mai simplu nu se poate ;)

Avatar utilizator
alexcpp
Average Member
Mesaje: 180
Membru din: Mar Dec 30, 2008 7:11 pm

Mesajde alexcpp » Sâm Feb 06, 2010 12:08 am

SELECT SUBSTRING(info, 1, 30) as 'info' ...


Înapoi la “PHP Incepători”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 28 vizitatori