Avatar billede floetti Nybegynder
12. marts 2008 - 17:04 Der er 7 kommentarer og
1 løsning

gruppering af arrays der hører til samme gruppe

Hej,

Hvordan kan jeg få lavet et array som grupperer alle resultater og spyder dem ud hver for sig?

Det jeg har lavet er dette, men det smider kun et resultat ud for hver gruppe...

while($row_find = mysql_fetch_array($find)){

$cata["".$row_find['cata'].""] = array("".$row_find['cata']."" => "".$row_find['title'].";".$row_find['content']);
}

echo "<div style=\"display:box; border:1px solid #999999; margin-bottom:10px;\">".strftime("%d. %B %Y",$strtotime)."</div>";

foreach($cata as $gkey => $gval){

echo "<p><strong>".$gkey."</strong><br>";

foreach($gval as $cata => $content){
list($title,$message) = explode(";",$content);
echo $title . " - " . $message;

}
echo "</p>";
}

Den overskriver vist eller har jeg opsat den sidste stump forkert. Håber nogen kan hjælpe lidt:P

På forhånd tak:D
Avatar billede showsource Seniormester
12. marts 2008 - 20:52 #1
Du kan gøre sån:

$cata[$row_find["cata"]]["titel"][] = $row_find["title"];
$cata[$row_find["cata"]]["indhold"][] = $row_find["content"];

foreach($cata as $key => $value) {
echo"<p>Gruppe = ".$key;
$antal = count($value["titel"]);
    for($i = 0; $i < $antal; $i++) {
    echo"<br />".$value["titel"][$i];
    echo"<br />".$value["indhold"][$i];
    }
}
Avatar billede showsource Seniormester
12. marts 2008 - 21:05 #2
Du kan jo også gemme en "buffer" i din while, og så printe ud; (utestet)

$buf = "";

while($row_find = mysql_fetch_array($find)){
$buf .= (!isset($gruppe) || $gruppe != $row_find['cata'] ? "<p>\r\n". $row_find['cata'] : "");
$buf .="<br />\r\n".$row_find['title'];
$buf .="<br />\r\n".$row_find['content'];
}

echo $buf;
Avatar billede showsource Seniormester
12. marts 2008 - 21:06 #3
Hov, mangler sgu lige at definere gruppe!

$buf = "";

while($row_find = mysql_fetch_array($find)){

$buf .= (!isset($gruppe) || $gruppe != $row_find['cata'] ? "<p>\r\n". $row_find['cata'] : "");

$buf .="<br />\r\n".$row_find['title'];
$buf .="<br />\r\n".$row_find['content'];

$gruppe = $row_find['cata'];

}

echo $buf;
Avatar billede showsource Seniormester
12. marts 2008 - 21:15 #4
Ja, eller echo den self. :O)
Avatar billede floetti Nybegynder
13. marts 2008 - 16:58 #5
Hejhej:D

Det var lige det jeg havde brug for, synes ofte det jeg gør for meget vrøvl med min kodning, kan godt se at det du kommer med er en mere overskuelig løsning...

Jeg den første med array, tak for hjælpen;)

Svar og så kommer points:P
Avatar billede showsource Seniormester
14. marts 2008 - 09:22 #6
Ingen point, ellers tak.
Avatar billede floetti Nybegynder
16. marts 2008 - 14:52 #7
alright, tusind tak for hjælpen:)
Avatar billede olebole Juniormester
16. marts 2008 - 16:07 #8
<ole>

Det ligner da ikke valid kode. Udfra br-elementerne at dømme, skrives der XHTML, men hvor slutter i såfald p-elementet?

/mvh
</bole>
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

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