Dwayne Heronimo wrote: > Dear All, > > I am very new to programming. I want to make a preview text that would > display only a part of the text that is a text field in a database. > > //Begin Make preview string > > $minitxt = $row_show_cat['text']; > $len = strlen($minitxt); > > if ($len > 235) > { > $len = 235; > } > else > { > $len = $len; > } > > $newstring = substr($minitxt,0,$len); > > $previewtext = $newstring; > > //End Make preview string > > But if I want to display this somewhere in the page it will only display the > first record of at every text column row <?php echo $previewstext ?> > > Althought I am very new to php and programming. I thought maybe I should > rewrite it into a function. But my function won't work. > > > function previewString($showcatvar) { > > $minitxt = $showcatvar; > $len = strlen($minitxt); > > if ($len > 235) > { > $len = 235; > } > else > { > $len = $len; > } > > $newstring = substr($minitxt,0,$len); > > $previewtext = $newstring; the above variable assignment is superfluous. > > $previewtext = $whowcatvar; the above variable assignment is very wrong (unless you intend to set $previewtext to NULL right after you have just done the 'hard' work of creaating it). > you have no return statement in your function so it will never give you a value - some other languages implicitly return the value of the last expression in a function (e.g. Ruby IIRC) but php requires that you explicitly use 'return' to pass a variable back to the code that called the function. note also that the variable named inside the function have nothing to do with variables named outside the function - this is called variable scope ... you can reference a variable in the global scope (i.e. one defined in the outer most level of code by using the 'global' keyword), an example <?php function myFunc() { global $foo; $bar = "boohoo :-("; echo " ...INSIDE: ", $foo, " ", $bar; } $foo = "tada!"; $bar = "haha!"; myFunc(); echo " ...OUTSIDE: ", $foo, " ", $bar; ?> > } have a look at this: function previewString($showcatvar) { // sanity check on the input if (empty($showcatvar) || !is_string($showcatvar)) return ""; // get the string size $len = strlen($showcatvar); // long strings will be truncated to 235 chars // BTW - this will really bite you in the ass if // the string contains HTML (think about unclosed tags!) if ($len > 235) return substr($showcatvar, 0, 235); // strings less than or equal to 235 in length // are shown as is return $showcatvar; } > > > and to display it in the page: > > <?php echo previewString($row_show_cat['text']) ?> > > IT displays notthing. But I think I am doing somthing wrong. I am assigning > the wrong variables to the $row_show_cat['text']) ??? > > Please let me know > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php