Avatar billede dytti Novice
07. oktober 2011 - 11:26 Der er 3 kommentarer og
1 løsning

JOINT eller sådan noget?

På min hjemmeside har jeg 2 rubrikker der hedder:
"Sidste nye afstemninger".
"Sidste nye indlæg".

I dem kan man se en liste over afstemninger og indlæg fra mit forum (som er et Simpel Mashines Forum).

De lister fremkommer med det her:
Afstemninger:
<?php
$query  = "SELECT *  FROM smf_polls ORDER BY id_poll DESC LIMIT 0, 20";
$result = mysql_query($query) or die("Mysql Error: ".mysql_error());

while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{

$id_poll = $row['id_poll'];
$question = $row['question'];
echo"<a href='../forum/index.php?topic=$id_poll'>$question.</a>";
echo"<br>";

}
?>

Og indlæg:
<?php
$query  = "SELECT *  FROM smf_messages ORDER BY id_msg DESC LIMIT 0, 20";
$result = mysql_query($query) or die("Mysql Error: ".mysql_error());

while($row = mysql_fetch_array($result, MYSQL_ASSOC))

{

$id_msg = $row['id_msg'];
$id_topic = $row['id_topic'];
$subject = $row['subject'];
echo"<a href='../forum/index.php?topic=$id_topic'>$subject.</a>";
echo"<br>";
}
?>

I db ser tabellerne sådan ud:
Afstemninger (anden linie er indholdet):
smf_polls
id_poll | question
1 | Hvad tror du er den mest effektive fiskemetode

Indlæg:
smf_messages
id_msg | id_topic | subject
3 | 3 | Bedste fiskemetode

i Afstemninger vil "echo" give "topic" 1

Nu er mit spørgsmål:
hvordan får jeg topic til at blive 3 (fra smf-messages - id_topic)?

Hvordan hulen gør jeg?
Håber ikke at det er alt for snirklet formuleret ;-)
07. oktober 2011 - 13:15 #1
Lidt snirklet er det vel.  Jeg har ikke fattet helt hvad du vil.  Jeg forstår, at du i tabellen smf_polls har en række 'questions'.  For hvert af disse spørgsmål har du i tabellen smf_messages adskillige 'subjects'.  I rubrikken "Sidste nye afstemninger" vil du have en liste af alle 'questions' således, at brugeren kan vælge et 'question'.  Hvad vil du så have i rubrikken "Sidste nye indlæg"?  Vil du med det samme have alle 'subjects' eller skal det være således, at brugeren først får kun listen af 'questions', og når brugeren har valgt et 'question' får brugeren så alle 'subjects'?

Hvis du med det samme vil have alle questions og alle subjects er det det nemmeste.  Som du gætter er det en join query du skal have fat på.  For eksempel i stedet for

$query  = "SELECT *  FROM smf_messages ORDER BY id_msg DESC LIMIT 0, 20";

så:

$query = "SELECT * FROM smf_polls JOIN smf_messages ON id_poll = id_topic ORDER BY id_poll, id_msg";

Men som sagt kommer du nok til at fortælle lidt mere om hvad du vil.
Avatar billede vagnk Juniormester
09. oktober 2011 - 09:32 #2
fik du svar på dit spørgsmål?
Avatar billede dytti Novice
10. oktober 2011 - 10:01 #3
Hej igen - Ja jeg kom lige væk fra computeren ;-)

Jeg har efter bedste evner studeret koden i Simpel Mashine Forum.
Og det ser ud til at det er lidt mere komplekst end først antaget.

Så indtil jeg har forstået noget mere, stiller jeg spørgsmålet i bero.

Men tak fordi du - desværre forgæves, gav dig tid til en mulig løsning :-)
10. oktober 2011 - 10:12 #4
Er hvad du siger, at du stillede spørgsmålet uden tilstrækkelig grund, at jeg derfor har spildt tiden med en mulig løsning, og at du derfor lukker med points til dig selv?  Det kan være det er mig der er tosset, men særligt motiverende er det ikke.  Men det er naturligvis mit problem.  Jeg kunne jo have ladet være med at deltage i dit spørgsmål.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester