bigornot Posté 2 Octobre 2004 Partager Posté 2 Octobre 2004 voilà, je suis en train de créer un code ... : <?phpinclude("conf.php");function crunch($tx,$lg) { $tmp = 0; if(strlen($tx)>$lg) $tmp = strpos($tx," ",$lg); if($tmp) $tx2 = substr($tx,0,$tmp); else $tx2 = substr($tx,0,$lg); if($tx2!=$tx) $tx2.=" ..."; return $tx2;}$i = 0;mysql_connect($sql_ch,$sql_no,$sql_pa) or die ("ugyyu");mysql_select_db($sql_db) or die ("ikgogyu");$q = mysql_query("select * from articles LIMIT 0,1") or die ("ihlhbfrliuh");while($row = mysql_fetch_array($q)){$st2 = strlen($row['tx']);$s = crunch($row['tx'],$row['lg1']);echo $s;}?> il sert à ne prendre que les premiers caractères d'une chaine ... mais le probleme, c'est que le script ne retourne rien ... mais, en le modifiant un peu : <?phpinclude("conf.php");function crunch($tx,$lg) { $tmp = 0; if(strlen($tx)>$lg) $tmp = strpos($tx," ",$lg); if($tmp) $tx2 = substr($tx,0,$tmp); else $tx2 = substr($tx,0,$lg); if($tx2!=$tx) $tx2.=" ..."; return $tx2;}$i = 0;mysql_connect($sql_ch,$sql_no,$sql_pa) or die ("ugyyu");mysql_select_db($sql_db) or die ("ikgogyu");$q = mysql_query("select * from articles LIMIT 0,1") or die ("ihlhbfrliuh");while($row = mysql_fetch_array($q)){$st2 = strlen($row['tx']);crunch($row['tx'],$row['lg1']);echo "crunch($row['tx'],$row['lg1'])";}?> j'obtiens ça : Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/free.fr/0/0/bdbourgeron/repertoire/scripratik.php on line 18 que se passe t il ? pourquoi ce message ? merci ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 2 Octobre 2004 Partager Posté 2 Octobre 2004 Salut, Remplaces ta dernière ligne par: echo "crunch(" . $row['tx'] . "," . $row['lg1'] . ")"; Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
bigornot Posté 2 Octobre 2004 Auteur Partager Posté 2 Octobre 2004 non, c'est pas ça : il m'écrit crunch(blabla,2) blabla étant le tx de la base, et 2 etant la longueur... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 2 Octobre 2004 Partager Posté 2 Octobre 2004 Retourner les premiers caractères d'une chaine ? la fonction substr sert justement à ca Utilisation : $rest = substr("abcdef", 1); // retourne "bcdef"$rest = substr("abcdef", 1, 3); // retourne "bcd"$rest = substr("abcdef", 0, 4); // retourne "abcd"$rest = substr("abcdef", 0, 8); // retourne "abcdef" Dixit le Manuel Tu peux aussi essayer à l'envers $rest = substr("abcdef", 0, -1); // retourne "abcde"$rest = substr("abcdef", 2, -1); // retourne "cde"$rest = substr("abcdef", 4, -4); // retourne ""$rest = substr("abcdef", -3, -1); // retourne "de" A. Lien vers le commentaire Partager sur d’autres sites More sharing options...
bigornot Posté 2 Octobre 2004 Auteur Partager Posté 2 Octobre 2004 oui, mais l'avantage de crunch, c'est que ça ne coupe pas les mots (si possible ...). je crois ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 3 Octobre 2004 Partager Posté 3 Octobre 2004 Si tu mets : echo "crunch(" . $row['tx'] . "," . $row['lg1'] . ")"; Tu lui demandes d'afficher : le mot 'crunch', suivi de la chaine 'tx', une virgule, et la longueur. Si tu veux afficher le résultat de la fonction, alors c'est : echo" ".crunch($row['tx'],$row['lg1']); A. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant