|
| 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
| |
|
|