Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP i MySQL panel admina, jak dokonać zmiany w bazie ???
Forum PHP.pl > Forum > Przedszkole
0lukasz0
Mam mały problem zaras go wyjaśnię, jednak najpierw pokażę skrypt
[php:1:5989b72b61]
<html>
<head>
<title>Panel administracyjny</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<meta http-equiv="Content-Language" content="pl">
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<?
# Czy zaprowadzono jakieś zmiany
if (!isset($zmiana))
$zmiana = 0;

# Jeśli nie wprowadzono zmian wyświetla się formularz
if( $zmiana == 0 )
{

# Łączenie się z bazą danych (domyślne dane testowego serwa)
mysql_connect(localhost, root, krasnal) or die("mysql_error");
mysql_select_db('witryna') or die("mysql_error");
$pytanie = "SELECT * FROM users ";
$dane = mysql_query($pytanie);

# Sortowanie bazy wg. loginu (alfabetycznie)
$sortuj= mysql_query("ALTER TABLE users ORDER BY LOGIN");
?>

<center>
<form name="form" method="post" action="admin.php">
<input name="zmiana" type="hidden" value="1">
<table width="750" border="1" cellpadding="0" cellspacing="0" class="MENU1">
<tr class="NAGLOWEK">
<td width="30">ID</td>
<td width="120">LOGIN</td>
<td width="120">IMIE</td>
<td width="120">NAZWISKO</td>
<td width="120">E-MAIL</td>
<td width="120">HASŁO</td>
<td width="25">A</td>
<td width="25">G</td>
<td width="25">N</td>
<td width="25">K</td>
</tr>

<?
while ($tablica = mysql_fetch_array($dane)) {

# Zdeklarowanie zmiennych ze starymi danymi z bazy
$id = $tablica['ID'];
$imie = $tablica['IMIE'];
$nazwisko = $tablica['NAZWISKO'];
$email = $tablica['EMAIL'];
$login = $tablica['LOGIN'];
$haslo = $tablica['HASLO'];
$a = $tablica['A'];
$g = $tablica['G'];
$n = $tablica['N'];
?>

<tr>
<td><? print("$id"); ?></td>
<td><? print("$login"); ?></td>
<td><? print("$imie"); ?></td>
<td><? print("$nazwisko"); ?></td>
<td><? print("$email"); ?></td>
<td><? print("$haslo"); ?></td>
<td><input name="status_<? print("$login"); ?>" type="radio" value="1" <? if ($a == 1) { print("checked"); } ?>></td>
<td><input name="status_<? print("$login"); ?>" type="radio" value="1" <? if ($g == 1) { print("checked"); } ?>></td>
<td><input name="status_<? print("$login"); ?>" type="radio" value="1" <? if ($n == 1) { print("checked"); } ?>></td>
<td><input name="usun_<? print("$login"); ?>" type="checkbox" value="1"></td>
</tr>
<?
}
?>
</table> <br>
<input name="submit" type="submit" value="Zapisz zmiany" class="button">
<input name="Reset" type="reset" value="Resetuj" class="button">
</form>
</center>
<?
} else {
# I tu pojawia się problem
}
?>
</body>
</html>

[/php:1:5989b72b61]

Chciałbym, żeby w instrukcji else dokonać zmiany w bazie danych statusu lub usunąć wpis zgodnie ze zmianą przycisków radio i chekbox. Z góry dziękuję za pomoc.
rogrog
ech nie, wiesz co zacząłem pisać ale powiem ci tylko że musisz jeszcze raz przemyśleć strukturę bazy i formularz:


1. Zamiast pól A, G, H zrób jedno
[sql:1:68e9f0f15b]status ENUM('A', 'G', 'H')[/sql:1:68e9f0f15b]

2. zamiast
Kod
<input type="status_tu login uzytkownika">

rób
Kod
<input type="status[           tu id uzytkownika           ]">



dzieki temu masz prosta tablice

3.
Cytat
[php:1:68e9f0f15b]
$sortuj= mysql_query("ALTER TABLE users ORDER BY LOGIN");
[/php:1:68e9f0f15b]


to jest jakieś dziwne - zeby wyciagnac posegregowana baze zrob w selekcie:

[php:1:68e9f0f15b]$pytanie = "SELECT * FROM users ORDER BY login ASC[/php:1:68e9f0f15b]

4.

[sql:1:68e9f0f15b]UPDATE users SET status={tutaj 'A', 'G', lub 'H' czyli zawartosc pola selecta status[id usera] z formularza} WHERE id={tutaj id - klucz talbicy}[/sql:1:68e9f0f15b]
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.