Sortera och skriva ut efter prisklass

PHPportalen Forum Index » Databaser
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
kiptanoi



Medlem i: 2899 dagar

Status: Offline



#741198
Inlägg Skrivet: 2016-11-16 17:00      Ämne: Sortera och skriva ut efter prisklass Citera

Jag hämtar data ur en databas, men skulle vilja dela av tabellen och lista ut dom gruppvis.



KOD:
1:
 
2:
<div>Prisklass 1</div>
3:
<table width="100%" border="0" cellspacing="2" cellpadding="2">
4:
  <tbody>
5:
    <tr>
6:
      <td width="6%">ID</td>
7:
      <td width="80%">Namn</td>
8:
      <td width="14%">Pris</td>
9:
    </tr>
10:
    <tr>
11:
      <td>1</td>
12:
      <td>&nbsp;</td>
13:
      <td>&nbsp;</td>
14:
    </tr>
15:
    <tr>
16:
      <td>2</td>
17:
      <td>&nbsp;</td>
18:
      <td>&nbsp;</td>
19:
    </tr>
20:
  </tbody>
21:
</table>
22:
 
23:
<div style="margin-top:25px;">Prisklass 2</div>
24:
<table width="100%" border="0" cellspacing="2" cellpadding="2">
25:
  <tbody>
26:
    <tr>
27:
      <td width="6%">ID</td>
28:
      <td width="80%">Namn</td>
29:
      <td width="14%">Pris</td>
30:
    </tr>
31:
    <tr>
32:
      <td>3</td>
33:
      <td>&nbsp;</td>
34:
      <td>&nbsp;</td>
35:
    </tr>
36:
    <tr>
37:
      <td>4</td>
38:
      <td>&nbsp;</td>
39:
      <td>&nbsp;</td>
40:
    </tr>
41:
  </tbody>
42:
</table>
43:
 
44:
<div style="margin-top:25px;">Prisklass 3</div>
45:
<table width="100%" border="0" cellspacing="2" cellpadding="2">
46:
  <tbody>
47:
    <tr>
48:
      <td width="6%">ID</td>
49:
      <td width="80%">Namn</td>
50:
      <td width="14%">Pris</td>
51:
    </tr>
52:
    <tr>
53:
      <td>5</td>
54:
      <td>&nbsp;</td>
55:
      <td>&nbsp;</td>
56:
    </tr>
57:
    <tr>
58:
      <td>6</td>
59:
      <td>&nbsp;</td>
60:
      <td>&nbsp;</td>
61:
    </tr>
62:
  </tbody>
63:
</table>
64:
 


Istället för att ha en massa olika MySQL query på samma sida så går det istället att få en MySQL query att gruppera och skriva ut det gruppvis som i exemplet ovan?

Och hur kan en sådan MySQL query se ut om jag vill få det listat som ovan efter prisklasser, och att det ska vara ett mellanrum, och att nästa prisklass skrivs ut osv osv.....
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
harald_b
Moderator



Medlem i: 4194 dagar
Från: Tavesta
Status: Offline



#741206
Inlägg Skrivet: 2016-11-16 23:47      Ämne: Citera

Jag hade nog försökt lösa uppsorteringen i grupper med hjälp av php, genom att spara raderna från databasen i en tvådimensionell array, där prisgruppen utgör nyckeln för första dimensionen.
Sedan kan du skriva ut datat genom att loopa igenom arrayen med två nästlade foreach-loopar.

PHP:
1:
 $prisgrupper = array();
2:
while($rad $databasfråga->fetch()) {
3:
  if(!isset($rader[$rad->prisgrupp])) $prisgrupper[$rad->prisgrupp] = array();
4:
  $prisgrupper[$rad->prisgrupp][] = $rad;
5:
}
6:
 
7:
foreach($prisgrupper as $prisgrupp=>$rader) {
8:
  echo '<tabellhuvud ....>';
9:
  foreach($rader as $rad) {
10:
    echo '<tabellrad ...>';
11:
  }
12:
  echo '<tabellfot ...>';
13:


Själva databasfrågan behöver du inte göra något särskillt med.
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
kiptanoi



Medlem i: 2899 dagar

Status: Offline



#741316
Inlägg Skrivet: 2017-01-04 01:45      Ämne: Citera

harald_b skrev:
Jag hade nog försökt lösa uppsorteringen i grupper med hjälp av php, genom att spara raderna från databasen i en tvådimensionell array, där prisgruppen utgör nyckeln för första dimensionen.
Sedan kan du skriva ut datat genom att loopa igenom arrayen med två nästlade foreach-loopar.

PHP:
1:
 $prisgrupper = array();
2:
while($rad $databasfråga->fetch()) {
3:
  if(!isset($rader[$rad->prisgrupp])) $prisgrupper[$rad->prisgrupp] = array();
4:
  $prisgrupper[$rad->prisgrupp][] = $rad;
5:
}
6:
 
7:
foreach($prisgrupper as $prisgrupp=>$rader) {
8:
  echo '<tabellhuvud ....>';
9:
  foreach($rader as $rad) {
10:
    echo '<tabellrad ...>';
11:
  }
12:
  echo '<tabellfot ...>';
13:


Själva databasfrågan behöver du inte göra något särskillt med.



Nu är jag inte alls lika duktig som dig, och håller bara på i hobbynivå, så jag förstod inte nått av det där Razz

Fick iaf inte det att fungera när jag försökte ge mig på ditt svar :/
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » Databaser
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic