Witam. Mam taki skrypt php :
\<?php $link=mysql\_connect("xxx","yyy","zzz"); if(!$link){ error('Mysql error!'); } mysql\_select\_db("xxx"); if(isset($\_POST['komentarz'])){ $autor=addslashes(htmlspecialchars($\_POST['nick\_komentarz']));; $tresc=addslashes(htmlspecialchars($\_POST['opis\_komentarz'])); if(!mysql\_query("INSERT INTO `komentarz` (`id_komentarz`,`nick_komentarz`,`opis_komentarz`) VALUES (NULL, '$autor', '$tresc);")){ echo 'Nieudalo sie dodac komentarza.'; }else{ echo 'Twoj komentarz zostal dodany.'; } echo ' * * *Poniżej kod w PHP tworzący tabelę komentarz do przechowywania komentarzy z przykładu:
<?php
$sql='CREATE TABLE IF NOT EXISTS `komentarz` ('
. ' `id_komentarz` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, '
. ' `nick_komentarz` VARCHAR(128) COLLATE utf8_polish_ci NULL, '
. ' `opis_komentarz` VARCHAR(1024) COLLATE utf8_polish_ci NULL, '
. ' PRIMARY KEY (`id_komentarz`)'
. ' )'
. ' ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci';
mysql_query($sql) or die(mysql_error());
?>
Przyjąłem kodowanie znaków w UTF-8.
Oczywiście tabela ta musi być tworzona w jakiejś bazie danych, którą musisz sobie utworzyć lub masz już ją daną.
Napisałem że chcem zrobić bazę danych tylko niewiem jak …
Kolega wyżej już dał ci odpowiedż,w bazie danych tworzysz tabelę po przez zapytanie
CREATE TABLE IF NOT EXISTS `komentarz` ('
. ' `id_komentarz` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, '
. ' `nick_komentarz` VARCHAR(128) COLLATE utf8_polish_ci NULL, '
. ' `opis_komentarz` VARCHAR(1024) COLLATE utf8_polish_ci NULL, '
. ' PRIMARY KEY (`id_komentarz`)'
. ' )'
. ' ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci';
,zobacz post http://forum.dobreprogramy.pl/dodawanie-komentarzy-bazie-danych-blad-t426094.htmlmoże się przyda.
PhpMyAdmin pisze że jest błąd ;/
bo to kod php. Usuń kropki.
Mam plik forumkomputer.php :
\<?php $link=mysql\_connect("xxx","yyy","zzz"); if(!$link){ error('Mysql error!'); } mysql\_select\_db("xxx"); if(isset($\_POST['komentarz'])){ $autor=addslashes(htmlspecialchars($\_POST['nick\_komentarz']));; $tresc=addslashes(htmlspecialchars($\_POST['opis\_komentarz'])); if(!mysql\_query("INSERT INTO `komentarz` (`id_komentarz`,`nick_komentarz`,`opis_komentarz`) VALUES (NULL, '$autor', '$tresc);")){ echo 'Nieudalo sie dodac komentarza.'; }else{ echo 'Twoj komentarz zostal dodany.'; } echo ' * * *W bazie danych masz różne funkcje,między innymi sql i tam wykonujesz zapytanie.Daj takie zapytanie,próbowałem-działa
CREATE TABLE IF NOT EXISTS `komentarz`(
`id_komentarz` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`nick_komentarz` VARCHAR(128) COLLATE utf8_polish_ci NULL,
`opis_komentarz` VARCHAR(1024) COLLATE utf8_polish_ci NULL,
PRIMARY KEY (`id_komentarz`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
Baza już działa tylko mam jescze 1 pytanie czy tu niemusze już nic dopisać lub zamienić ? bo żaden komentarz się nie dodaje
<?php
$link=mysql_connect(‘localhost’, ‘root’, ‘’);
if(!$link){
error(‘Mysql error!’);
}
mysql_select_db(‘test’);
if(isset($_POST[‘komentarz’])){
$autor=addslashes(htmlspecialchars($_POST[‘autor’]));;
$tresc=addslashes(htmlspecialchars($_POST[‘komentarz’]));
if(!mysql_query(“INSERT INTO komentarze
(id
,autor
,tresc
) VALUES (NULL, ‘$autor’, ‘$tresc’);”)){
echo 'Nieudalo sie dodac komentarza.';
}else{
echo 'Twoj komentarz zostal dodany.';
}
echo ’
Do czego są te komentarze???bo powinieneś pobierać id i przesyłać id danego elementu,czy czegoś tam.W bazie powinieneś w takiej sytuacji dodać jeszcze jedno pole,gdzie będziesz zapisywał to id danego komentarza.W tej linii jest błąd,jaki???
$autor=addslashes(htmlspecialchars($_POST['komentarz']));;
;;
“bo powinieneś pobierać id i przesyłać id danego elementu,czy czegoś tam” nie rozumiem
Do czego ten komentarz???
Do np. dodania komentarza pod zdjęciem
W takim razie to co pisałem wcześniej,tylko po chłopsku:wyświetlasz zdjęcie z bazy i pobierasz id tego zdjęcia(zmienna $id),pobraną zmienną zdjęcia wstawiasz do formularza i przesyłasz do bazy.
i sql
CREATE TABLE IF NOT EXISTS `komentarze` (
`id` int(11) NOT NULL auto_increment,
`czas_komentarz` varchar(20) character set utf8 collate utf8_bin default NULL,
`nick_komentarz` varchar(30) NOT NULL,
`opis_komentarz` varchar(255) NOT NULL,
`id_zdjecia` varchar(20) character set utf8 collate utf8_polish_ci default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
Wtedy będzie przypisywało komentarz danemu zdjęciu.
A jak zrobić żeby dodawało się pod tym :
Z zapytania,gdzie wyświetlasz zdjęcia,pobierasz $id danego zdjęcia i wstawiasz do formularza:
i wyślij:if(isset($_POST['komentarz'])){
$autor=addslashes(htmlspecialchars($_POST['autor']));;
$tresc=addslashes(htmlspecialchars($_POST['komentarz']));
$id_fotki=addslashes(htmlspecialchars($_POST['id_zdjecia'])); if(!mysql_query("INSERT INTO `komentarze` (`id`,`autor`,`tresc`,`id_zdjecia`) VALUES (NULL, '$autor', '$tresc, '$id_fotki');")){
echo 'Nieudalo sie dodac komentarza.';
}else{
echo 'Twoj komentarz zostal dodany.';
}
echo '';
}[/code]
i musisz mieć pole w bazie id_zdjecia.
<?php