/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Tilføj kommentar til nyhedssystem
Fra : Stig Sørensen


Dato : 22-09-03 13:55

Hejsa.

(Se evt. "Nyheds system") lidt længere nede.

Jeg vil udbygge mit nyhedssystem (lavet af Johan Holst Nielsen) så man kan
tilføje en kommentar til nyheden.
Det skulle der ikke være så mange ben i.

* En form hvor der kan skrives til en tabel
* En funktion der henter kommentarene til en knyttet nyhed

Mit problem ligger netop i at kommentarene skal være knyttet til en bestemt
nyhed.

Mine nyheder har en id, den vil jeg bruge så kommentar og nyhed bliver
kombineret sammen.
Men hvis jeg (eks) går ind på denne nyhed:
http://mobil.dontdoit.dk/index.php?site=visnyhed&id=3
Hvordan kan jeg fortælle kommentar-delen at det er id=3 den skal benytte og
ikke et andet id?

Det er faktisk det eneste der lige er mit problem, resten regner jeg med, at
jeg selv kan lave, for en gang skyld :)

På forhånd tak
--
Mvh Stig Sørensen

Gratis sms - Gratis Java spil - Gratis unlock
-- > http://Mobil.DontDoIt.dk < --



 
 
Johan Holst Nielsen (22-09-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 22-09-03 14:03

Stig Sørensen wrote:
> (Se evt. "Nyheds system") lidt længere nede.
>
> Jeg vil udbygge mit nyhedssystem (lavet af Johan Holst Nielsen) så man kan
> tilføje en kommentar til nyheden.
> Det skulle der ikke være så mange ben i.
>
> * En form hvor der kan skrives til en tabel
> * En funktion der henter kommentarene til en knyttet nyhed
>
> Mit problem ligger netop i at kommentarene skal være knyttet til en bestemt
> nyhed.
>
> Mine nyheder har en id, den vil jeg bruge så kommentar og nyhed bliver
> kombineret sammen.
> Men hvis jeg (eks) går ind på denne nyhed:
> http://mobil.dontdoit.dk/index.php?site=visnyhed&id=3
> Hvordan kan jeg fortælle kommentar-delen at det er id=3 den skal benytte og
> ikke et andet id?
>
> Det er faktisk det eneste der lige er mit problem, resten regner jeg med, at
> jeg selv kan lave, for en gang skyld :)

Okay da - så får du lov ;)

Well det du reelt gør er at du opretter en ekstra tabel:

CREATE TABLE kommentarer (
id mediumint(9) NOT NULL auto_increment,
nid int(11) NOT NULL
kommentar text,
navn varchar(150)
email varchar(255),
PRIMARY KEY (id)
) TYPE=MyISAM;

Følgende ville være mit foreslag..

id = Unikt ID for hver enkelt indlæg
nid = Id'et som knytter sig til nyheden.. f.eks. id i nyheden er 3 ...
så er nid 3...
kommentar = siger sig selv
navn = jah, siger sig selv
email = email på brugeren der skriver kommentaren...

Rimelig logisk ikke?

I forbindelse med du så laver under din nyhed så laver du en ekstra
query... f.eks. nederst..

Den vil være noget ala

SELECT kommentar, navn, email FROM kommentarer WHERE nid = $_GET['id']
ORDER BY id DESC...

Derefter skal du blot køre den igennem en while løkke med f.eks.
mysql_fetch_row() og så er det klart :)

Nu skrev jeg ikke noget kode denne gange ;) Så du får lov selv at
starte. Men skriv hvis det skaber problemer.

mvh
Johan Holst Nielsen


Stig Sørensen (22-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 22-09-03 14:24


"Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
news:3F6EF30F.9060803@weknowthewayout.com...
> > Det er faktisk det eneste der lige er mit problem, resten regner jeg
med, at
> > jeg selv kan lave, for en gang skyld :)
>
> Okay da - så får du lov ;)

Kanon, lige hvad jeg har brug for, så jeg kan merudvikle mig inden for PHP
:)

> Well det du reelt gør er at du opretter en ekstra tabel:
>
> CREATE TABLE kommentarer (
> id mediumint(9) NOT NULL auto_increment,
> nid int(11) NOT NULL
> kommentar text,
> navn varchar(150)
> email varchar(255),
> PRIMARY KEY (id)
> ) TYPE=MyISAM;
>
> Følgende ville være mit foreslag..
>
> id = Unikt ID for hver enkelt indlæg
> nid = Id'et som knytter sig til nyheden.. f.eks. id i nyheden er 3 ...
> så er nid 3...
> kommentar = siger sig selv
> navn = jah, siger sig selv
> email = email på brugeren der skriver kommentaren...
>
> Rimelig logisk ikke?

Jeg er med så længe :)

> I forbindelse med du så laver under din nyhed så laver du en ekstra
> query... f.eks. nederst..
>
> Den vil være noget ala
>
> SELECT kommentar, navn, email FROM kommentarer WHERE nid = $_GET['id']
> ORDER BY id DESC...
>
> Derefter skal du blot køre den igennem en while løkke med f.eks.
> mysql_fetch_row() og så er det klart :)
>
> Nu skrev jeg ikke noget kode denne gange ;) Så du får lov selv at
> starte. Men skriv hvis det skaber problemer.

Yep. Jeg går i krig. Det tager nok et stykke tid for mig, men vil så gerne
prøve selv.
Tusind tusind tak Johan.

--
Mvh Stig Sørensen

Gratis sms - Gratis Java spil - Gratis unlock
-- > http://Mobil.DontDoIt.dk < --



Stig Sørensen (22-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 22-09-03 15:45


"Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
news:3F6EF30F.9060803@weknowthewayout.com...
(snip - det hele)

Hej igen Johan.

Jeg kunne godt bruge en kvispids hjælp.

Jeg har oprettet tabellen som du sagde, dog under navnet:
mobil_nyheder_kommentar

Her er følgende kode som jeg har kunne lave, for at kunne vise en kommentar.
Om det er langt fra eller tæt på ved jeg faktisk ikke

<?php
if(!empty($_GET('id'))) {
$conn = mysql_connect("localhost", "****", "*****");
mysql_select_db("dontdoit_dk",$conn);

$query = "SELECT navn, email, kommentar FROM mobil_nyhed_kommentar WHERE
nid = '" .$_GET['id']. "' ORDER BY 'id' DESC";
while ($raekke = mysql_fetch_array($resultat)) {
echo " .$raekke['navn']. ";
echo " .$raekke['email']. ";
echo " .$raekke['kommentar'].
";
}
}
//close db conn
?>

Jeg får en fejl; Parse error: parse error, unexpected '(', expecting ')' in
/customers/dontdoit.dk/dontdoit.dk/httpd.www/test/shownews.php on line 21

Linje 21 er if(!empty($_GET('id'))) {

Jeg er ikke helt med hvad den mener?

På forhånd mange gange tak
--
Mvh Stig Sørensen

Gratis sms - Gratis Java spil - Gratis unlock
-- > http://Mobil.DontDoIt.dk < --



Tonni Aagesen (22-09-2003)
Kommentar
Fra : Tonni Aagesen


Dato : 22-09-03 17:59

Stig Sørensen wrote:

> Linje 21 er if(!empty($_GET('id'))) {
>
> Jeg er ikke helt med hvad den mener?

Den mener, at du skal angive dit GET array med []

if (!empty($_GET['id'])) {

Mvh
Tonni


Stig Sørensen (22-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 22-09-03 16:14


"Tonni Aagesen" <use.my@signature.please> wrote in message
news:bkn2mt$aj6$1@sunsite.dk...

> Den mener, at du skal angive dit GET array med []
>
> if (!empty($_GET['id'])) {

Jeps. Tak for det.

Nu klager den over linje 27 som er:

echo " .$raekke['navn']. ";

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting
T_STRING or T_VARIABLE or T_NUM_STRING in
/customers/dontdoit.dk/dontdoit.dk/httpd.www/test/shownews.php on line 27

Noget siger mig at det er helt forkert det som jeg har lavet?


--
Mvh Stig Sørensen

Gratis sms - Gratis Java spil - Gratis unlock
-- > http://Mobil.DontDoIt.dk < --



Stig Sørensen (22-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 22-09-03 16:40

(snip)

Sådan! Så fik jeg det til at virke. Nu kan jeg hente kommentar frem. Så skal
jeg have lavet en form der skriver kommentar.

<?php
if (!empty($_GET['id'])) {
$conn = mysql_connect("localhost", "dontdoit_dk", "********");
mysql_select_db("dontdoit_dk",$conn);

$resultat = mysql_query("SELECT navn, email, kommentar FROM
mobil_nyhed_kommentar WHERE nid = '" .$_GET['id']. "' ORDER BY 'id' DESC");
while ($raekke = mysql_fetch_array($resultat)) {
echo "".$raekke['navn']."
".$raekke['email']."
".$raekke['kommentar']."
";
}
}
//close db conn
?>

Tusind tak
--
Mvh Stig Sørensen

Gratis sms - Gratis Java spil - Gratis unlock
-- > http://Mobil.DontDoIt.dk < --



Stig Sørensen (22-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 22-09-03 17:02


"Stig Sørensen" <nomail@nomail.invalid> wrote in message
news:QIEbb.1024$Je1.64@news.get2net.dk...

Prøver lige at udbygge lidt:

<?php
if (!empty($_GET['id'])) {
$conn = mysql_connect("localhost", "dontdoit_dk", "******");
mysql_select_db("dontdoit_dk",$conn);

$resultat = mysql_query("SELECT navn, email, kommentar FROM
mobil_nyhed_kommentar WHERE nid = '" .$_GET['id']. "' ORDER BY 'id' DESC");
while ($raekke = mysql_fetch_array($resultat)) {
if (!empty('id')) {

echo "Der er ingen kommentar";
}
else {

echo "<div class='kommentar_navn'>".$raekke['navn']." -
".$raekke['email']."</div>
<div class='kommentar'>".$raekke['kommentar']."</div>
";
}
}
}
//close db conn
?>
</div>

Kan I se hvad jeg vil?
Hvis der ingen kommentar er skrevet skal den eks. vis skrive: Der er ingen
kommentar.
Hvis der er kommentar skal den bare skrive de kommentar der nu er.

Er jeg tæt på?


--
Mvh Stig Sørensen

Gratis sms - Gratis Java spil - Gratis unlock
-- > http://Mobil.DontDoIt.dk < --



Johan Holst Nielsen (22-09-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 22-09-03 18:16

Stig Sørensen wrote:

> "Stig Sørensen" <nomail@nomail.invalid> wrote in message
> news:QIEbb.1024$Je1.64@news.get2net.dk...
>
> Prøver lige at udbygge lidt:

<SNIP> kode

> Kan I se hvad jeg vil?
> Hvis der ingen kommentar er skrevet skal den eks. vis skrive: Der er ingen
> kommentar.
> Hvis der er kommentar skal den bare skrive de kommentar der nu er.
>
> Er jeg tæt på?

Jah, men tag et kig på mysql_num_rows i stedet..

Altså...

1. mysql_query() => returnerer en resource til resultet :)
2. mysql_num_rows() => Tjek om der er resultater

3a. mysql_num_rows() returnerer 0 => udskriv "Ingen kommnentarer"

3b. mysql_num_rows() returnerer > 0 => køre while loop med
mysql_fetch_array()

Sådan ;)

mvh
Johan


Stig Sørensen (22-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 22-09-03 18:31


"Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
news:bknaoq$gmk$1@sunsite.dk...
> Jah, men tag et kig på mysql_num_rows i stedet..
>
> Altså...
>
> 1. mysql_query() => returnerer en resource til resultet :)
> 2. mysql_num_rows() => Tjek om der er resultater
>
> 3a. mysql_num_rows() returnerer 0 => udskriv "Ingen kommnentarer"
>
> 3b. mysql_num_rows() returnerer > 0 => køre while loop med
> mysql_fetch_array()
>
> Sådan ;)

Åh, jeg har ikke flere negle på mine fingre :(
Jeg forstår ikke en dyt af ovenstående.

Hvor skal jeg sætte det ind i koden som jeg har?

--
Mvh Stig Sørensen

Gratis sms - Gratis Java spil - Gratis unlock
-- > http://Mobil.DontDoIt.dk < --



Johan Holst Nielsen (22-09-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 22-09-03 18:40

Stig Sørensen wrote:
> "Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
> news:bknaoq$gmk$1@sunsite.dk...
>
>>Jah, men tag et kig på mysql_num_rows i stedet..
>
> Åh, jeg har ikke flere negle på mine fingre :(
> Jeg forstår ikke en dyt af ovenstående.

Negle vokser ud igen :) Så bare tag det rolig ;)

> Hvor skal jeg sætte det ind i koden som jeg har?


<?php
if(!empty($_GET['id'])) {
$conn = mysql_connect("localhost", "dontdoit_dk", "******");
mysql_select_db("dontdoit_dk",$conn);
$resultat = mysql_query("SELECT navn, email, kommentar FROM
mobil_nyhed_kommentar WHERE nid = '" .$_GET['id']. "' ORDER BY id DESC");
if(mysql_num_rows($result)>0) {
while ($raekke = mysql_fetch_array($resultat)) {
echo "<div class='kommentar_navn'>";
echo $raekke['navn']." - ".$raekke['email'];
echo "</div><div class='kommentar'>";
echo $raekke['kommentar']."</div>";
}
}
else {
echo "Der er ingen kommentar";
}
mysql_close($conn);
}
?>


Stig Sørensen (22-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 22-09-03 18:51


"Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
news:bknc5h$lmu$1@sunsite.dk...
> <?php
> if(!empty($_GET['id'])) {
> $conn = mysql_connect("localhost", "dontdoit_dk", "******");
> mysql_select_db("dontdoit_dk",$conn);
> $resultat = mysql_query("SELECT navn, email, kommentar FROM
> mobil_nyhed_kommentar WHERE nid = '" .$_GET['id']. "' ORDER BY id DESC");
> if(mysql_num_rows($result)>0) {
> while ($raekke = mysql_fetch_array($resultat)) {
> echo "<div class='kommentar_navn'>";
> echo $raekke['navn']." - ".$raekke['email'];
> echo "</div><div class='kommentar'>";
> echo $raekke['kommentar']."</div>";
> }
> }
> else {
> echo "Der er ingen kommentar";
> }
> mysql_close($conn);
> }
> ?>

Heh, så endte det med du lavede det for mig alligevel :)
Fortrækker du 14 dage eller månedsløn ? ;)

> skulle lige vendes om til et <, så virkede det.

Tusind tak for din hjælp Johan
--
Mvh Stig Sørensen

Gratis sms - Gratis Java spil - Gratis unlock
-- > http://Mobil.DontDoIt.dk < --



Stig Sørensen (22-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 22-09-03 18:52


"Stig Sørensen" <nomail@nomail.invalid> wrote in message
news:yDGbb.1742$cN2.1352@news.get2net.dk...
> > skulle lige vendes om til et <, så virkede det.

Nej, så skriver den bare at der ingen kommentar er til alle nyheder.
> - så skriver den kommentarene men skriver ikke; der er ingen kommentar


--
Mvh Stig Sørensen

Gratis sms - Gratis Java spil - Gratis unlock
-- > http://Mobil.DontDoIt.dk < --



Johan Holst Nielsen (22-09-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 22-09-03 19:33

Stig Sørensen wrote:

> "Stig Sørensen" <nomail@nomail.invalid> wrote in message
> news:yDGbb.1742$cN2.1352@news.get2net.dk...
>
>>>skulle lige vendes om til et <, så virkede det.
>
>
> Nej, så skriver den bare at der ingen kommentar er til alle nyheder.
>
>>- så skriver den kommentarene men skriver ikke; der er ingen kommentar

Tjek lige om der er de rigtige nid'ere i tabellen?

Ellers prøv evt. med en "echo mysql_error();" efter mysql_query

mvh
Johan


Stig Sørensen (22-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 22-09-03 19:49


"Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
news:bknf96$7aq$1@sunsite.dk...

> Tjek lige om der er de rigtige nid'ere i tabellen?

Det skulle være ok. Se evt: Der kan du se både structur og data;
http://dontdoit.dk/test/kommentar.JPG

> Ellers prøv evt. med en "echo mysql_error();" efter mysql_query

Tager lige koden med, hvis jeg nu ikke har sat det korrekt:

<?php
if(!empty($_GET['id'])) {
$conn = mysql_connect("localhost", "dontdoit_dk", "******");
mysql_select_db("dontdoit_dk",$conn);
$resultat = mysql_query("SELECT navn, email, kommentar FROM
mobil_nyhed_kommentar WHERE nid = '" .$_GET['id']. "' ORDER BY id DESC");
"echo mysql_error();"
if(mysql_num_rows($result)>0) { echo "kommentar";
while ($raekke = mysql_fetch_array($resultat)) {
echo "<div class='kommentar_navn'>";
echo $raekke['navn']." - ".$raekke['email'];
echo "</div><div class='kommentar'>";
echo $raekke['kommentar']."</div>";
}
}
else {
echo "Der er ingen kommentar";

}
mysql_close($conn);
}
?>

Det giver følgende fejlkode:

Parse error: parse error, unexpected T_IF in
/customers/dontdoit.dk/dontdoit.dk/httpd.www/test/shownews.php on line 26

Linje 26 er: if(mysql_num_rows($result)>0) { echo "kommentar";

Igen mange tak
--
Mvh Stig Sørensen

Gratis sms - Gratis Java spil - Gratis unlock
-- > http://Mobil.DontDoIt.dk < --



Johan Holst Nielsen (22-09-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 22-09-03 20:09

Stig Sørensen wrote:
> "Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
> news:bknf96$7aq$1@sunsite.dk...
>
>
>>Tjek lige om der er de rigtige nid'ere i tabellen?
>
>
> Det skulle være ok. Se evt: Der kan du se både structur og data;
> http://dontdoit.dk/test/kommentar.JPG
>
>
>>Ellers prøv evt. med en "echo mysql_error();" efter mysql_query
>
>
> Tager lige koden med, hvis jeg nu ikke har sat det korrekt:
>
> <?php
> if(!empty($_GET['id'])) {
> $conn = mysql_connect("localhost", "dontdoit_dk", "******");
> mysql_select_db("dontdoit_dk",$conn);
> $resultat = mysql_query("SELECT navn, email, kommentar FROM
> mobil_nyhed_kommentar WHERE nid = '" .$_GET['id']. "' ORDER BY id DESC");
> "echo mysql_error();"

Skulle nu være echo mysql_error(); uden " rundt om ;) Men bare slet
linien nu :)

> if(mysql_num_rows($result)>0) { echo "kommentar";

Der var fejlen... mysql_num_rows($result) skal selvfølgelig være
mysql_num_rows($resultat)

Sådan er det når man skriver videre på andre koder og bruger sine egne
variabelnavne ;)


> while ($raekke = mysql_fetch_array($resultat)) {
> echo "<div class='kommentar_navn'>";
> echo $raekke['navn']." - ".$raekke['email'];
> echo "</div><div class='kommentar'>";
> echo $raekke['kommentar']."</div>";
> }
> }
> else {
> echo "Der er ingen kommentar";
>
> }
> mysql_close($conn);
> }
> ?>

Nu skulle det gerne virke ;)

mvh
johan


Stig Sørensen (22-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 22-09-03 20:26


"Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
news:bknhd2$fus$1@sunsite.dk...
> Skulle nu være echo mysql_error(); uden " rundt om ;) Men bare slet
> linien nu :)

Føler mig flov :)

> Der var fejlen... mysql_num_rows($result) skal selvfølgelig være
> mysql_num_rows($resultat)

Ja selvfølgelig. Kan jeg endda selv se :)

Tak tak tak :) - Det virker :)
--
Mvh Stig Sørensen

Gratis sms - Gratis Java spil - Gratis unlock
-- > http://Mobil.DontDoIt.dk < --



Johan Holst Nielsen (22-09-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 22-09-03 20:31

Stig Sørensen wrote:
> Ja selvfølgelig. Kan jeg endda selv se :)
>
> Tak tak tak :) - Det virker :)

Iøvrigt - jeg vælger månedslønnen :D :D

mvh
Johan


Søg
Reklame
Statistik
Spørgsmål : 177502
Tips : 31968
Nyheder : 719565
Indlæg : 6408531
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste