Avatar billede benjamin87 Nybegynder
24. maj 2003 - 13:42 Der er 14 kommentarer

"Array" problem

Jeg har prøvet at lave lave det sådan at jeg kan se hvor mange svar der er til hver enkelt debat i mit forum. Men i stedet for at skrive et tal så skriver den "Array" .... hvad kan der være galt? Til orientering ligger alle trådene i én tabel, og er her scriptet:

$antal = mysql_query("SELECT COUNT(thread) AS num_rows FROM forum WHERE emne = '' AND thread != '$thread'");
$antallet = mysql_fetch_array($antal);

$foresp = mysql_query("SELECT tid, emne, id, thread FROM forum WHERE emne != '' ORDER BY tid DESC LIMIT 0, 20");
while($data = mysql_fetch_array($foresp)){
    echo "<tr><td width=\"100\">";
    echo date("j/n - Y", $data[0]);
    echo "</td><td width=\"250\">";
    echo "<a href=\"view.php?thread=$data[3]\">";
    echo "$data[1]<br>";
    echo "</a></td>";
    echo "<td width=\"200\">";
    echo $antallet;
    echo " answers";
    echo "</td></tr>";
    }

Se evt. på siden som ligger på http://www.vffsupport.dk/uk/oversigt.php
Avatar billede roenving Novice
24. maj 2003 - 13:45 #1
Kan intet php, men vil gætte på, at du skal finde een værdi i arrayet, så noget i stil med:

    echo $antallet[0];
Avatar billede Slettet bruger
24. maj 2003 - 13:47 #2
Eller:
$antal = mysql_query("SELECT COUNT(thread) AS num_rows FROM forum WHERE emne = '' AND thread != '$thread'");
$antallet = mysql_result($antal,0);
Avatar billede benjamin87 Nybegynder
24. maj 2003 - 13:54 #3
når jeg gør som roenving siger, så kommer der til at stå 15 - altså det samlede antal svar i hele tabellen.

og når jeg bruger regins forslag så kommer der til at stå 1 ud for dem alle, som I kan se på adressen hvor den ligger.
Avatar billede Slettet bruger
24. maj 2003 - 14:16 #4
Hvad er sammenhængen mellem threadsne og emnerne? ...
Hvordan høre en specifik thread sammen med et specifikt emne?
Avatar billede benjamin87 Nybegynder
24. maj 2003 - 14:18 #5
sammenhængen er at ved de threads der er selve debatten er der et emne - det er der ikke ved svarene. Det er derfor at jeg kalder de threads frem uden enme når jeg henter svarene.
Avatar billede Slettet bruger
24. maj 2003 - 14:25 #6
Ja, det kan jeg godt se... men hvordan afgører du hvilke svar som hører til hvilke emner?
Avatar billede roenving Novice
24. maj 2003 - 14:28 #7
Du skal lave en forespørgsel på tråden

while($data = mysql_fetch_array($foresp)){
  //her slår du trådens id op med en COUNT(*)
Avatar billede benjamin87 Nybegynder
24. maj 2003 - 14:28 #8
det gør jeg ved at de har samme thread-nummer
Avatar billede benjamin87 Nybegynder
24. maj 2003 - 14:33 #9
jeg har bare dette lille problem at jeg ikke kan sætte id'en til auto_increament af en eller anden mærkelig årsag, men jeg vil prøve det når jeg får det ordnet.
Avatar billede Slettet bruger
24. maj 2003 - 14:36 #10
Og hvilket navn har rækken "thread-nummer"?
Avatar billede benjamin87 Nybegynder
24. maj 2003 - 14:38 #11
der er en række der hedder thread, og der er fx en debat der i thread-rækken har fået tildelt nummeret 14. Alle svarene har det samme nummer i thread, hvis du forstår hvad jeg mener; det håber jeg at du gør.
Avatar billede Slettet bruger
24. maj 2003 - 14:55 #12
Prøv om du kan bruge følgende til noget
$sql = "SELECT t.*, count(a.id) as numrows
FROM
forum t, forum a
where
forum t.thread=a.thread AND t.emne!='' and a.emne=''
order by
t.tid
group by
t.thread";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
    echo $row[emne]."-".$row[numrows]."<br>";
}
Avatar billede mishief Nybegynder
25. maj 2003 - 13:59 #13
prøv med $antallet[0], du skal tænke på det er et array du laver. Du kan evt. se print_r($antallet); print_r printer alle elementer i et array.
Avatar billede mishief Nybegynder
25. maj 2003 - 14:01 #14
Du skal forresten også huske at din query, hvor du trækker antal ud skal foretages på ny for hver gang du printer.
Altså skal din $antallet query ind i while løkken.
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