Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Aktualizacja danych
Forum PHP.pl > Forum > Przedszkole
-Jaryn-
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]
b4rt3kk
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.
-jaryn-
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

!*!
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.