Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tabela z bazą danych
Forum PHP.pl > Forum > PHP
.Smile
Witam, problem polega na tym że stworzyłem Tabele opartą na bazie danych, którą można modyfikować. Działa, z małym wyjątkiem. Jeden rekord po ponownym wejściu na strone jest po prostu pusty. Nie wiem czy to problem kodu php, czy ustawień bazy MySQL... wkleje oba kody. Niestety po dwóch latach wracam do php i nie jestem w stanie w 100% zastosować się do regulaminu, z dokładnymi komentarzami co gdzie robi.


PHP:

Cytat
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
<TITLE>Odczyt, kasowanie, dodawanie i modyfikowanie tabeli</TITLE>
</HEAD>
<BODY><hr color="blue" size="2"><center>
<?
mysql_connect ("localhost", "root", "") or
die ("Nie mozna polaczyc sie z MySQL");
mysql_select_db ("biblioteka") or
die ("Nie mozna polaczyc sie z baza klany");

if ($co == 'dodaj') { # dodawanie rekordu
if ($nazwisko && $imie && $adres && $telefon) {
$query = "INSERT INTO czytelnicy (idczytelnika, nazwisko, imie, adres, ";
$query .= "telefon) VALUES ('$idczytelnika', '$nazwisko', '$imie', '$adres', '$telefon') ";
$wynik = mysql_query ($query);
}
} elseif ($co == 'skasuj') { # kasowanie rekordow
$wynik = mysql_query
("DELETE FROM czytelnicy WHERE idczytelnika = '$idczytelnika';");
}

$wynik = mysql_query ("SELECT * FROM czytelnicy;") or
die ("blad w pytaniu");

print "<TABLE CELLPADDING=5 BORDER=1>";
print "<TD><B>Miejsce klanu</B></TD><TD><B>Nazwa klanu</B></TD><TD><B>Tag klanu</B></TD><TD><B>Punkty klanu</B></TD>";
print "<TD><B>Test</B></TD><TD><B>Kasowanie</B></TD></TR>\n";

while ($rekord = mysql_fetch_array ($wynik)) {
$idczytelnika = $rekord[0];
$nazwisko = $rekord[1];
$imie = $rekord[2];
$adres = $rekord[3];
$telefon = $rekord[4];

print "<TR><TD>$idczytelnika</TD><TD>$nazwisko</TD><TD>$imie</TD><TD>$adres</TD><TD>$telefon</TD>";
print "<TD><A HREF=\"zmien.php?co=skasuj&idczytelnika=$idczytelnika\">skasuj</A></TD></TR>\n";
}
print "</TABLE>";
print '<FORM METHOD="POST"><B>Nowy rekord:</B>';
print '<INPUT TYPE="hidden" NAME="co" VALUE="dodaj"><TABLE>';
print '<TR><TD>Miejsce klanu:</TD><TD><INPUT TYPE="text" ';
print 'NAME="idczytelnika"></TD></TR> ';
print '<TR><TD>Nazwa klanu:</TD><TD><INPUT TYPE="text" ';
print 'NAME="nazwisko"></TD></TR><TR><TD>TAG klanu:</TD><TD><INPUT ';
print 'TYPE="text" NAME="imie"></TD></TR> ';
print '<TR><TD>Punkty klanu:</TD><TD><INPUT TYPE="text" ';
print 'NAME="adres"></TD></TR><TR><TD>Typ:</TD>';
print '<TD><INPUT TYPE="text" NAME="telefon"></TD></TR>';
print '</TABLE><INPUT TYPE="submit" VALUE="Dodaj"></FORM>';


print '<hr color="blue" size="2"><br>';
print '<b>Modyfikuj Rekord</b>';
print '<form action="" method="GET">';
print '<input type="text" name="1" value="miejsce klanu">';
print '<select name="wybor">';
print ' <option selected>Wybierz...</option>';
print ' <option value="nazwisko">nazwa klanu</option>';
print ' <option value="imie">tag klanu</option>';
print ' <option value="adres">Punkty klanu</option>';
print ' <option value="telefon">test</option>';
print ' <option value="c">Miejsce klanu</option>';
print '</select>';
print '<input type="text" name="2" value="nowy wpis"><br> ';
print '<input type="submit" value="Zmien"></form>';



// skrypt modyfikujacy tabele
$wybor = $_GET['wybor'];
$gdzie = $_GET['1'];
$co = $_GET['2'];
switch ($wybor){
case nazwisko: $a="UPDATE czytelnicy SET nazwisko='$co' WHERE idczytelnika='$gdzie'";
$wynik=mysql_query($a);
break;

case imie: $a="UPDATE czytelnicy SET imie='$co' WHERE idczytelnika='$gdzie'";
$wynik=mysql_query($a);
break;

case adres: $a="UPDATE czytelnicy SET adres='$co' WHERE idczytelnika='$gdzie'";
$wynik=mysql_query($a);
break;

case telefon: $a="UPDATE czytelnicy SET telefon='$co' WHERE idczytelnika='$gdzie'";
$wynik=mysql_query($a);
break;

case c: $a="UPDATE czytelnicy SET c='$co' WHERE idczytelnika='$gdzie'";
$wynik=mysql_query($a);
break;
}
print '<A HREF="zmien.php">odswiez</A>'
?>
</center>
<br>ver 0,2<br> wymagane poprawki kosmetyczne i tabeli. Oraz automatyczne uzupelnianie tabeli z kalkulatorem ligowym
</BODY>
</HTML>



MySQL:

Cytat
DROP DATABASE IF EXISTS biblioteka;
CREATE DATABASE biblioteka;

USE biblioteka;

CREATE TABLE czytelnicy(
IDCzytelnika INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Nazwisko VARCHAR(30),
Imie VARCHAR(15),
Adres VARCHAR(100),
Telefon INT
) TYPE=InnoDB;

CREATE TABLE ksiazki(
IDKsiazki INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Tytul VARCHAR(150),
Autor VARCHAR(45),
Wydawnictwo VARCHAR(25),
RokWyd YEAR
) TYPE=InnoDB;

CREATE TABLE Wypozyczenia(
DataWyp Date,
DataZwrotu Date,
IDCzytelnika INT NOT NULL,
FOREIGN KEY (IDCzytelnika) REFERENCES czytelnicy(IDCzytelnika),
IDKsiazki INT NOT NULL,
FOREIGN KEY (IDKsiazki) REFERENCES ksiazki(IDKsiazki)
) TYPE=InnoDB;
Darti
zamiast używać zmiennych superglobalnych (np $co) uzywaj ich tak: $_POST['co']
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.