Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Aktualizacja danych
--Jaryn--
post
Post #1





Goście







Mam następujący problem. Chcę zrobić tak, że wyświetlają mi się dane z bazy danych, które już były wcześniej wczytane z innej strony i zostały zapisane do SESSION - to działa. Pragnę, aby wypisało to rzeczy na ekranie - czyli zmienne siedzi1, siedzi2, siedzi3. Następnie, jeżeli użytkownik poczuje taką dziką ochotę to może zminić te dane i nacinąć przycisk (dane zmieniają się też w bd). Strona ma się przeładować i wyświetlić to co nowego zostało zapisane. w kodzie jest użyte w dwóch różnych miejscach wyświetlanie.
Zobrazuję problem, bo nie wiem jak go poprawnie opisać.

Jak to wygląda problem?
//tekst który się wyświetla na ekranie.
Wybrane przez Ciebie opcje z kim chcesz siedzieć to:
1. tak
2.
3.

Login nr 1: moze
Login nr 2:
Login nr 3:
Uaktulanij

Priorytet waznosci od 1 do 3.
1. tak
2.
3.

// Wpisałem przy Login nr 1: tekst "moze" Kliknąłem uaktualnij. Strona się przeładuje i wygląda to tak:

1. tak
2.
3.

Login nr 1: tomek
Login nr 2:
Login nr 3:
Uaktulanij

Priorytet waznosci od 1 do 3.
1. moze
2.
3.

//jak widać u góry się nic nie zmieniło. Na dole natomiast tak. W bazie danych teraz znajduje się "moze" Ponownie wpisuję nowy login: teraz tomek i jak to wygląda?

1. moze
2.
3.

Login nr 1:
Login nr 2:
Login nr 3:
Uaktulanij

Priorytet waznosci od 1 do 3.
1. Tomek
2.
3.

//W bazie danych znajduje się teraz Tomek.

Chcę aby wpierw wyświetlały się aktualne dane, a pod nimi znajdował się formularz.

CODE
<?php

// rozpoczęcie buforowania (jest to potrzebne by nie mieć błędów typu headers already sent)
ob_start();

// start sesji
session_start();

// nagłówek
echo '<h2>Strona główna</h2>';
$login=$_SESSION['login'];

$connection = @mysql_connect('local', 'db', 'db') or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
$db = @mysql_select_db('db', $connection) or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());


// jeśli user jest zalogowany
if($_SESSION['logged'])
{
// wyświetlamy userowi jego dane
echo 'Witaj '.$_SESSION['login'].'!<br />';
echo 'Twój ID to: '.$_SESSION['id'].'.<br />';
echo 'Wybrane przez Ciebie opcje z kim chcesz siedzieć to:<br />';

//To nie wiem czy jest potrzebne...
$odp=mysql_query("Select siedzi1 from users where login='$login';") or die(mysql_error());
$siedzi1=mysql_fetch_array($odp);
$odp=mysql_query("Select siedzi2 from users where login='$login';") or die(mysql_error());
$siedzi2=mysql_fetch_array($odp);
$odp=mysql_query("Select siedzi3 from users where login='$login';") or die(mysql_error());
$siedzi3=mysql_fetch_array($odp);
//Ale chyba nie...
[php][/php]
//Tutaj się wyświetlają stare dane.
echo '1. '.$_SESSION['siedzi1'] .'<br />';
echo '2. '.$_SESSION['siedzi2'] .'<br />';
echo '3. '.$_SESSION['siedzi3'] .'<br /> <br />';
//...

echo 'Zarejestrowałes się u nas: '.date("d.m.Y, H:i", $_SESSION['data_rejestracji']).'<br />';
echo '<form action="index.php" method="POST">
Podaj login zamówienia z ktorym chcesz siedziec przy stole: <br />
Login nr 1:
<input type="text" name="usiedzi1"><br />
Login nr 2:
<input type="text" name="usiedzi2"><br />
Login nr 3:
<input type="text" name="usiedzi3"><br />
<input type="submit" name="aktu" value="Uaktualnij"> <br /><br />
Priorytet waznosci od 1 do 3.
</form>';

if(isset($_POST['aktu']))
{

$usiedzi1 = trim($_POST['usiedzi1']);
if (empty($usiedzi1))
{
echo 'Nie wprowadzono zmian na pozycji 1.<br />';
} else
{
mysql_query("Update users set siedzi1='$usiedzi1' where login='$login';") or die(mysql_error());;
$_SESSION['siedzi1']=$usiedzi1;
}
}

//Tutaj wyświetla się poprawnie
echo '1. '.$_SESSION['siedzi1'] .'<br />';
echo '2. '.$_SESSION['siedzi2'] .'<br />';
echo '3. '.$_SESSION['siedzi3'] .'<br /> <br />';
//...

echo '<a href="logout.php">WYLOGUJ</a>';
}


else
{
echo 'Witaj!<br />'; echo '<a href="login.php">Zaloguj się</a> lub <a href="dodaj.php">zarejestruj nowe konto</a>';
}

// koniec buforowania
ob_end_flush();
?>
[sql][/sql]
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
b4rt3kk
post
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


To jest tak zagmatwane, że nie mam pojęcia o co chodzi, może dałoby się nieco jaśniej? I jak wstawiasz kod to nie jako 'code' tylko chociażby 'php', bo później trzeba przewijać, a to uciążliwa sprawa.
Go to the top of the page
+Quote Post
!*!
post
Post #3





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


http://pl.wikibooks.org/wiki/PHP/Zarządzanie_rekordami header()

Ten post edytował !*! 18.07.2012, 16:43:05
Go to the top of the page
+Quote Post
--jaryn--
post
Post #4





Goście







Dopiero zacząłem z php.
Mile widziane uwagi co do kodu.

chodzi o to że, jest tak:

1. tak
2.
3.

Login nr 1: tomek
Login nr 2:
Login nr 3:
Uaktulanij

Priorytet waznosci od 1 do 3.
1. tak
2.
3.

-------
1. tak
2.
3.

Login nr 1:
Login nr 2:
Login nr 3:
Uaktulanij

Priorytet waznosci od 1 do 3.
1. tomek
2.
3.


---------------------------
A ma być:
1. tak
2.
3.

Login nr 1: tomek
Login nr 2:
Login nr 3:
Uaktulanij

------
1. tomek
2.
3.

Login nr 1:
Login nr 2:
Login nr 3:
Uaktulanij

Go to the top of the page
+Quote Post
!*!
post
Post #5





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Nikt tego nie zrozumie. Popatrz na link wyżej, tam przejdź też do kursu. Zarejestruj się, opisz dokładnie o co Ci chodzi, umieść kod w znacznikach i wtedy może coś z tego będzie.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 15:26