Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Wybór z listy rozwijanej
kosior11
post
Post #1





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 20.03.2011

Ostrzeżenie: (10%)
X----


Witam

Sformułuje swój problem troche inaczej, mam problem z formularzem

CODE
<form action="" method="post">
tytuł: <input type="text" name="tytul">
<br/>autor <input type="text" name="autor">
<br/>kategoria: <select name="kategorie" value="">
<option>Ekstraklasa</option>
<option>Premier league</option>
<option>Primier Division</option>
<option>Serie A</option>
<option>Bundesliga</option>
<option>Ligue 1</option>
<option>Pozostałe ligi</option>
<option>Koszykówka</option>
<option>Sporty motorowe</option>
<option>Siatkówka</option>
<option>Piłka ręczna</option>
<option>Premier league</option>
<option>Tenis</option>
<option>Sporty walki</option>
<option>Sporty zimowe</option>
</select>

<br/><top>treść:<top> <textarea name="tresc" rows="20" cols="50"></textarea>
<br/><input type="submit" value="Dodaj"></form>
<?php
include("polacz.php");
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$query = mysql_query("insert into news values('','".$_POST['tytul']."',now(),'".$_POST['autor']."','".$_POST['tresc']."')");
}
?>



Chce żeby było możliwe aby osoba dodająca artykuł mogła od razu wybrać kategorię do jakiej wrzucić ten tekst.

Do tej pory działa wszystko oprócz listy rozwijanej, tzn wpisując tekst i dodając go wyswietla się on na stronie głównej a ja chciałbym żeby po zaznaczeniu jednego elementu z listy rozwijanej artykuł wyświetlił się na stronie nazwanej tak jak kategoria, czyli np. zaznaczenie kategorii ekstraklasa sprawi że artykuł zapisze się w pliku ekstraklasa.html.



Dzięki z góry. Pozdr!

Ten post edytował kosior11 27.03.2011, 21:13:38
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Dodaj value dla każdego z option.
Go to the top of the page
+Quote Post
kosior11
post
Post #3





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 20.03.2011

Ostrzeżenie: (10%)
X----


Dobra, a jak to ma wyglądać z bazą danych, jak ma wyglądać wiersz w tabeli dotyczący kategorii? Jest 15 kategorii
Go to the top of the page
+Quote Post
Fifi209
post
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Zrób sobie tabelę w mysql kategorie tam dwa pola
id, nazwa

Potem w news dodaj pole kat_id
Następnie przy dodawaniu newsa podajesz w tym polu id kategorii.

Same kategorie pobieraj z mysql, a dla każdego option ustaw value równy id z bazy.
Go to the top of the page
+Quote Post
kosior11
post
Post #5





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 20.03.2011

Ostrzeżenie: (10%)
X----


Tabele zmodyfikowałem, dzięki wielki, ale nie bardzo wiem jak zmodyfikować kod formularza żeby wszystko grało?


A tak w ogóle po dodaniu pola do tabeli news w ogole nie chce mi dodawać artykułów, zanim to pole dodałem wszystko było OK, co to może byc?

Ten post edytował kosior11 27.03.2011, 22:01:07
Go to the top of the page
+Quote Post
Fifi209
post
Post #6





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Generuj go dynamicznie po stronie php, jednym słowem musisz wyciągnąć kategorie (id, nazwa)
I w pętli wyrzucać:
  1. echo '<option value="'.$idzbazy."'>'.$nazwazbazy.'</a>';
Go to the top of the page
+Quote Post
kosior11
post
Post #7





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 20.03.2011

Ostrzeżenie: (10%)
X----


Już mniej więcej wiem o co chodzi, wielkie dzięki!

Tylko po dodaniu pola kat_id do tabeli 'news' nie mogę dodawać tekstu z pozycji formularza ;/
Go to the top of the page
+Quote Post
Fifi209
post
Post #8





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Nie rozumiem problemu, mógłbyś jaśniej?
Go to the top of the page
+Quote Post
kosior11
post
Post #9





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 20.03.2011

Ostrzeżenie: (10%)
X----


Do tej pory w tabeli "news" miałem pola (id, nazwa, autor, data, tresc) i skrypt działał poprawnie, czyli po napisaniu i dodaniu artykułu był on dostepny w pliku nowe.php. Po dodaniu do tabeli "news" pola o nazwie kat_id jakby cały mechanizm przestał działać poprawnie, po napisaniu artykułu i kliknięciu dodaj na formularzu, artykuł sie nie wyświetla w pliku nowe.php.

Sytuacja troche dziwna bo jak tylko usunąłem pole kat_id znowu skrypt działał poprawnie.

nowe.php:
CODE
<?php
include("polacz.php");
$query = mysql_query("select * from news order by id desc limit 0,5");
while($rekord = mysql_fetch_array($query))
{
$naz .= '<table id="1"><img src="html/f_3.jpg"><a href="news.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord[3].' - '.$rekord[2].'<br><center><img src="html/linia.jpg"></center></br></table>';
}
echo '<tr>'.$naz.'</tr>';
?>
Go to the top of the page
+Quote Post
Fifi209
post
Post #10





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


A jak dodajesz do bazy kolego?
Go to the top of the page
+Quote Post
kosior11
post
Post #11





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 20.03.2011

Ostrzeżenie: (10%)
X----


Jak do bazy dodaje to mi się wyświetla prawidłowo, ale mniej więcej już sobie z tym poradziłem.

Dostałeś prywatna wiadomość ode mnie, tam mniej więcej opisałem na czym mój problem polega w tej chwili?

Wszystkie pola i tabele mam przygotowane:

Tabela 'news'
id
nazwa
data
autor
tresc
kat_id

Tabela 'kategorie'
id
nazwa

Więc teraz pozostaje mi zrobić tak, żeby zaznaczenie jednej kategorii w formularzu przy dodawaniu artykułu spowodowało aby id z tabeli kategorie znalazło się w kat_id w tabeli 'news'

Mógłbyś mi pomóc do tego dojść?

formularz:

CODE
<form action="" method="post">
tytuł: <input type="text" name="tytul">
<br/>autor <input type="text" name="autor">
<br/>kategoria: <select name="kategorie">
echo '<option value="1">Ekstraklasa</option></a>
echo '<option value="2">Premier league</option></a>
echo '<option value="3">Primier Division</option></a>
echo '<option value="4">Serie A</option></a>
echo '<option value="5">Bundesliga</option></a>
echo '<option value="6">Ligue 1</option></a>
echo '<option value="7">Pozostałe ligi</option></a>
echo '<option value="8">Koszykówka</option></a>
echo '<option value="9">Sporty motorowe</option></a>
echo '<option value="10">Siatkówka</option></a>
echo '<option value="11">Piłka ręczna</option></a>
echo '<option value="12">Premier league</option></a>
echo '<option value="13">Tenis</option></a>
echo '<option value="14">Sporty walki</option></a>
echo '<option value="15">Sporty zimowe</option></a>
</select>

<br/><top>treść:<top> <textarea name="tresc" rows="20" cols="50"></textarea>
<br/><input type="submit" value="Dodaj"></form>
<?php
include("polacz.php");
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$query = mysql_query("insert into news values('','".$_POST['tytul']."',now(),'".$_POST['autor']."','".$_POST['tresc']."','".$_POST['kat_id']."')");
}
?>




a to jest plik w którym miałyby się wyświetlać artykuł z danej kategorii:

CODE
<?php
include("polacz.php");
$query = mysql_query("select * from news order by id desc limit 0,5");
while($rekord = mysql_fetch_array($query))
{
$naz .= '<table><img src="html/f_3.jpg"><a href="news.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord[3].' - '.$rekord[2].'<br><center><img src="html/linia.jpg"></center></br></table>';
}
echo '<tr>'.$naz.'</tr>';
?>



Dzięki za poświęcony czas!

Pozdr

Ten post edytował kosior11 28.03.2011, 19:17:37
Go to the top of the page
+Quote Post
piotrooo89
post
Post #12


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




proszę od dodanie bbcode, w przeciwnym wypadku zamknę temat.
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: 23.08.2025 - 03:48