Avatar billede dk-krazz Praktikant
22. maj 2012 - 19:03 Der er 1 kommentar og
1 løsning

opdel i grupper php

Hej er ved at lave en menuliste til en grillbar.
Menuen skal deles op i grupper fx. burger og pølser
så alle de forskellig burger kommer under burger og alle de forskellig pølser under pølser i min mysql database har jeg lavet følgende

id
menunr
menunavn
pris
gruppe

fx gruppe 1 pølser så alle pølseren har nr 1 og alle burger har nr 2

indtil vider henter den det bager ved ikke hvor dan man lige skal få den til at opdele dem i grupper.
Her er koden indtil vider

<?php

//Get
$result = mysql_query("SELECT * FROM menuliste ORDER BY menunr")
or die(mysql_error());
echo"<table style='position:absolute;left:283px;top:134px;width:444px;height:462px;z-index:7;border:0px  solid;' cellpadding='0' cellspacing='1' id='Table1'>";
echo"<tr>
<th></th>
<th>Menunavn</th>
<th>Pris kr.</th>
</tr>";
//Keppes getting
while($row = mysql_fetch_array( $result )) {
//print out the contents of each row into a table
echo "<tr valign='middle'><td>";
echo "</td><td>";
echo $row['menunavn'];
echo "</td><td>";
echo $row['pris'];
echo "</td><td>";
echo "</td></tr>";
}
echo "</table>";
?>

Det er ca 8 grupper i alt.

Håber i gider at hjælpe ;-)

Hilsen Simon
Avatar billede tjens Nybegynder
22. maj 2012 - 23:33 #1
Du udvider din sql's order by med gruppe:
"SELECT * FROM menuliste ORDER BY gruppe,menunr"
Og hver gang gruppe ændrer sig, udskriver du en overskrift.

Eksempel på det skrevet i java script:
<!DOCTYPE html>
<html lang="en-GB">
<style type="text/css">
body    { font-family: verdena, sans-serif; margin: 0px; padding: 0px; background-color: whitesmoke; }
#container {
    border: 1px solid lightsteelblue;
    background-color: white;
    margin: 40px auto;
    width: 250px;
    text-align: center;
    border-radius: 10px;
    padding:16px;
}
#prisliste {
    margin-left: 16px;
    text-align: left;
}
</style>

<head>
<title>Gruppering m overskrifter</title>
</head>
<div id="container">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
var gruppenavne = { "1":"Pølser","2":"Burgere"}
var resultset = {
"r1":{ "gruppe":"1","menunr":"1","menunavn":"Rød","pris":"20"},
"r2":{ "gruppe":"1","menunr":"2","menunavn":"Medister","pris":"25"},
"r3":{ "gruppe":"1","menunr":"3","menunavn":"Frankfurter","pris":"28"},
"r4":{ "gruppe":"2","menunr":"4","menunavn":"Burger","pris":"36"},
"r5":{ "gruppe":"2","menunr":"5","menunavn":"Burger Lux","pris":"54"}
}
var gruppe = " ";
document.write("<table id='prisliste'><tr><th></th><th>Menu</th><th>Pris</th><th> kr.</th></tr>");
$.each(resultset, function(rowno, row) {
    if (gruppe != row['gruppe']) {
        gruppe = row['gruppe'];
        document.write("<tr><td>");
        document.write(gruppenavne[row['gruppe']]);
        document.write("</td><td>");
        document.write("</td><td align='right'>");
        document.write("</td><td>");
        document.write("</td></tr>");
    }
    document.write("<tr><td>");
    document.write("</td><td>");
    document.write(row['menunavn']);
    document.write("</td><td align='right'>");
    document.write(row['pris']);
    document.write("</td><td>");
    document.write("</td></tr>");
});
document.write("</table>");

</script>
</div>
</body>
</html>
Avatar billede dk-krazz Praktikant
28. maj 2012 - 11:30 #2
Mange tak for de gode svar i er kommet med
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