Ciągle walczę z wczorajszym dodawania danych do tabeli z poziomu formularza. Postanowiłem że teraz zamiast z palca wpisywać nazwę kolekcji monety, niech będzie to pole wyboru które pobiera dane z nowoutworzonej tabeli. Można powiedzieć ze wszystko jakoś działa, w formularzu są do wyboru poszczególne rekordy z tabeli 'Kolekcja', ale formularz zapisuje w tabeli 'Monety' tylko pierwsze słowo nazwy kolekcji, pomimo tego ze w formularzu wyświetla się jego cała nazwa.
skrypyt formularza wygląda tak:<form action="gotowe.php" method="post">
<br><b><font size=2>Rok Emisji:</font></b><br />
<br><input type="text" name="Data_Emisji" size="4" maxlength="4" /><br />
<br><b><font size=2>Nazwa Monety:</font></b><br />
<br><input type="text" name="Nazwa_Monety" size="40" /><br />
<br><b><font size=2>Nazwa Kolekcji:</font></b><br />
<br><?php
or
die('Błąd - Nie mogę połączyć się z serwerem MySQL. Spróbuj później.'); or
die('Błąd - Nie mogę połączyć się z bazą danych. Spróbuj później.');
$query="SELECT Nazwa_Kolekcji FROM Kolekcja ORDER BY Nazwa_Kolekcji ASC";
echo "<select name=Nazwa_Kolekcji value=''>Kolekcja</option>"; {
echo "<option value=$nt[Nazwa_Kolekcji]>$nt[Nazwa_Kolekcji]</option>"; }
?></br>
<br><b><font size=2>Nakład:</font></b><br />
<br><input type="text" name="Naklad" size="7" maxlength="7" /><br />
<br><b><font size=2>Sztuk:</font></b><br />
<br><input type="text" name="Sztuk" size="3" maxlength="3" /><br />
<br><input type="submit" value="Dodaj Monetę" /><br />
</form>
skrypyt dodawania wygląda tak:<?php
// odbieramy dane z formularza
$Data_Emisji = trim($_POST['Data_Emisji']); $Nazwa_Monety = $_POST['Nazwa_Monety'];
$Nazwa_Kolekcji = $_POST['Nazwa_Kolekcji'];
$Naklad = trim($_POST['Naklad']); $Sztuk = trim($_POST['Sztuk']);
if (!$Data_Emisji || !$Nazwa_Monety || !$Naklad)
{
echo 'Nie podano wszystkich wymaganych danych, niezbędnych do zapisania monety w bazie.<br />' .'Wróć do poprzedniej strony i spróbuj jeszcze raz.';
}
{
}
//==========================================
{
//poprawny
}
else
{
echo 'Błędnie wprowadzono Rok Emisji.<br />' .'Wróć do poprzedniej strony i spróbuj jeszcze raz.';
}
{
//poprawny
}
else
{
echo 'Błędnie wprowadzono Nakład.<br />' .'Wróć do poprzedniej strony i spróbuj jeszcze raz.';
}
{
//poprawny
}
else
{
echo 'Błędnie wprowadzono liczbę Sztuk.<br />' .'Wróć do poprzedniej strony i spróbuj jeszcze raz.';
}
//=======================================================
or
die('Błąd - Nie mogę połączyć się z serwerem MySQL. Spróbuj później.'); or
die('Błąd - Nie mogę połączyć się z bazą danych. Spróbuj później.');
$zapytanie = @mysql_query("INSERT INTO Monety SET Data_Emisji='$Data_Emisji', Nazwa_Monety='$Nazwa_Monety', Kolekcja='$Nazwa_Kolekcji', Naklad='$Naklad', Sztuk='$Sztuk'"); if ($zapytanie)
echo 'Moneta została dodana poprawnie do bazy.' ?>
Mam nadzieję, że wyraziłem się w miarę jasno. Bardzo proszę o pomoc, co muszę zmienić zeby było ok.
Ten post edytował arek1983 22.04.2012, 11:15:09