Avatar billede hathor Nybegynder
06. februar 2002 - 23:49 Der er 11 kommentarer og
1 løsning

Problem med arrays .. [NEWBIE]

Jeg laver udtræk fra en database med en fil der ser således ud:

<?php
$db = mysql_connect("localhost", "Hathor", "losinos");
    mysql_select_db("nyheder", $db);

    $dato = mysql_query("SELECT dato FROM nyheder ORDER BY id DESC LIMIT 0,9");
   

while($data = mysql_fetch_array($dato)){
    echo date("j/n - H:i - Y", $data[0]);}
        echo "<br>";
?>

Dette giver følgende output:

6/2 - 23:10 - 2002
6/2 - 18:16 - 2002
6/2 - 18:11 - 2002
6/2 - 18:10 - 2002
6/2 - 18:05 - 2002
6/2 - 17:35 - 2002
6/2 - 17:11 - 2002

Det er såmænd meget godt. Det jeg gerne vil er dog at tage alle datoer i dato, og lægge i et array hvor første dato ligger i f.eks. $dag[0] næste i $dag[1] osv.

Hvis jeg blot skriver
echo $data[0] får jeg kun første dato.

Jeg konkluderede derfor at jeg kunne lave en funktion der ser således ud:

function datoarray{
while($data = mysql_fetch_array($dato)){
$dag[] = data[0];}
return $dag;

Det kan jeg ikke .. Jeg kan simpelthen ikke regne ud hvad jeg skal gøre .. Har prøvet manualen og andre steder men når man ikke ved hvad man leder efter er det svært.

Hathor



Avatar billede hathor Nybegynder
06. februar 2002 - 23:50 #1
Okay while sætningen ser ikke ud som anført ovenfor, den ser således ud:
while($data = mysql_fetch_array($dato)){
    echo date("j/n - H:i - Y", $data[0]);
        echo "<br>";}
Avatar billede hathor Nybegynder
06. februar 2002 - 23:52 #2
Fejlen ved funktionen er i første omgang en parse error jeg ikke har kunnet finde ..
Avatar billede hathor Nybegynder
07. februar 2002 - 00:03 #3
$db = mysql_connect("localhost", "Hathor", "losinos");
    mysql_select_db("nyheder", $db);

    $dato = mysql_query("SELECT dato FROM nyheder ORDER BY id DESC LIMIT 0,9");
    //$dag = mysql_fetch_row($dato);
   
    //for ($tal=0 ; $tal < count($dag) ; $tal++) echo $dag[$tal];
   
    while($dag = mysql_fetch_row($dato)){
    echo date("j/n - H:i - Y", $dag[0]);
   
    echo "<br>";}

    //echo $dag[1];
Avatar billede hathor Nybegynder
07. februar 2002 - 00:03 #4
<?php
       

   
    $db = mysql_connect("localhost", "Hathor", "losinos");
    mysql_select_db("nyheder", $db);

    $dato = mysql_query("SELECT dato FROM nyheder ORDER BY id DESC LIMIT 0,9");
    //$dag = mysql_fetch_row($dato);
   
    //for ($tal=0 ; $tal < count($dag) ; $tal++) echo $dag[$tal];
   
    while($dag = mysql_fetch_row($dato)){
    echo date("j/n - H:i - Y", $dag[0]);
   
    echo "<br>";}

    //echo $dag[1];


?>
Avatar billede Slettet bruger
07. februar 2002 - 00:04 #5
hvis vi skal hjælpe bør du kopiere parse error sætningen ind, der står nemlig et linienummer. Smart ikke? Så slipper jeg for at anstrenge mine trætte øjne unødvendigt :)
Avatar billede hathor Nybegynder
07. februar 2002 - 00:07 #6
parse error i linie 3 hvilket er i

$dag[] = data[0];}
Avatar billede Slettet bruger
07. februar 2002 - 00:07 #7
hvor mange gange skal du poste koden? Hvad er den korrekte?
Avatar billede Slettet bruger
07. februar 2002 - 00:09 #8
Du laver åbenbart en funktion uden input, men det gør ikke så meget for du kalder den ikke nogen steder *G*
Avatar billede Slettet bruger
07. februar 2002 - 00:11 #9
prøv at tælle { og } sammen i din funktion. Jeg får det til 3, det er vist 1 for lidt..
Avatar billede hathor Nybegynder
07. februar 2002 - 00:11 #10
nej ikke længere ... da den ikke virkede ... det der er spørgsmålet i første omgang er om der overhovedet er nogen er forstår hvad jeg mener
Avatar billede johnkp Nybegynder
07. februar 2002 - 00:32 #11
Forslag:
<?php
    $db = mysql_connect("localhost", "Hathor", "losinos");
    mysql_select_db("nyheder", $db);

    $dato = mysql_query("SELECT dato FROM nyheder ORDER BY id DESC LIMIT 0,9");
 
    while($data = mysql_fetch_array($dato)){
        echo date("j/n - H:i - Y", $data[0]);
        echo "<br>";
        $dag[] = $data[0];
    }

    // Skriver alle elementer i $dag[] ud:
    for($i=0; $i<count($dag);$i++)
        echo $dag[$i]."<br>";
?>
Avatar billede Noone Nybegynder
07. februar 2002 - 13:44 #12
// Skriver alle elementer i $dag[] ud:
  for($i=0; $i<count($dag);$i++)
    echo $dag[$i]."<br>";

Kan laves sådan her:
foreach ($dag as $day) { echo "$day<br>\n"; }
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