Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 6.03.2004 Ostrzeżenie: (0%)
|
w jaki sposob (chodzi o konkretny skrypt) utworzyć rekord zawierający zawartość pola tektowego wypełnionego w formularzu (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
|
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 581 Pomógł: 0 Dołączył: 21.07.2003 Skąd: Jasło Ostrzeżenie: (0%)
|
Myśle ze ci chodzi o to ze wpisujesz w polu tekstowym tresc ona jest dodawana do mysql i wyświetlana:
index.php [php:1:ac1925834e]<?php mysql_connect("localhost", "root", "cos") or die ("Błąd połączenia z bazą danych."); mysql_select_db("baza"); echo "<form action=dodaj.php method=post> <input type=hidden name=dodaj> <input type=text name=cos> <input type=submit value=dodaj> </form> "; ?>[/php:1:ac1925834e] dodaj.php [php:1:ac1925834e]<?php mysql_connect ("localhost", "root", "cos") or die ("Nie można połączyć się z MySQL"); mysql_select_db ("baza") or die ("Nie można połączyć się z baz±"); if($pyt == 'dodaj') { $pyt = "INSERT INTO news (cos) VALUES ('$cos');"; $wynik = mysql_query($pyt); } else { echo "Zapytanie zostało wykonane poprawnie wróć do panelu administracyjnego"; } ?>[/php:1:ac1925834e] Pisane szybko więc może coś nie działac, pisz jakby nie działało. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 6.03.2004 Ostrzeżenie: (0%)
|
zrobilem tak jak mowiles, ale w bazie i tak nie dodaje sie wpis, pomimo tego ze wychodzi komunikat ze dane zostaly wprowadzone do bazy...
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 0 Dołączył: 28.09.2003 Skąd: Kraków Ostrzeżenie: (0%)
|
wystarczy utworzyć pole tekstowe w tabeli w mysql i do niego zapisać zmienną. cały problem moze polegać na tym, ze ci nie przekazuje wartości zmiennej i muszisz skorzystac $HTTP_POST_VARS[nazwapolatextarea]
a ten kod jest błedny. Cytat if($pyt == 'dodaj') {
$pyt = "INSERT INTO news (cos) VALUES ('$cos');"; $wynik = mysql_query($pyt); } else { echo "Zapytanie zostało wykonane poprawnie wróć do panelu administracyjnego"; } przecież to nie ma sensu. sprowadza sie do tego ze jesli zmienn ma wartośc dodaj to zapisuje do bazy a jesli nie to pisze ze zapytanie zostało porawnie wykonane. no chyba ze ja coś przeoczyłem w kodzie. według mnie cała sprawa rozbija sie o registerglobals i polecam skorzystanie z wyszukiwarki!!! |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 6.03.2004 Ostrzeżenie: (0%)
|
robie tak i nic mi to niedaje, prosilbym o podanie pelnego kodu jak ma to wygladac...
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 0 Dołączył: 28.09.2003 Skąd: Kraków Ostrzeżenie: (0%)
|
formularz dodawania w czystym html
Kod <form action=dodaj.php method=post>
<input type=text name=nazwa_pola> <input type=submit value=dodaj> </form> dodaj.php [php:1:2a5a19d35c]<?php mysql_connect ("localhost", "konto", "hasło") or die ("Nie można połączyć się z MySQL"); mysql_select_db ("nazwa_bazy_danych") or die ("Nie można połączyć się z bazą;"); if(isset($HTTP_POST_VARS['nazwa_pola'])) { $pyt = "INSERT INTO tabela ('nazwa_pola _w_tabeli_w_mysql) VALUES ('$HTTP_POST_VARS['nazwa_pola']');"; $wynik = mysql_query($pyt); } else { echo "nie podano tekstu"; } ?>[/php:1:2a5a19d35c] wydaje mi sie ze ten kod jest dobry, ale niestety nie moge go sprawdzić bo mi serwer pdał ostatnio i nie postawił go od nowa (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 31.01.2007 Ostrzeżenie: (0%)
|
A w jaki sposób dodawać treść z pola tekstowego do bazy, tak aby każda linijka to był osobny rekord?
|
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%)
|
Myśle ze ci chodzi o to ze wpisujesz w polu tekstowym tresc ona jest dodawana do mysql i wyświetlana: index.php [php:1:ac1925834e]<?php mysql_connect("localhost", "root", "cos") or die ("Błąd połączenia z bazą danych."); mysql_select_db("baza"); echo "<form action=dodaj.php method=post> <input type=hidden name=dodaj> <input type=text name=cos> <input type=submit value=dodaj> </form> "; ?>[/php:1:ac1925834e] dodaj.php [php:1:ac1925834e]<?php mysql_connect ("localhost", "root", "cos") or die ("Nie można połączyć się z MySQL"); mysql_select_db ("baza") or die ("Nie można połączyć się z baz?"); if($pyt == 'dodaj') { $pyt = "INSERT INTO news (cos) VALUES ('$cos');"; $wynik = mysql_query($pyt); } else { echo "Zapytanie zostało wykonane poprawnie wróć do panelu administracyjnego"; } ?>[/php:1:ac1925834e] Pisane szybko więc może coś nie działac, pisz jakby nie działało. Co to ma byc ? - jeśli nie doda rekordu, to wyświetli komunikat o poprawnym dodaniu ?
A w jaki sposób dodawać treść z pola tekstowego do bazy, tak aby każda linijka to był osobny rekord? Musisz zastosować <textarea>, a potem zamienić str_replace('\n', 'zapytaj("zapytanie;")'); i utworzyć zapytania w pętli Ten post edytował toaspzoo 1.07.2011, 13:11:17 |
|
|
|
Post
#9
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Cytat Co to ma byc ? - jeśli nie doda rekordu, to wyświetli komunikat o poprawnym dodaniu ? Spójrz na datę, później się bulwersuj...Cytat , a potem zamienić str_replace('\n', 'zapytaj("zapytanie;")'); OOoo, a to ciekawe. Poproszę o przykład, jestem bardzo ciekaw jak tego dokonasz (IMG:style_emoticons/default/smile.gif) I jeszcze ta funkcja zapytaj(), która za każdym razem łączy się z bazą - i taką funkjcę ty chcesz wykonywać w pętli. |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%)
|
uwierz mi, że można stosować tą funkcję w pętli.
Jutro się pobawię w przykłady. My godness ! Nie przeczytałem dat ! |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%)
|
Człowieku, masz 50 linijek. Utworzysz 50 jednoczesnych takich samych połączeń. Pomyślałeś?
Cytat Musisz zastosować <textarea>, a potem zamienić str_replace('\n', 'zapytaj("zapytanie;")'); (IMG:style_emoticons/default/ohmy.gif) , jestem ciekawy, jak ty to zrobisz. Nie chodziło ci przypadkiem o explode? |
|
|
|
Post
#12
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Cytat uwierz mi, że można stosować tą funkcję w pętli. A czy ja napisałem że nie można? Z Gdyni do Gdańska też można jechać przez Kraków, ale czy to jest optymalne? Tak samo Twoja funkcja jest totalnie nie optymalna a Ty ją chcesz wykonywać jeszcze w pętli - nieoptymalność do kwadratu. Łączenie z bazą należy wykonywać raz a nie milion razy. Cytat jestem ciekawy, jak ty to zrobisz. Nie chodziło ci przypadkiem o explode? mati, nie podpowiadaj, ja też chętnie bym zobaczył wersję ze str_replace (IMG:style_emoticons/default/smile.gif)
Powód edycji: [nospor]:
|
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%)
|
Człowieku, masz 50 linijek. Utworzysz 50 jednoczesnych takich samych połączeń. Pomyślałeś? (IMG:style_emoticons/default/ohmy.gif) , jestem ciekawy, jak ty to zrobisz. Nie chodziło ci przypadkiem o explode? Nie chodziło o explode, każdą nową linię traktuje jako oddzielne zapytanie, potem w zapytaniu będzie separator ";", który będzie oddzielał zapytania na podstawie nowych linii |
|
|
|
Post
#14
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
@toaspzoo
1) w php każde zapytanie wykonuje się oddzielnie przy pomocy mysql_query() 2) Nawet jakby punkt 1 nie był prawdziwy i można by było wykonać wiele zapytań jednym poleceniem, to nadal ty nie zrobisz tego przy pomocy str_replace Podsumowując: trzeba tu użyc explode() przez co otrzymamy tablicę której każdy element to oddzielna linia. Majac taką tablicę można dopiero zacząć budować kolejne zapytania do bazy |
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 00:26 |