• ¡Bienvenido a XenFácil!

    Estás viendo el sitio como Invitado. Para poder participar en este sitio

    y obtendrás privilegios adicionales, acceso a otras áreas y mucho mas.

    ¡Es gratis!


    ¿Ya eres miembro? Inicia sesión

Solucionado Crear una página que lea de la base de datos

Estado
Cerrado para nuevas respuestas

lms

Administrador
Mensajes
7.741
Puntuación de reacciones
2.163
Puntos
2.613
Sitio web
xenfacil.com
País
España
Versión de XenForo
2.1.x
PayPal
Donar dinero a este usuario
Página web
Web
Cuando puedas, y si no te importa, coloca el código como te ha quedado para que otros users puedan ver la solución.

Salud2
 

SmauG

XenForoUser
Mensajes
86
Puntuación de reacciones
9
Puntos
8
Sin problema, lo acorto un poco para que sea más preciso, ya que tengo más información en el mío.Marco en negrita los campos a modificar.

Partimos de que tenemos el datawriter y el template normal que queremos modificar ya creados, a la información que le pasamos (y que será la que se modifique) le llamaré $loops.

Esto sería el template:
Insertar CODE, HTML o PHP:
<form action="{xen:link [B]tuTemplateUpdate[/B]}" method="post" class="Form">
<xen:foreach loop="[B]$loops[/B]" value="[B]$loop[/B]" i="$i">
<tr>
<td> <label for="ctrl_custom_title">{[B]$loops.name[/B]}:</label> </td>
<td> <select name="[B]field[/B][]" class="textCtrl OptOut" id="ctrl_style_id" autofocus="on">
<option value="1">1</option>
<option value="2">2</option>
</optgroup>
</select>
</xen:foreach>
<input type="submit" value="{xen:phrase save}" class="button primary" accesskey="s" />
<input type="hidden" name="_xfToken" value="{$visitor.csrf_token_page}" />
</form>

Y el controlador:
Insertar CODE, HTML o PHP:
    public function [B]actionTuTemplateUpdate[/B]()
    {
        $_userId = $this->_input->filterSingle('user_id', XenForo_Input::UINT);
 
        if ($_userId){
            $userId = $this->_input->filterSingle('user_id', XenForo_Input::UINT);
        }else{
            $userId =  XenForo_Visitor::getUserId();
        }   
 
        $[B]field[/B]= $this->_input->filterSingle('training_group', XenForo_Input::ARRAY_SIMPLE);
 
        for ($i=0 ; $i <[B] X [/B]; $i++){
            $dw = XenForo_DataWriter::create('XenForo_DataWriter_[B]TuDatawriter[/B]');
            $dw->bulkSet(array(
            '[B]field[/B]' => $[B]field[/B][$i],
            ));
            $dw->save();

A partir de aquí, se puede complicar todo lo que quieras añadiéndole más campos, definiendo qué filas hay que actualizar, etc.
 

lms

Administrador
Mensajes
7.741
Puntuación de reacciones
2.163
Puntos
2.613
Sitio web
xenfacil.com
País
España
Versión de XenForo
2.1.x
PayPal
Donar dinero a este usuario
Página web
Web
Gracias por compartirlo.

Salud2
 
Estado
Cerrado para nuevas respuestas
Arriba