mboost-dp1

PHP: Deklarere variabel fra en funktion.


Gå til bund
Gravatar #1 - Nielson
5. apr. 2013 15:24
Halløjsa!

Jeg håber at der sidder nogle der kan hjælpe mig med dette.

Jeg er ved at udregne procentdelen af antallet på en brugers kommentarer, baseret på det totale antal kommentarer i et forum.

Brugerens kommentarer og det totale antal kommentarer i forummet bliver udregnet i hver sin functions. Disse to tal skal jeg så bruge senere for at finde procentdelen, men det er her det går galt.

Mine functions hedder:

Bruger kommentarer
comments_user($username);

Totale kommentarer
comments_forum();

Hvis jeg gør sådan her:

<?= (5 / 10) * 100; ?>


Vil det selvfølgelig give 50. Men jeg kan ikke bruge:

<?= (comments_user($username) / comments_forum()) * 100; ?>


Jeg har prøvet at lave mine functions til en variabel sådan her:

<?php

$comments = comments_user($username);

$total = count_replies();

?>


Men det virker heller ikke.

Hvordan kan man ellers gøre det? :)
Gravatar #2 - bodhiBit
5. apr. 2013 17:22
jeg tror det ville hjælpe, hvis du også viser os dine funktioner..
Gravatar #3 - Nielson
5. apr. 2013 17:36
Ah ja selvfølgelig. :)

function comments_forum(){

$count_forum = "SELECT * FROM forum_reply";

$res = mysql_query($count_forum);

if (!$res) {
print("SQL statement failed with error:\n");
print(mysql_error($con));
} else {
$number_of_rows = mysql_num_rows($res);
print("$number_of_rows");
}

}


function comments_user($username){

$query_comments = mysql_query("SELECT * FROM `forum_reply` WHERE `author` = '$username'") or die(mysql_error());
$comments = mysql_num_rows($query_comments);

print $comments;
}
Gravatar #4 - Corholio
5. apr. 2013 17:52
Du skal returnere din værdi fra din funktion, eller (meget værre!) definere dine variabler som globale.
Gravatar #5 - Nielson
5. apr. 2013 18:12
Corholio (4) skrev:
Du skal returnere din værdi fra din funktion.


Er det ikke det jeg gør her eller har jeg misforstået noget?

<?= (comments_user($username) / comments_forum()) * 100; ?>
Gravatar #6 - markjensen
5. apr. 2013 18:22
print er ikke det samme som return
Gravatar #7 - Nielson
5. apr. 2013 19:14
markjensen (6) skrev:
print er ikke det samme som return


Ah! Get it now :) Takker gutter :)
Gravatar #8 - Daniel-Dane
8. apr. 2013 05:22
Ingen årsag.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login