ďťż

[php\MySQL] Skasować odświeżenie ...dziwne opóźnienie w wyświetlaniu...

       

Podstrony


telcocafe

Witam ponownie. Dzięki Beldzio za podpowiedź. Skrypt zaczyna chulać. Niestety jest dziwna przeszkoda i jak narazie nie moge są z nią poradzić. Otóż gdy użytkownik wpisuje swoją wartość do formularza i wysyła ją to dzięki zmiennej $PHP_SELF skrypt ładuje się od nowa, ale żeby wyświetlił starą wartość + nową trzeba dodatkowo odświeżyć strone. Jak zlikwidować to. Chodzi mi o to co trzeba zrobić żeby od razu wyświetlał nowa wartość a nie dopiero po odświeżeniu.

Jeżeli ktoś nie kuma o co chodzi proponuje odnieść się do mojego poprzedniego posta z dnia 14.08 pod tytułem [MySQL] Problem z bazą



:) powinno być formularz -> zatwierdzenie -> pokazanie :), a masz zapewne formularz -> zatwierdzenie, pokazanie - pokazanie starej zawartości ;) jakiś kod by się przydał, żeby obadać co trza zmienić.

<?php     include "plik.inc";     $id_connect = db_connect($default_dbname);     $query = "SELECT budynki, domy, warsztaty FROM budynki WHERE userid = 'Fixus'";     $result = mysql_query($query);     $query_data = mysql_fetch_array($result);     $budynki = $query_data["budynki"];     $domy = $query_data["domy"];     $warsztaty = $query_data["warsztaty"];     $nowe_domy = $_POST['nowe_domy'];     $dodaj = $_POST['dodaj']; ?> ?> <HTML> <HEAD> </HEAD> <BODY> <TABLE BORDER="1" CELPPADING="1"> <FORM METHOD="post" ACTION="<?php $PHP_SELF; ?>"> <TR>      <TH>Masz <?php echo $domy; ?> domów</TH>      <TD>          <INPUT TYPE="text" NAME="nowe_domy">      </TD> </TR> <TR>    <TD>        <INPUT TYPE="submit" NAME="dodaj">    </TD> </TR> </FORM> </TABLE> </BODY> </HTML> <?php if($nowe_domy > 0)                   {                    $domyy = $domy + $nowe_domy;                    $update = "UPDATE budynki SET domy = '$domyy' WHERE domy = '$domy'";                    $rezultat = mysql_query($update);                    $nowe_domy = 0;                   } else if($dodaj == 0)     {      $domyy = $domy;      $update = "UPDATE budynki SET domy = '$domyy' WHERE domy = '$domy'";      $rezultat = mysql_query($update);      $nowe_domy = 0;     } ?>
Bełdzio obczaj. Bo próbowałem na różne sposoby, ale pewnie twoje fachowe oko wychwyci to czego moje nie wychwyci :P

nom tak jak myślałem najpierw pobierasz dane, a później uaktualniasz więc nie widzisz zmian



Spróbuj tak:
<?php    include "plik.inc";    $id_connect = db_connect($default_dbname);    $nowe_domy = $_POST['nowe_domy'];    $dodaj = $_POST['dodaj']; if($nowe_domy > 0)                  {                   $domyy = $domy + $nowe_domy;                   $update = "UPDATE budynki SET domy = '$domyy' WHERE domy = '$domy'";                   $rezultat = mysql_query($update);                   $nowe_domy = 0;                  } else if($dodaj == 0)    {     $domyy = $domy;     $update = "UPDATE budynki SET domy = '$domyy' WHERE domy = '$domy'";     $rezultat = mysql_query($update);     $nowe_domy = 0;    }    $query = "SELECT budynki, domy, warsztaty FROM budynki WHERE userid = 'Fixus'";    $result = mysql_query($query);    $query_data = mysql_fetch_array($result);    $budynki = $query_data["budynki"];    $domy = $query_data["domy"];    $warsztaty = $query_data["warsztaty"];   ?> <HTML> <HEAD> </HEAD> <BODY> <TABLE BORDER="1" CELPPADING="1"> <FORM METHOD="post" ACTION="<?php $PHP_SELF; ?>"> <TR>     <TH>Masz <?php echo $domy; ?> domów</TH>     <TD>         <INPUT TYPE="text" NAME="nowe_domy">     </TD> </TR> <TR>   <TD>       <INPUT TYPE="submit" NAME="dodaj">   </TD> </TR> </FORM> </TABLE> </BODY> </HTML>

To możesz mi powiedzieć którą część kodu gdzie przenieść ? Bo jakbyn nie próbował jest jeszcze gorzej :P

Musisz dodać nowy wpis do bazy zanim odczytasz dane o domach itd.

No więc Marku zrobilem tak wcześniej, ale zrobiłem tak jeszcze raz dokładnie jak pokazałeś. Doprowadziło to do tego, że dane wogołe się nie aktualizują :P

No co jest nikt nie ma pomysłu?

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.