Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/02/2008, 04:20
Lindir
 
Fecha de Ingreso: enero-2008
Mensajes: 18
Antigüedad: 16 años, 3 meses
Puntos: 0
funcion para seleccionar 1 parrafo de un texto

Hola a todos!!

Al final he tenido que acudir a vosotros. Siempre he solucionado mis problemas leyendo el faq del foro y también vuestras dudas, pero ahora no encuentro la solución, aunque he andado cerca.

Lo que quiero es seleccionar el campo "noticia" de una tabla y mostrarla. Eso funciona correctamente con el siguiente codigo:

function verconsulta() {
echo "<table border=0>\n";
// mostramos los nombres de los campos
for ($i = 0; $i < $this->numcampos(); $i++){
echo "<td><b>".$this->nombrecampo($i)."</b></td>\n";
}
echo "</tr>\n";
// mostrarmos los registros
while ($row = mysql_fetch_row($this->Consulta_ID)) {
echo "<tr> \n";
for ($i = 0; $i < $this->numcampos(); $i++){
echo "<td>".$row[$i]."</td>\n";
}
echo "</tr>\n";
}
echo "</table>";
}

Después llamo a la función :

$conexion = new DB_mysql;
$conexion->conectar("news", "localhost", "usuario", "contraseña");
$conexion->consulta("select noticia from noticias where id_noticia='38' ");
$conexion->verconsulta();

Y sin problemas, visualizo toda la noticia.

En este foro encontré una función llamada parrafin para seleccionar un o algunos parrafos de un texto:

//seleccionamos el primer parrafo de la noticia
function parrafin($string) {
$article = explode("\n", $string);
$parrafo = $article[1];
return( $parrafo );
}

Como puedo crear una función en la que me haga lo mismo que verconsulta() pero añadiéndole esta función para que solo me coja en este caso 1 párrafo? lo he hecho de esta forma y no hay manera:

function verconsulta() {
echo "<table border=0>\n";
// mostramos los nombres de los campos

for ($i = 0; $i < $this->numcampos(); $i++){
echo "<td><b>".$this->nombrecampo($i)."</b></td>\n";
}
echo "</tr>\n";
// mostrarmos los registros
while ($row = mysql_fetch_row($this->Consulta_ID)) {
echo "<tr> \n";
for ($i = 0; $i < $this->numcampos(); $i++){
echo "<td>".parrafin($row[$i])."</td>\n";
}
echo "</tr>\n";
}
echo "</table>";
}

Espero vuestra ayuda... seguro que la solución es muy fácil. El problema es que hasta ahora he trabajado con programación estructurada y aunque con esa forma me sale bien, quiero ponerme las pilas con las funciones, pues me han dicho que php6 no va a permitir programación estructurada y hay que aprender POO por huevos ... .

Muchísimas gracias.