SitePoint Sponsor

User Tag List

Results 1 to 4 of 4
  1. #1
    SitePoint Addict marylin77's Avatar
    Join Date
    Aug 2003
    Location
    Spain
    Posts
    362
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    to reload an updated form.

    I'd like to know weather to reload an updated form in the same php function is possible.
    i have a function called gestionalumnos().
    In this function I show in the screen the name, surname,nif (an spanish legal identifier), and nota (a number from 0 to 10).
    These details are contained in an editable form.
    If the the user changes any of these values , I want to show the updated form without showing any previous message such as "changes done! back!" or similar.
    In this code, I check variable $cambios in order to achieve this.
    If $cambios=1 then I must see the updated form.
    The problem :[ is that I see the old form and the "echoed" sentences of updating in the first clik on "aceptar"(aceptar=ok) button.
    I mean...I update propperly but changes are only visible in the second clik! on "aceptar" button.
    Any suggestion about how can I do to reload the updated form in the first clik! ?
    Regards from Spain.
    The code:
    PHP Code:
    function gestionalumnos(){
    global 
    $cabecera;
    $asignatura=$_REQUEST[nombrea];
    $ref=$_REQUEST[ref];
    $carrera=$_REQUEST[carrera];
    $curso=$_REQUEST[curso];
    $IDASIGNATURA=$_REQUEST[idasign];
    $cambios=$_REQUEST[cambios];
    echo 
    "$cabecera";
    echo 
    "<br>";
    echo 
    "<br>";
    echo 
    "<br>la asignatura: $asignatura";
    echo 
    "<br>la referencia: $ref";
    echo 
    "<br>la carrera: $carrera";
    echo 
    "<br>el curso: $curso";
    ECHO 
    "<br>el id de la asignatura:$IDASIGNATURA";
    echo 
    "<br>cambios :"$cambios;

    Opentable();

    $sqla=@mysql_query("SELECT alid,asid,nota,nombre,apellidos,nif,nota,fecha from nuke_alum_asig,nuke_alumnos where asid='$IDASIGNATURA' and nuke_alumnos.ID=alid  ORDER BY apellidos ASC");
    if (!
    $sqla){
    die(
    '<p>Error realizando la petición a nuke_alum_asig , nuke_alumnos y nuke_asignaturas'.mysql_error().'</p>');
    }
    echo 
    "<br><center><font color='blue'> GESTIONAR ALUMNOS DE LA ASIGNATURA $asignatura REFERENCIA $ref TITULACION $carrera CURSO $curso </font></center>";

    echo 
    "<hr>";
    ///CAMBIOS
    if ($cambios==1){

    $num=count($_POST[apellidos]);
    //echo "<br>$num";
    for ($i=0;$i<$num;$i++){
    //echo "hola?";
    $sql="update nuke_alumnos set ";
    $sql2="update nuke_alum_asig set ";
    $sql .="apellidos="."'".$_POST[apellidos][$i]."'".", nombre="."'".$_POST[nombre][$i]."'".", nif="."'".$_POST[nif][$i]."'"." WHERE ID=".$_POST[idalumno][$i];
    $sql2 .= "nota=".$_POST[nota][$i].", fecha="."'".$_POST[fecha][$i]."'"." WHERE alid=".$_POST[idalumno][$i]." AND asid=".$IDASIGNATURA.";";

    $sql .=";";
    echo 
    "<br> sentencia 1 sql: $sql";
    echo 
    "<br>sentencia 2 sql: $sql2";
    $result=@mysql_query($sql);
    $result2=@mysql_query($sql2);
    if (!
    $result){
    die(
    '<p>Error realizando la petición a  nuke_alumnos en grabaralumnos'.mysql_error().'</p>');
    }
    if (!
    $result2){
    die(
    '<p>Error realizando la petición a  nuke_alum_asig  en grabaralumnos'.mysql_error().'</p>');
    }

    }
    //dele for

    $cambios=0;
    echo 
    "cambios cuando cambia a 0".$cambios;
    }
    //cierro cambios
    /////cierro los cambios

    $tablaa="
    <center>
    <form method=\"post\" action=\"profe2.php?op=gestionalumnos&amp;idasign=
    $IDASIGNATURA&amp;cambios=1\">
    <table cellspacing=5 cellpadding=5>
    <tr>
    <th><font size=1>APELLIDOS</font></TH><TH><font size=1>NOMBRE</font></TH><TH><font size=1>NIF</font></TH>
    <th><font size=1>NOTA</font></th><th><font size=1>FECHA DEL EXAMEN(YYYY-MM-DD)</font></th><th></th>
    </tr>"
    ;
    while(
    $rowal=mysql_fetch_array($sqla)){
    $tablaa .=
    "<tr><td align=center><input type=\"text\" name=\"apellidos[]\" value=\"$rowal[apellidos]\"></td>
    <td align=center><input type=\"text\" name=\"nombre[]\" value=\"
    $rowal[nombre]\"></td>
    <td align=center><input type=\"text\"  name=\"nif[]\" size=\" 11\" value=\"
    $rowal[nif]\"></td>
    <td align=center><input type=\"text\" name=\"nota[]\" size=\"4\" value=\"
    $rowal[nota]\"></td>
    <td align=center><input type=\"text\" name=\"fecha[]\" value=\"
    $rowal[fecha]\" size=\"14\"></td>
    <td align=center><input type=\"hidden\" name=\"idalumno[]\" value=\"
    $rowal[alid]\"></td>

    </tr>
    "
    ;

    }
    //dele while
    $tablaa .="

    <tr><td align=center><input type=\"hidden\" name=\"nombrea\"  value=\"
    $asignatura\"></td></tr>
    <tr><td align=center><input type=\"hidden\" name=\"idasign\"  value=\"
    $IDASIGNATURA\"></td></tr>
    <tr><td align=center><input type=\"hidden\" name=\"carrera\"  value=\"
    $carrera\"></td></tr>
    <tr><td align=center><input type=\"hidden\" name=\"ref\"  value=\"
    $ref\"></td></tr>
    <tr><td align=center><input type=\"hidden\" name=\"curso\"  value=\"
    $curso\"></td></tr>
    <tr>
    <td align=center colspan=4><input type=\"submit\" value=\"aceptar\"></td>

    </tr></table></form></center>"
    ;
    if (
    mysql_num_rows($sqla)!=0){

    echo 
    "$tablaa";}
    else {
    echo 
    "<br>NO HAY LISTA DE ALUMNOS PARA ESTA ASIGNATURA<br>";}

    ////LOS CAMBIOS
    $cambios=$_REQUEST[cambios];
    echo 
    "aki cambios es 1 , no?$cambios";
    echo 
    "<br><a href=\"profe2.php?op=agregar&amp;idas=$IDASIGNATURA\">[AGREGAR]</a>&nbsp;";
    echo 
    "&nbsp;<a href=\"profe2.php?op=borrartodo&amp;idas=$IDASIGNATURA\">[BORRAR TODOS]</a>";
    Closetable();
    }
    //cierro gestionalumnos 

  2. #2
    Free your mind Toly's Avatar
    Join Date
    Sep 2001
    Location
    Panama
    Posts
    2,181
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    One solution would be using a redirection inside the if ($cambios==1) statement at the end and pointing it to the same form. This will be basically like reloading the page.

    PHP Code:
         echo "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\"><meta Http-Equiv=\"Refresh\" content=\"0;url=http://www.yoursite.com/whatever.php\"></head><body></body></html>";
         exit; 
    Community Guidelines | Community FAQ

    "He that is kind is free, though he is a slave;
    he that is evil is a slave, though he be a king." - St. Augustine

  3. #3
    SitePoint Addict marylin77's Avatar
    Join Date
    Aug 2003
    Location
    Spain
    Posts
    362
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks...i am going to try it out.

  4. #4
    SitePoint Addict marylin77's Avatar
    Join Date
    Aug 2003
    Location
    Spain
    Posts
    362
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    well...if there´s somebody interesting in my example XDD (I doubt it XD)...I have found an easy solution.
    The solution consists of retrieving data of database (select sentence) after updating.(obvious...XD)
    Here is the code before the change as I posted first.
    PHP Code:
    Opentable(); 

    $sqla=@mysql_query("SELECT alid,asid,nota,nombre,apellidos,nif,nota,fecha from nuke_alum_asig,nuke_alumnos where asid='$IDASIGNATURA' and nuke_alumnos.ID=alid  ORDER BY apellidos ASC"); 
    if (!
    $sqla){ 
    die(
    '<p>Error realizando la petición a nuke_alum_asig , nuke_alumnos y nuke_asignaturas'.mysql_error().'</p>'); 

    echo 
    "<br><center><font color='blue'> GESTIONAR ALUMNOS DE LA ASIGNATURA $asignatura REFERENCIA $ref TITULACION $carrera CURSO $curso </font></center>"

    echo 
    "<hr>"
    ///CAMBIOS 
    if ($cambios==1){ 
    now the excerpt of code
    PHP Code:
    $sqla=@mysql_query("SELECT alid,asid,nota,nombre,apellidos,nif,nota,fecha from nuke_alum_asig,nuke_alumnos where asid='$IDASIGNATURA' and nuke_alumnos.ID=alid  ORDER BY apellidos ASC");
    if (!
    $sqla){
    die(
    '<p>Error realizando la petición a nuke_alum_asig , nuke_alumnos y nuke_asignaturas'.mysql_error().'</p>');
    }
    echo 
    "<br><center><font color='blue'> GESTIONAR ALUMNOS DE LA ASIGNATURA $asignatura REFERENCIA $ref TITULACION $carrera CURSO $curso </font></center>";

    echo 
    "<hr>"
    must be located just after of closing testing changes statement(I mean just before }//cierro cambios)...so the whole and right code is here:
    PHP Code:
    function gestionalumnos(){
    global 
    $cabecera;
    $asignatura=$_REQUEST[nombrea];


    $ref=$_REQUEST[ref];

    $curso=$_REQUEST[curso];

    $IDASIGNATURA=$_REQUEST[idasign];

    $cambios=$_REQUEST[cambios];
    echo 
    "$cabecera";
    echo 
    "<br>";
    echo 
    "<br>";
    echo 
    "<br>la asignatura: $asignatura";
    echo 
    "<br>la referencia: $ref";
    echo 
    "<br>la carrera: $carrera";
    echo 
    "<br>el curso: $curso";
    ECHO 
    "<br>el id de la asignatura:$IDASIGNATURA";
    echo 
    "<br>cambios :"$cambios;

    Opentable();


    ///CAMBIOS
    if ($cambios==1){

    $num=count($_POST[apellidos]);
    //echo "<br>$num";
    for ($i=0;$i<$num;$i++){
    //echo "hola?";
    $sql="update nuke_alumnos set ";
    $sql2="update nuke_alum_asig set ";
    $sql .="apellidos="."'".$_POST[apellidos][$i]."'".", nombre="."'".$_POST[nombre][$i]."'".", nif="."'".$_POST[nif][$i]."'"." WHERE ID=".$_POST[idalumno][$i];
    $sql2 .= "nota=".$_POST[nota][$i].", fecha="."'".$_POST[fecha][$i]."'"." WHERE alid=".$_POST[idalumno][$i]." AND asid=".$IDASIGNATURA.";";

    $sql .=";";
    echo 
    "<br> sentencia 1 sql: $sql";
    echo 
    "<br>sentencia 2 sql: $sql2";
    $result=@mysql_query($sql);
    $result2=@mysql_query($sql2);
    if (!
    $result){
    die(
    '<p>Error realizando la petición a  nuke_alumnos en grabaralumnos'.mysql_error().'</p>');
    }
    if (!
    $result2){
    die(
    '<p>Error realizando la petición a  nuke_alum_asig  en grabaralumnos'.mysql_error().'</p>');
    }

    }
    //dele for

    $cambios=0;
    echo 
    "cambios cuando cambia a 0".$cambios;

    }
    //cierro cambios
    /////cierro los cambios
    $sqla=@mysql_query("SELECT alid,asid,nota,nombre,apellidos,nif,nota,fecha from nuke_alum_asig,nuke_alumnos where asid='$IDASIGNATURA' and nuke_alumnos.ID=alid  ORDER BY apellidos ASC");
    if (!
    $sqla){
    die(
    '<p>Error realizando la petición a nuke_alum_asig , nuke_alumnos y nuke_asignaturas'.mysql_error().'</p>');
    }
    echo 
    "<br><center><font color='blue'> GESTIONAR ALUMNOS DE LA ASIGNATURA $asignatura REFERENCIA $ref TITULACION $carrera CURSO $curso </font></center>";

    echo 
    "<hr>";
    $tablaa="
    <center>
    <form method=\"post\" action=\"profe2.php?op=gestionalumnos&amp;idasign=
    $IDASIGNATURA&amp;cambios=1\">
    <table cellspacing=5 cellpadding=5>
    <tr>
    <th><font size=1>APELLIDOS</font></TH><TH><font size=1>NOMBRE</font></TH><TH><font size=1>NIF</font></TH>
    <th><font size=1>NOTA</font></th><th><font size=1>FECHA DEL EXAMEN(YYYY-MM-DD)</font></th><th></th>
    </tr>"
    ;
    while(
    $rowal=mysql_fetch_array($sqla)){
    $tablaa .=
    "<tr><td align=center><input type=\"text\" name=\"apellidos[]\" value=\"$rowal[apellidos]\"></td>
    <td align=center><input type=\"text\" name=\"nombre[]\" value=\"
    $rowal[nombre]\"></td>
    <td align=center><input type=\"text\"  name=\"nif[]\" size=\" 11\" value=\"
    $rowal[nif]\"></td>
    <td align=center><input type=\"text\" name=\"nota[]\" size=\"4\" value=\"
    $rowal[nota]\"></td>
    <td align=center><input type=\"text\" name=\"fecha[]\" value=\"
    $rowal[fecha]\" size=\"14\"></td>
    <td align=center><input type=\"hidden\" name=\"idalumno[]\" value=\"
    $rowal[alid]\"></td>

    </tr>
    "
    ;

    }
    //dele while
    $tablaa .="

    <tr><td align=center><input type=\"hidden\" name=\"nombrea\"  value=\"
    $asignatura\"></td></tr>
    <tr><td align=center><input type=\"hidden\" name=\"idasign\"  value=\"
    $IDASIGNATURA\"></td></tr>
    <tr><td align=center><input type=\"hidden\" name=\"carrera\"  value=\"
    $carrera\"></td></tr>
    <tr><td align=center><input type=\"hidden\" name=\"ref\"  value=\"
    $ref\"></td></tr>
    <tr><td align=center><input type=\"hidden\" name=\"curso\"  value=\"
    $curso\"></td></tr>
    <tr>
    <td align=center colspan=4><input type=\"submit\" value=\"aceptar\"></td>

    </tr></table></form></center>"
    ;
    if (
    mysql_num_rows($sqla)!=0){

    echo 
    "$tablaa";}
    else {
    echo 
    "<br>NO HAY LISTA DE ALUMNOS PARA ESTA ASIGNATURA<br>";}

    ////LOS CAMBIOS
    $cambios=$_REQUEST[cambios];
    echo 
    "aki cambios es 1 , no?$cambios";
    echo 
    "<br><a href=\"profe2.php?op=agregar&amp;idas=$IDASIGNATURA\">[AGREGAR]</a>&nbsp;";
    echo 
    "&nbsp;<a href=\"profe2.php?op=borrartodo&amp;idas=$IDASIGNATURA\">[BORRAR TODOS]</a>";
    Closetable();
    }
    //cierro gestionalumnos 


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •