![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Niedawno próbowałem stworzyć sobie skrypt newsów oparty na plikach tekstowych ale doszedłem do wniosku że "pomęczę się" z bazami danych. Poczytałem trochę i zrobiłem coś takiego:
dodaj.html Kod <html> <head> <title>Dodawanie danych</title> </head> <body> <h2>Dodawanie newsów</h2> <form action="polaczenie.php" method="post"> Treść:<br> <input type=text name="tresc" size=300><br> Autor:<br> <input type=text name="autor" size=15><br> Data dodania <b>rrrr-mm-dd</b>:<br> <input type=text name="data" size=30><br><br> <input type=submit value="dodaj dane"><br> </form> </body> </html> a następnie polaczenie.php Kod <html> <head> <title> Baza danych </title> </head> <body> <? $baza = "db859***"; $tabela = "newsy"; $polaczenie = mysql_connect("mysql2.yoyo.pl", "db859***", "********"); $wybierz = mysql_select_db($baza, $polaczenie); $wstaw = "INSERT INTO $tabela VALUES (tresc, autor, data)"; $rezultat = mysql_query($wstaw, $polaczenie); if ($rezultat) { echo "<h2>Do tabeli zostały dodane następujące dane:</h2><br> <b>Treść:</b> <i>$tresc</i><br> <b>Autor:</b> <i>$autor</i><br> <b>Data dodania:</b> <i>$data</i><br>"; } else { echo "<h2>Do tabeli nie dodano danych</h2>"; } ?> </body> </html> I po wpisaniu jakichś danych pokazuje mi komunikat że dodano do bazy, jednak wyświetla: Treść: Autor: Data: I nie pokazuje co takiego wstawiło, po czym w bazie także nic nie ma. Jak to zmienić? Z góry dziękuje i pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 214 Pomógł: 26 Dołączył: 7.11.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Masz złe zapytanie do bazy. Bez $ przy zmiennych, pododawaj i powinny byc ok. No i idbierz najpierw te zmienne z formularza
Ten post edytował slawny 7.06.2009, 19:35:57 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
o_O.
@slawny, zapytanie jest złe, ale nie z powodu tego iż nazwa tabeli jest pod postacią zmiennej z `$`, ale zapewne dlatego że jest tam ustawiony klucz i nie zgadzają się parametry. zastosuj może konstrukcję w postaci :
lub daj jako 1 parametr NULL'a, a jeżeli to nie pomoże dorzuć raportowanie błędów mysql'a i pokaż jakim komunikate mrzucił (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) edit: oczywiście zgadzam się co do odbioru danych z formularza, najlepiej to polecam jakikolwiek kurs php+mysql ... których na forum (linków) jest multum a że mam dzisiaj lenia to będziesz musiał sam sobie ich poszukać :] ... a zapewniam Ciebei że tam znajdziesz wszelkie nurtujące Ciebie pytanka (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował melkorm 7.06.2009, 19:43:39 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wstawiłem coś takiego :
$wstaw = "INSERT INTO $tabela SET `tresc` = '$tresc' , `autor` = '$autor', `data` = '$data' "; ale też jednak nie działa nadal. Cóż, będę musiał poszukać jakiegoś kursu, bo coś nie idzie za dobrze ... :/ nie bardzo nawet rozumiem o czym mówicie... |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 1 Dołączył: 22.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%) ![]() ![]() |
poczytaj http://pl2.php.net/manual/pl/function.date.php Wszyscy gadacie o tym problemie a on nawet nie dodał do zmiennej danych z formularza Ten post edytował Wicepsik 7.06.2009, 20:22:54 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
@Wicepsik : rzeczywiście, pokazuje że dodało dane.
Teraz chciałbym na stronie index.php wczytać te dane. Przeczytałem coś z kursu i posklejałem ale znów nie wyszło... Proszę o wyrozumiałość: Kod <html> <head> <title> Główna </title> </head> <body> <? $baza = "db85****"; $tabela = "newsy"; $polaczenie = mysql_connect("mysql2.yoyo.pl", "db85****", "********"); $wybierz = mysql_select_db($baza, $polaczenie); $pobierz = "SELECT `tresc`,`autor`,`data` FROM `news` "; $rezultat = mysql_query($pobierz, $polaczenie); if ($rezultat) { echo "<h2>Najnowszy news:</h2><br> <b>Treść:</b> <i>$tresc</i><br> <b>Autor:</b> <i>$autor</i><br> <b>Data dodania:</b> <i>$data</i><br>"; } else { echo "<h2>Brak newsów</h2>"; } ?> </body> </html> W sumie to tylko pozmieniałem dane i jest źle. A gdzie jest to tak dobrze wytłumaczone ? |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 1 Dołączył: 22.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 20.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuje wszytkim, już wiem jak to zrobić. teraz tylko pomodeluję i będzie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%) ![]() ![]() |
Gdzie znalazłeś że w mysql_query dodaje się połączenie z bazą?
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 726 Pomógł: 129 Dołączył: 10.01.2008 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
@Wicepsik:
mysql_query" title="Zobacz w manualu PHP" target="_manual drugi parametr jest opcjonalny |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wszystko działa perfekcyjnie, dziękuję wszystkim za pomoc. Mam tylko pytanie. Jak ustalić hierarchię? Tzn. Aby najnowszy news był na początku ?
|
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Poczytaj o ORDER BY w MySQL.
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jesteś genialny, dziękuję (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Przepraszam za post pod postem ale chciałbym jeszcze prosić Was forumowicze o pomoc. Mam ten skrypcik, całkiem dobrze działa. Zrobiłem tak, aby newsy pokazywały się w tabelce. Dodałem kod: Kod <html> <head> <title> Główna </title> </head> <body> <? $baza = "db859223"; $tabela = "newsy"; $polaczenie = mysql_connect("mysql2.yoyo.pl", "db859223", "2qu0m93i"); $wybierz = mysql_select_db($baza, $polaczenie); $zapytanie = "SELECT `tresc`,`autor`,`data` FROM `newsy` ORDER BY `data` DESC"; $idzapytania = mysql_query($zapytanie); echo '<table border="1">'; while ($wiersz = mysql_fetch_row($idzapytania)) { echo '<tr><td>'; echo '<center>'; echo $wiersz[0]; echo '</center>'; echo '</td></tr>'; echo '<tr><td>'; echo '<p align="left">'; echo 'Dodał : '; echo $wiersz[1]; echo '</p>'; echo '</td>'; echo '<td>'; echo '<p align="right">'; echo 'Data : '; echo $wiersz[2]; echo '</p>'; echo '</td></tr>'; } echo '<table>'; echo '<br />'; echo '<br />'; ?> </body> </html> Wszystko jest tak jak chciałem poza tym, aby jeden news miał swoją tabelkę, bylo np. 20px przerwy i kolejny żeby miał swoją. |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 1 Dołączył: 22.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Kod while ($wiersz = mysql_fetch_row($idzapytania))
{ echo '<table border="1">'; echo '<tr><td>'; echo '<center>'; echo $wiersz[0]; echo '</center>'; echo '</td></tr>'; echo '<tr><td>'; echo '<p align="left">'; echo 'Dodał : '; echo $wiersz[1]; echo '</p>'; echo '</td>'; echo '<td>'; echo '<p align="right">'; echo 'Data : '; echo $wiersz[2]; echo '</p>'; echo '</td></tr>'; echo '<table>'; echo '<br />' } Ten post edytował mszm 8.06.2009, 23:30:11 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 12:57 |