Si alguien me da una mano en que forma logica funciona esto, estare agradecido.
Saludos!!!
![de acuerdo](http://static.forosdelweb.com/fdwtheme/images/smilies/dedosarriba.png)
![de acuerdo](http://static.forosdelweb.com/fdwtheme/images/smilies/dedosarriba.png)
![de acuerdo](http://static.forosdelweb.com/fdwtheme/images/smilies/dedosarriba.png)
| ||||
Re: Ayuda para Citar en un post...!!! La forma mas sencilla sin alterar tu modelo de datos es que uses BBCodes para guardar los posts, como en este foro, cuando tu citas algo, se guarda en el server de esta manera:
Código:
Si quieres almacenar el link del mensaje citado, lo guardas como un parametro al QUOTE, como [QUOTE=Usuario;linkalmensajeoriginal] Este mensaje lo escribe el usuario y va a citar este:[QUOTE ]MensajeCitado[/QUOTE ] |
| ||||
Re: Ayuda para Citar en un post...!!! Es mejor si posteas dudas concretas, para temas generales Google tiene toda la informacion que necesitas. |
| ||||
Re: Ayuda para Citar en un post...!!! Es un lenguaje desarrollado para los foros, pero tu en tu sistema PHP lo tienes que traducir de BBCode a HTML para poder desplegarlo en el explorador, por decir si te fijas si tu pones algo entre etiquetas de B ej: [ B]texto[/B ], con PHP lo tienes que traducir a html asi: <strong>texto</strong> |
| ||||
Re: Ayuda para Citar en un post...!!! hola, yo utilizo template y dentro text area donde se escriben mensajes coloco esto: set_var("comentario","corcheteQUOTE=$fqr2->usuario]" . $_REQUEST['r'] . "corchete/QUOTEcorchete"); donde $fqr2->usuario es el usuario que escribio el mensaje y $_REQUEST['r'] es el mensaje, ahora para imprimir los resultados como se hace para que los mismos aprarescan sin el "corcheteQUOTEcorchetecorchete/QUOTEcorchete", está bién lo que hice o no?, me dan una mano? Mejor si me dan un ej. de codigo sobre esto. Gracias. PD:corcheteQUOTEcorchetecorchete/QUOTEcorchete es [ QUOTE ][ /QUOTE ]. Salu2! ![]() ![]() ![]() ![]() Última edición por webdesignsite; 09/04/2007 a las 17:29 |
| ||||
Re: Ayuda para Citar en un post...!!! Cita:
Iniciado por webdesignsite ![]() hola, yo utilizo template y dentro text area donde se escriben mensajes coloco esto: set_var("comentario","corcheteQUOTE=$fqr2->usuario]" . $_REQUEST['r'] . "corchete/QUOTEcorchete"); donde $fqr2->usuario es el usuario que escribio el mensaje y $_REQUEST['r'] es el mensaje, ahora para imprimir los resultados como se hace para que los mismos aprarescan sin el "corcheteQUOTEcorchetecorchete/QUOTEcorchete", está bién lo que hice o no?, me dan una mano? Mejor si me dan un ej. de codigo sobre esto. Gracias. PD:corcheteQUOTEcorchetecorchete/QUOTEcorchete es [ QUOTE ][ /QUOTE ]. Salu2! ![]() ![]() ![]() ![]() Tengo esta funtion para imprimir los resultados: $fila = $conexion->Execute("SELECT * FROM foro where citar='{$_SESSION['rid']}'"); $text=$fila_3->fields['citar']; function bb2html($text) { $bbcode = array("<", ">", "[ QUOTE ]", "[ /QUOTE ]"); $htmlcode = array("<", ">", "<table width='98%' border='0' align='center' cellpadding='0' cellspacing='0'><tr><td bgcolor='#99CCCC' style='border:1px; border-color:#000000; border-style:solid'><div align='left'><font color='#ffffff' face='Verdana, Arial, Helvetica, sans-serif' size='2'>", "</font></div></td></tr></table>" ); $newtext = str_replace($bbcode, $htmlcode, $text); $newtext = nl2br($newtext);//second pass return $newtext; } while (!$fila->EOF){ set_var("citado",bb2html($text)); $fila->MoveNext(); parse("bloquerespuesta"); } pparse("respuesta"); Pero los resultados se imprimen todos pero de esta manera [ QUOTE ][ /QUOTE ]. Espero su ayuda. Gracias. Saludos!!! ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
| ||||
Re: Ayuda para Citar en un post...!!! Hay alguien??? ![]()
__________________ WebDesignSite Diseño Web - Altas Buscadores Gratis - Intercambio de Banners - Foros de soporte http://webdesignsite.bolhost.com/ |
| ||||
Re: Ayuda para Citar en un post...!!! Te referís a lo que te deje en negrita? <?php include_once("conexion.php"); $fila = $conexion->Execute("SELECT * FROM foro where respuesta='{$_SESSION['rid']}'"); $text=$fila->fields['respuesta']; function bb2html($text) { $bbcode = array("<", ">", "[ QUOTE ]", "[ /QUOTE ]"); $htmlcode = array("<", ">", "<table width='98%' border='0' align='center' cellpadding='0' cellspacing='0'><tr><td bgcolor='#99CCCC' style='border:1px; border-color:#000000; border-style:solid'><div align='left'><font color='#ffffff' face='Verdana, Arial, Helvetica, sans-serif' size='2'>", "</font></div></td></tr></table>" ); $newtext = str_replace($bbcode, $htmlcode, $text); $newtext = nl2br($newtext);//second pass return $newtext; } set_file("respuesta","respuesta.html"); while (!$fila->EOF){ set_var("respuesta_citada",bb2html($text)); $fila->MoveNext(); parse("bloquerespuesta"); } pparse("respuesta"); ?> Pero los resultados se imprimen todos pero de esta manera [ QUOTE ]respuesta citada[ /QUOTE ] Espero sus ayudas. Gracias. Saludos!!! ![]() ![]() ![]() ![]() ![]() ![]()
__________________ WebDesignSite Diseño Web - Altas Buscadores Gratis - Intercambio de Banners - Foros de soporte http://webdesignsite.bolhost.com/ Última edición por webdesignsite; 23/04/2007 a las 15:06 |
| ||||
Re: Ayuda para Citar en un post...!!! Cita: Lo que hace es imprimir un resultado x en un lugar x del html, o sea, que por ej set_var("citado",bbcode($text)).![]()
__________________ WebDesignSite Diseño Web - Altas Buscadores Gratis - Intercambio de Banners - Foros de soporte http://webdesignsite.bolhost.com/ |
| ||||
Re: Ayuda para Citar en un post...!!! Cita: Hola, saqué el template y lo pase todo con echo como me recomendaste, y encontre que el error se produce en la function, en la variable $text=mysql_fetch_object($rs)->respuesta; , si bién funciona ok la function, pero con un detalle, ya que la variable al estar fuera del while me va a tomar siempre solo una fila, la primera o la ultima (que es lo que pasa), por ende el echo bb2html($text); del while me devuelve un solo resultado. Aquí el codigo: <?php $conn = mysql_connect("server","us","pass"); mysql_select_db("BD",$conn); //para diferenciar en la tabla foro en el campo respuesta de los mensajes "respondidos" de los "respondidos con cita" se me ocurrio hacer un campo "cita" y c/vez que la respuesta es con citar se inserta un "SI" en dicho campo, de que mejor forma se podría hacer esto??? $ssql = "SELECT * FROM foro where citar='SI' and preg_id='{$_REQUEST['ver']}' order by resp_id ASC"; $rs = mysql_query($ssql,$conn); $text=mysql_fetch_object($rs)->respuesta; while (mysql_fetch_object($rs)){ function bb2html($text){ $bbcode = array("[ QUOTE ]", "[ /QUOTE ]", //lo pongo con espacios p/ que se vea bien. '"]'); $htmlcode = array("<table width='98%' border='0' align='left' cellpadding='0' cellspacing='0'><tr><td bgcolor='#99CCCC' style='border:1px; border-color:#000000; border-style:solid'><div align='left'><font color='#ffffff' face='Verdana, Arial, Helvetica, sans-serif' size='2'>", "</font></div></td></tr></table>" ); $newtext = str_replace($bbcode, $htmlcode, $text); $newtext = nl2br($newtext);//second pass return $newtext; } echo bb2html($text); } mysql_free_result($rs); mysql_close($conn); ?> Como podría solucionar este detalle para que esto funcione correctamente en su totalidad??? Gracias. Saludos!!! ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
__________________ WebDesignSite Diseño Web - Altas Buscadores Gratis - Intercambio de Banners - Foros de soporte http://webdesignsite.bolhost.com/ Última edición por webdesignsite; 25/04/2007 a las 10:13 |
| ||||
Re: Ayuda para Citar en un post...!!! Código PHP: |
| ||||
Re: Ayuda para Citar en un post...!!! Cita:
Iniciado por GatorV ![]() Código PHP: Estoy en la misma, me imprime un solo resultado y quiero que me imprima todos los resultados posibles según como está estipuladas las condiciones en la consulta del SELECT... salu2! ![]()
__________________ WebDesignSite Diseño Web - Altas Buscadores Gratis - Intercambio de Banners - Foros de soporte http://webdesignsite.bolhost.com/ |
| ||||
Re: Ayuda para Citar en un post...!!! Código PHP: |
| ||||
Re: Ayuda para Citar en un post...!!! Cita:
Iniciado por GatorV ![]() Código PHP: Ok, ahora si... muchisimas graicias. Salu2! ![]() ![]() ![]()
__________________ WebDesignSite Diseño Web - Altas Buscadores Gratis - Intercambio de Banners - Foros de soporte http://webdesignsite.bolhost.com/ |
| ||||
Re: Ayuda para Citar en un post...!!! Otra consultilla, para que aparesca el nombre de usuario del mensaje citado por ej. como este:[ QUOTE=usuario ][ /QUOTE ] como modifico luego la function??? Gracias. Salu2! ![]() ![]() ![]()
__________________ WebDesignSite Diseño Web - Altas Buscadores Gratis - Intercambio de Banners - Foros de soporte http://webdesignsite.bolhost.com/ |
| ||||
Re: Ayuda para Citar en un post...!!! Cita: Hola, quisiera que cuando se cita un mensaje luego aparezca el nombre de usuario de dicho mensaje citado y una vez insertado en BD esto: [ QUOTE="usuario" ]respuesta citada[ /QUOTE ] como quedaría la function en la parte $bbcode y $htmlcode para que luego se impriman los resultados correctamente??? Aquí código: function bb2html($text){ $bbcode = array("[ QUOTE ]", "[ /QUOTE ]", //lo pongo con espacios p/ que se vea bien. '"]'); $htmlcode = array("<table width='98%' border='0' align='left' cellpadding='0' cellspacing='0'><tr><td bgcolor='#99CCCC' style='border:1px; border-color:#000000; border-style:solid'><div align='left'><font color='#ffffff' face='Verdana, Arial, Helvetica, sans-serif' size='2'>", "</font></div></td></tr></table>" ); $newtext = str_replace($bbcode, $htmlcode, $text); $newtext = nl2br($newtext);//second pass return $newtext; } Gracias. Saludos!!! ![]() ![]() ![]() ![]() ![]() ![]()
__________________ WebDesignSite Diseño Web - Altas Buscadores Gratis - Intercambio de Banners - Foros de soporte http://webdesignsite.bolhost.com/ |
| ||||
Re: Ayuda para Citar en un post...!!! Te digo debes de usar preg_replace: Código PHP: |
| ||||
Re: Ayuda para Citar en un post...!!! Cita: Me imprime los resultados así(este tiene 2 citas): usuario [ QUOTE=usuario ]respuesta citada1 respuesta citada2[ /QUOTE ] respuesta Salu2! ![]() ![]() ![]()
__________________ WebDesignSite Diseño Web - Altas Buscadores Gratis - Intercambio de Banners - Foros de soporte http://webdesignsite.bolhost.com/ |
| ||||
Re: Ayuda para Citar en un post...!!! Todavía no encontré el error porque me sigue imprimiendo igual, seguramente debe ser algún error de sintaxis, pero si tenés un ej para con vinar las 2 funtcion será también bienvenido. Saludos!!! ![]() ![]() ![]()
__________________ WebDesignSite Diseño Web - Altas Buscadores Gratis - Intercambio de Banners - Foros de soporte http://webdesignsite.bolhost.com/ |
| ||||
Re: Ayuda para Citar en un post...!!! Se me ocurrio convinar las dos function que tengo para que se impriman los resultados de las respuestas citadas con su respectivo nombre de usuario y respuesta pero no me funcionó, donde podrá estar el error??? Aquí codigo: function bb2html($text) { $search = array( "/\[quote\=(.*?)\]/is", "(.*?)\[\/quote\]/is" ); $replace = array( "<table algin='center'><tr><td>$1</td></tr></table>"."<table width='98%' border='0' align='center' cellpadding='0' cellspacing='0'><tr><td bgcolor='#99CCCC' style='border:1px; border-color:#000000; border-style:solid'><div align='left'><font color='#ffffff' face='Verdana, Arial, Helvetica, sans-serif' size='2'>", "</font></div></td></tr></table>" ); return preg_replace( $search, $replace, $text ); } Si me das una mano agradecido estaré... Salu2!!! ![]() ![]() ![]()
__________________ WebDesignSite Diseño Web - Altas Buscadores Gratis - Intercambio de Banners - Foros de soporte http://webdesignsite.bolhost.com/ |
| ||||
Re: Ayuda para Citar en un post...!!! Tengo esta function: function bbcode($string){ $string = nl2br(htmlspecialchars($string)); $patterns = array( '`\[quote\=(.*?)\](.*?)\[/quote\]`is' ); $replaces = array( '<strong>Quote:</strong><div><em>\1</em></div><div style="margin:0px 10px;padding:5px;background-color:#F7F7F7;border:1px dotted #CCCCCC;width:80%;"><em>\2</em></div>' ); $string = preg_replace($patterns, $replaces , $string); return $string; } Su resultado no es del todo correcto ya que si bién funciona correctamente cuando se cita una sola respuesta pero cuando se citan dos o más respuestas solo aparece citada la primera las demás no. Por ej una sola respuesta citada funciona ok: Cita: respuesta."usuario" respuesta citada1 Por ej dos o más respuestas citadas funciona así: Cita: [ quote="usuario" ]"usuario" [ quote="usuario" ]respuesta citada1 respuesta citada2[ /quote ] respuesta. Cual será el error y que tendría que modificar para que aparezcan citadas todas las respuestas y no solo una??? Agradeceré a quien me de una mano. Gracias. Saludos!!! ![]() ![]() ![]() ![]() ![]() ![]()
__________________ WebDesignSite Diseño Web - Altas Buscadores Gratis - Intercambio de Banners - Foros de soporte http://webdesignsite.bolhost.com/ Última edición por webdesignsite; 30/04/2007 a las 13:58 |
| ||||
Re: Ayuda para Citar en un post...!!! Hay alguien??? Salu2! ![]() ![]() ![]()
__________________ WebDesignSite Diseño Web - Altas Buscadores Gratis - Intercambio de Banners - Foros de soporte http://webdesignsite.bolhost.com/ |