Avatar billede cen Nybegynder
18. august 2003 - 20:36 Der er 6 kommentarer og
1 løsning

php function, virker ikke optimalt :s

Dav...

jeg har et lille prøve script herunder der gerne skulle generere en tabel med noget dyrenavnarter, men den kommer ikke meget længere end til at lave <table></table>.
er der en der kan gennemskue hvorfor den spriger det hele over??

-CEN

se evt. http://cens.dk/htx/prove2.php

Kildekode:

<?php

$dyr = array("kat", "hund", "fisk", "fugl", "ko", );


function almtabel() {
$stoerrelse = sizeof($dyr);
echo "<table border=\"1\" width=\"100\" >";
for ($i = 0; $i < $stoerrelse; $i++) {

    if ($nr == 1){
        echo "<tr height=\"25\"><td>Hej med dig har har vi en $dyr[$i] i talbel 1</td>";
        $nr = "2"; }
    elseif ($nr == 2){
      echo "<td>Hej med dig har har vi en $dyr[$i] i tabel 2</td></tr>";
        $nr = "1"; }
}

if ($nr == 2){
echo "<td>Vi må hellere slutte ordenligt!!</td></tr>"; }
echo "</table>";
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>[Ingen titel]</title>
</head>
<body>
<?php

almtabel();


echo "hey der er noget galt!!";
?>

</body>
</html>
Avatar billede fangel Nybegynder
18. august 2003 - 20:38 #1
fordi $dyr ikke er global, og derfor ikke til stedet inde i funktionen!

prøv:

function almtabel() {
  global $dyr;
  $stoerrelse = sizeof($dyr);

  ...
}

Morten
Avatar billede cen Nybegynder
18. august 2003 - 20:43 #2
det vil ikke rigtig gøre det!

-CEN
Avatar billede ahv Nybegynder
18. august 2003 - 20:53 #3
<?php
$dyr = array("kat", "hund", "fisk", "fugl", "ko");
function almtabel($dyr) {
    $nr = 1;
    $stoerrelse = sizeof($dyr);
    echo "<table border=\"1\" width=\"100\" >";
    for ($i = 0; $i < $stoerrelse; $i++) {
        if ($nr == 1){
            echo "<tr height=\"25\"><td>Hej med dig har har vi en $dyr[$i] i talbel 1</td>";
            $nr = 2;
        } elseif ($nr == 2){
            echo "<td>Hej med dig har har vi en $dyr[$i] i tabel 2</td></tr>";
            $nr = 1;
        }
    }
    if ($nr == 2){
        echo "<td>Vi må hellere slutte ordenligt!!</td></tr>";
    }
        echo "</table>";
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>[Ingen titel]</title>
</head>
<body>
<?php
almtabel($dyr);
?>

</body>
</html>
Avatar billede tipsen Nybegynder
18. august 2003 - 20:59 #4
Hvorfor ikke bare smide dyr-arrayet ind i funktionen hvor det skal bruges?
Avatar billede cen Nybegynder
18. august 2003 - 21:01 #5
okay... det virkede... kan jeg få ahvide hved jeg gjorde galt?

-CEN
Avatar billede ahv Nybegynder
18. august 2003 - 21:03 #6
Der var to fejl ->
1. Du fik ikke de dyrearray med ind i funktionen
2. Du havde et lavet en variabel ved navn nr.
Avatar billede cen Nybegynder
18. august 2003 - 21:06 #7
jeg havde glemt og difinere starten på $nr :) hmm....
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