Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Combobox + MySQL
ufoxxx
post
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 4.01.2015

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


Witam potrzebuję informacji na temat co w tym kodzie robie źle. Wyswietlam w Comboboxie nazwę adresata, ale w momencie wypełnienia wszystkich pól i wysłaniu formularza wyskakuje mi błąd: nie można było dodać danych do bazy Unknown column 'NazwaAdresata' in 'field list'.

  1. <?php
  2. include ("db_fns.php");
  3. if (isset($_POST['DataWyslania'])) {
  4. $DataWyslania = $_POST['DataWyslania'];
  5. $DataOdebrania = $_POST['DataOdebrania'];
  6. $NazwaAdresata = $_POST['NazwaAdresata'];
  7. $TrescPocztyOdebranej = $_POST['TrescPocztyOdebranej'];
  8. $NazwaStatusu = $_POST['NazwaStatusu'];
  9. if (($DataWyslania == '') || ($DataOdebrania == '') || ($TrescPocztyOdebranej == '')) {
  10. echo '<p style="color: red;">Nie wypełniłeś jednego z pól</p>';
  11. }
  12. else {
  13. $DataWyslania = mysql_real_escape_string($DataWyslania);
  14. $DataOdebrania = mysql_real_escape_string($DataOdebrania);
  15. $NazwaAdresata = mysql_real_escape_string($NazwaAdresata);
  16. $TrescPocztyOdebranej = mysql_real_escape_string($TrescPocztyOdebranej);
  17. $NazwaStatusu = mysql_real_escape_string($NazwaStatusu);
  18.  
  19. $zapytanie = 'INSERT INTO odbierzpoczte SET '
  20. .'DataWyslania="'.$DataWyslania.'", '
  21. .'DataOdebrania="'.$DataOdebrania.'", '
  22. .'NazwaAdresata="'.$NazwaAdresata.'", '
  23. .'TrescPocztyOdebranej="'.$TrescPocztyOdebranej.'", '
  24. .'NazwaStatusu="'.$NazwaStatusu.'"';
  25. $ok = mysql_query($zapytanie);
  26. if ($ok === false) die('nie można było dodać danych do bazy ' .mysql_error());
  27. mysql_close($baza);
  28. }}
  29. ?>

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Odbierz Pocztę</title>
  5. </head>
  6. <form name="OdbierzPoczte" method="POST">
  7. <legend>Odbierz Pocztę</legend>
  8. <label for="DataWyslania">Data wysłania</label><br />
  9. <input type="date" name="DataWyslania" id="DataWyslania" /><br />
  10.  
  11. <label for="DataOdebrania">Data odebrania</label><br />
  12. <input type="date" name="DataOdebrania" id="DataOdebrania"/><br />
  13.  
  14. <label for="NazwaAdresata">Adresat</label><br />
  15. <select name="NazwaAdresata" id="NazwaAdresata"/>

  1. <?php
  2. $query = 'SELECT NazwaAdresata FROM adresat GROUP BY NazwaAdresata';
  3. $results = mysql_query($query) or die(mysql_error());
  4. while($row = mysql_fetch_assoc($results))
  5. {
  6. echo '<option>';
  7. foreach($row as $value)
  8. echo $value;
  9. echo "\n";
  10. }
  11.  
  12. ?>
  1. </select><br />
  2.  
  3. <label for="TrescPocztyOdebranej">Treść poczty</label><br />
  4. <textarea name="TrescPocztyOdebranej" id="TrescPocztyOdebranej"></textarea><br />
  5.  
  6. <label for="NazwaStatusu">Status</label><br />
  7. <select name="NazwaStatusu" id="NazwaStatusu">

  1. <?php
  2. $query = 'SELECT NazwaStatusu FROM statuspoczty GROUP BY NazwaStatusu';
  3. $results = mysql_query($query) or die(mysql_error());
  4. while($row = mysql_fetch_assoc($results))
  5. {
  6. echo '<option>';
  7. foreach($row as $value)
  8. echo $value;
  9. echo "\n";
  10. }
  11. ?>
  1. </select><br />
  2.  
  3. <input type="submit" value="Dodaj" />
  4. </form>
  5. </body>
  6. </html>

Go to the top of the page
+Quote Post
Rysh
post
Post #2





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Kod
nie można było dodać danych do bazy Unknown column 'NazwaAdresata' in 'field list'.
nie masz takiej kolumny w bazie w tabeli odbierzpoczte.
Go to the top of the page
+Quote Post
ufoxxx
post
Post #3





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 4.01.2015

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


Tabela Odbierz Poczte wygląda nastepująco: IdOdebrane, DataWyslania, DataOdebrania, IdAdresat, TrescPocztyOdebranej, StatusPoczty.
Tabela Adresat: IdAdresata, NazwaAdresata, Adres, KodPocztowy, Miejscowosc.

Chciałbym aby combobox działał poprzez wyświetlenie nazwy Adresata z tabeli Adresat, w sumie wyświetlanie działa, ale chę dodac odebraną pocztę z tym adresem. Czy musze stworzyc w tabeli Odbierz pocztę NazweAdresata czy darady to zrobić jakoś z automatu?
Go to the top of the page
+Quote Post
kamil_lk
post
Post #4





Grupa: Zarejestrowani
Postów: 325
Pomógł: 33
Dołączył: 31.05.2008

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


Nie masz zamknięcia option ibyć może to rozwala (IMG:style_emoticons/default/wink.gif)
Cytat
  1. while($row = mysql_fetch_assoc($results))
  2. {
  3. echo '<option>';
  4. foreach($row as $value)
  5. echo $value;
  6. echo "\n";
  7. }
Go to the top of the page
+Quote Post
Rysh
post
Post #5





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Cytat(ufoxxx @ 4.01.2015, 11:13:29 ) *
Tabela Odbierz Poczte wygląda nastepująco: IdOdebrane, DataWyslania, DataOdebrania, IdAdresat, TrescPocztyOdebranej, StatusPoczty.

Kod
$zapytanie = 'INSERT INTO odbierzpoczte SET '
.'DataWyslania="'.$DataWyslania.'", '
.'DataOdebrania="'.$DataOdebrania.'", '
.'NazwaAdresata="'.$NazwaAdresata.'", '
.'TrescPocztyOdebranej="'.$TrescPocztyOdebranej.'", '
.'NazwaStatusu="'.$NazwaStatusu.'"';


IdOdebrane - AU, DataWyslania jest, DataOdebrania jest, IdAdresat nie ma, TrescPocztyOdebranej jest, StatusPoczty nie ma. Masz za to dodatkowo: NazwaStatusu, NazwaAdresata - więc o co chodzi?

Ten post edytował Rysh 4.01.2015, 13:09:12
Go to the top of the page
+Quote Post
ufoxxx
post
Post #6





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 4.01.2015

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


Chciałem żeby były relacje przez klucz IdAdresat i IdStatusu. Rozwiązałem problem przez usunięcie IdAdresat i IdStatusu i dodanie po nazwach, ale bez relacji. Jak można to rozwiązać z relacyjną bazą danych?
Go to the top of the page
+Quote Post
Rysh
post
Post #7





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


To wrzucaj tam ID adresata i ID statusu a nie sam status.
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 - 05:16