entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

eliminar una linea en php

bueno a ver la ultima pregunta relacionada con este codigo, lo tengo ya completo pero para que quede mas bonito quiero que solo se muestre una linea a la vez, es decir, no quiero que ponga:
wait 60
wait 59
wait 58
sino que se la ultima linea se vaya sustituyendo por el nuevo valor y que solo aparezca este ultimo,no se si esto se puede hacer ya que he oido que el php es un codigo que solo se ejecuta del lado del servidor pero por si acaso lo pregunto, el codigo en cuestion es este

<?php
$form=$_POST['form'];
if($form=1){
define('DB_SERVER','xxx');

define('DB_NAME','xxx');

define('DB_USER','xxx');

define('DB_PASS','xxx');

$con = mysql_connect(DB_SERVER,DB_USER,DB_PASS);
mysql_select_db(DB_NAME,$con);
$tiempoactual= time();

function tiempo($tiempo) {

$sql = "INSERT INTO tiempo(tiempo)"." VALUES ('$tiempo')";
    $rec = mysql_query($sql);

}

tiempo($tiempoactual);
$a1=mysql_query("SELECT*FROM tiempo WHERE numero='1'");
$a2=mysql_num_rows($a1);
$consulta=mysql_query("SELECT*FROM tiempo");
$a3=mysql_data_seek($consulta,$a2-1);
$consulta2=mysql_fetch_array($consulta);
$consulta3=$consulta2["tiempo"];
$resta=$tiempoactual-$consulta3;
$var=0;
$espera=60;
while($resta<=$espera){
        echo "wait";
        $espera2=$espera-$resta;
        echo $espera2;
        echo "<br>";
        $seconds=1;
        $retraso=sleep ( $seconds );
        $tiempoactual=time();
        $resta=$tiempoactual-$consulta3;
    if (ob_get_contents())
        {
            ob_end_flush();
        }

        flush();

if($espera2<=0){echo "tiempo completado";}  
}
}else{
    echo "error";
}
?>

1 Respuesta

2votos

dairon Puntos17140

Bueno como bien dices php es un lenguaje del lado servidor lo que si puedes hacer es una llamada tipo Ajax que invoque tu función tiempo y aplicando JavaScript y css puedes poner hasta un progress que se valla llenando mientras se ejecuta el código.

0voto

oscar rodriguez comentado

como que se queda en el aire sin ser variable? como lo soluciono?

0voto

dairon comentado

no disculpa me equivoque pero copie el código y lo monté un ejemplito sencillo y me funcionó.

<?php
    $restante = 'kuko';
    echo '<div id="conteo"></div>';
    echo '<script> document.getElementById(\'conteo\').innerHTML = "' . $restante . '";</script>';
?>

0voto

oscar rodriguez comentado

si , si el codigo funciona solo pero al añadirlo al html y ponerle que si no se cumple la condicion salga un boton y si se cumple salga el contador no funciona, y no funciona porque sale que tiene un error de sintaxis en esa linea

0voto

dairon comentado

era unas comillas este ejemplo ultimo si funciona

0voto

oscar rodriguez comentado

perdon por tardar tanto en responder pero he estado liado, el ejemplo en cuestion sigue sin funcionar, te paso el codigo completo a ver si me puedes ayudar

<?php

$form1=$_POST['form'];
if($form1=1){
define('DB_SERVER','mysql12.000webhost.com');

define('DB_NAME','a8741833_1');

define('DB_USER','a8741833_admin');

define('DB_PASS','04061997ab');

$con = mysql_connect(DB_SERVER,DB_USER,DB_PASS);
mysql_select_db(DB_NAME,$con);
$tiempoactual= time();

    function tiempo($tiempo) {

    $sql = "INSERT INTO tiempo(tiempo)"." VALUES ('$tiempo')";
        $rec = mysql_query($sql);

    }

    tiempo($tiempoactual);
    $a1=mysql_query("SELECT*FROM tiempo WHERE numero='1'");
    $a2=mysql_num_rows($a1);
    $consulta=mysql_query("SELECT*FROM tiempo");
    $a3=mysql_data_seek($consulta,$a2-1);
    $consulta2=mysql_fetch_array($consulta);
    $consulta3=$consulta2["tiempo"];
    $resta=$tiempoactual-$consulta3;
    $var=0;
    $espera=300;
    $restante = $espera-$resta;

    echo '<!DOCTYPE html>
        <html>
        <head></head>
        <body>
        <div id="conteo">' . $restante . '</div>';

    while ( $restante >= 0 )
    {
        echo '<script> document.getElementById(\'conteo\').innerHTML = "' . $restante . '";</script>';

        if( $restante == 0 )
        {
            echo '<script>
                    document.getElementById(\'conteo\').innerHTML = "completado";</script>';
        }

        if (ob_get_contents())
        {
            ob_end_flush();
        }

        flush();

        $restante -= 1;

        sleep(1);
    }

    echo '</body>
        </html>';

}
else
    echo "

<form method=\"POST\" action=\"http://www.allfreebitcoins.tk/INDEX.html\">
<input type=\"hidden\" name=\"s\" value=\"200\">
<input type=\"hidden\" name=\"form1\" value=\"1\">
<input class=\"btn btn-success\" type=\"submit\" value=\"Ready to visit\">
</form>"
?>

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta