Avatar billede fbb Nybegynder
25. februar 2004 - 21:40 Der er 21 kommentarer og
1 løsning

kommatal skal også med

Hej, jeg har fået lavet dette kode her inde, men den regner kun med hele, den skal også tage kommatal med, fx 5,5 og 10,5 ;)
Mit kode:
<td valign="top" width="150">
<?
$res = mysql_query("select week(dato) uge, sum(timer) timer, date_format(dato, '%d/%m') dansk
    from arbejde group by dansk order by dato") or die(mysql_error());
$antal = mysql_num_rows($res);
$i = 0;
$temp = 0;
while ($i<$antal) {
    if ($temp != mysql_result($res,$i,'uge')) {
      echo "<font size=\"2\" face=\"Verdana\"><b>Uge: ".mysql_result($res,$i,'uge')."<br></b></font>";
    }
    echo "<font size=\"2\" face=\"Verdana\">&nbsp;".mysql_result($res,$i,'dansk')." - ".mysql_result($res,$i,'timer')." timer.<br></font>";
    $temp = mysql_result($res,$i,'uge');
    $i++;
}
?>
</td>
    <td valign="top" width="150">
<?
$res = mysql_query("SELECT month(dato) AS maaned, sum(timer) AS timer
    FROM arbejde GROUP BY maaned") or die(mysql_error());
while ($row = mysql_fetch_assoc($res)) {
    echo "<font size=\"2\" face=\"Verdana\"><b>".ucfirst($month[$row['maaned']]).":</b> $row[timer] timer.<br></font>";
}
?>
</td>
Avatar billede detox Nybegynder
25. februar 2004 - 21:46 #1
Jeg går ud fra det er 'timer' du tænker på. Hvilken felttype har du valgt? Og husk at du skal bruge punktum som komma i tal.
Avatar billede fbb Nybegynder
25. februar 2004 - 21:47 #2
har lavet det som et varchar(4) (har ikke så meget styr på hvad for et jeg skulle bruge)
Avatar billede detox Nybegynder
25. februar 2004 - 22:05 #3
Brug fx: DOUBLE
Avatar billede detox Nybegynder
25. februar 2004 - 22:08 #4
Evt. DOUBLE 10,2, for at begrænse det til fx 2 decimaler.
Avatar billede fbb Nybegynder
25. februar 2004 - 22:08 #5
ok
Avatar billede fbb Nybegynder
25. februar 2004 - 22:10 #6
Nice så virker det jo ;D..

Lav et svar + lav et svar i det andet spm... Du er jo genial ;)
Avatar billede fbb Nybegynder
25. februar 2004 - 22:13 #7
Ved ikke, om jeg må smide mit spm ind her, ellers laver jeg lige et nyt.

jeg har en form, hvor den så tilføjer mit kode, når det så er gjort, og jeg så klikker f5 så opdater den også databasen, hvordan ungår jeg det?
Avatar billede detox Nybegynder
25. februar 2004 - 22:20 #8
Måske ved at bruge en anden php side i din forms action. Kører du med register_globals On?
Avatar billede fbb Nybegynder
25. februar 2004 - 22:21 #9
Ja, det gør jeg ;)
Avatar billede detox Nybegynder
25. februar 2004 - 22:26 #10
Slå det fra, hvis du kan. Du kan ligeså godt vænne dig til at kode uden, da det er et spørgsmål om tid før det ryger ud. Det øger osse sikkerheden på din server.
Hvordan ser scriptet med formen ud?
Avatar billede fbb Nybegynder
25. februar 2004 - 22:28 #11
hehe, kan jeg ikke desværre, jeg ligger på en wannafind server.

<?
if($action == "skriv")
{
$date = '2004-'.$date;
mysql_query("INSERT INTO arbejde (dato, timer) VALUES ('$date','$timer')");
} else {
}
?>
<form method="post" action="<?=$PHP_SELF ?>" onsubmit="return checkfields()">
Dato: MM-DD&nbsp;<input size="3" type=text name="date"> &nbsp;&nbsp;
Timer:&nbsp;<input size="1" type=text name="timer">
<input type="hidden" name="action" value="skriv">
<input type="submit" value="Opret" name="skriv">
</form>
Avatar billede detox Nybegynder
25. februar 2004 - 22:42 #12
Du kunne måske alligevel bruge $_POST arrayet:

if(isset($_POST['action'] && $_POST['action'] == "skriv")

ellers send den til en anden side med:

<form method="post" action="modtag.php" onsubmit="return checkfields()">

og indsæt dine data der. Du kan jo så evt. redirecte retur med:

header ('Location: formside.php'); // eller hvad den hedder ;o)
Avatar billede fbb Nybegynder
25. februar 2004 - 22:46 #13
for fejl i :
if(isset($_POST['action'] && $_POST['action'] == "skriv")
hvis jeg skifter: if($action == "skriv") ud med den
Avatar billede detox Nybegynder
25. februar 2004 - 22:47 #14
Sorry:

if(isset($_POST['action']) && $_POST['action'] == "skriv")
Avatar billede fbb Nybegynder
25. februar 2004 - 22:49 #15
hjælper ikke ;D Laver den i 2 filer så ;)..
er der en måde hvor jeg kan tjekke om dato er der, så den ikke få den samme ind 2 gange?
Avatar billede detox Nybegynder
25. februar 2004 - 22:56 #16
Fx med en forespørgsel:

if (mysql_result(mysql_query("SELECT count(*) FROM arbejde WHERE dato='$dato'"),0) == 0) {
    // den findes ikke
} else {
    // den findes
}
Avatar billede fbb Nybegynder
25. februar 2004 - 23:03 #17
if ($_POST['FBB'] == 'new') {
    $date = '2004-'.$date;
    if (mysql_result(mysql_query("SELECT count(*) FROM arbejde WHERE dato='$dato'"),0) == 0) {
    mysql_query("INSERT INTO arbejde (dato, timer) VALUES ('$date','$timer')");
      header("Location: index.php?oprettet");
    } else {
      header("Location: index.php?Findes");
    }
}

selv om jeg skriver det samme 2 gang, så skriver den, det bare ind.
Avatar billede fbb Nybegynder
25. februar 2004 - 23:08 #18
hmm, mske fordi jeg ikke kan køre 2 if'ere?? Hvordan gør jeg så?
Avatar billede detox Nybegynder
25. februar 2004 - 23:10 #19
Hmm, WHERE dato='$dato'" skulle jo osse være: WHERE dato='$date'"

Måske det var endnu bedre at bruge:

if ($_POST['FBB'] == 'new') {
    $date = '2004-'.$date;
    if (mysql_result(mysql_query("SELECT count(*) FROM arbejde WHERE dato='$date'"),0) != 0) {
      header("Location: index.php?Findes");
    } else {
    mysql_query("INSERT INTO arbejde (dato, timer) VALUES ('$date','$timer')");
      header("Location: index.php?oprettet");
    }
}
Avatar billede fbb Nybegynder
25. februar 2004 - 23:12 #20
Det virker.. hehe...
Tja... et svar er vel fortjent?... hehe.. Mange tak dude.. squ nice med hjælp ;)
Avatar billede detox Nybegynder
25. februar 2004 - 23:12 #21
Bare i orden c",)
Avatar billede fbb Nybegynder
25. februar 2004 - 23:13 #22
og mange tak for hjælpen!!
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