Avatar billede sungdk Nybegynder
27. juni 2004 - 12:31 Der er 10 kommentarer og
1 løsning

Smart udtræk fra mySQL

Hej!

Jeg står med et problem, som i sikkert har en smart løsning på.

Problemet er, at lige nu har jeg et while-udtræk som ser sådan ud ca.:

Udtræk1 - Mormor
Udtræk2 - farfar
Udtræk3 - Egon
Udtræk4 - farfar
Udtræk5 - Mormor
Udtræk6 - farfar

Det ser jo lidt forvirrende ud!. Mormor, farfar osv. er også et udtræk fra en row. Er der en måde så jeg evt. kan lave sådan en oversigt her:

Farfar:
- Udtræk2
- Udtræk4
- Udtræk6

Mormor:
- Udtræk1
- Udtræk5

Osv!

Jeg vil helst komme uden om problemet med at oprette en ny tabel i databasen, da jeg har mange posts allerede.

Håber du sidder med en god løsning.
Avatar billede dennismp Nybegynder
27. juni 2004 - 12:33 #1
Hvordan ved du at "udtræk2" hører til under farfar og ikke mormor?
Avatar billede sungdk Nybegynder
27. juni 2004 - 12:34 #2
Fordi det er der skrevet i udtrækket. Det ser ca. sådan ud i database tabellen:

id | navn | alder | tlf
Avatar billede sungdk Nybegynder
27. juni 2004 - 12:35 #3
Lige nu har jeg brugt: ORDER BY navn

Men det ser alligevel ret uoverskueligt ud :(
Avatar billede dennismp Nybegynder
27. juni 2004 - 12:39 #4
Jeg plejer at gøre sådan her..

Brug order by navn.

$gl_navn = '';
while($row = mysql_fetch_array($res)) {
  $navn = $row['navn'];
  $alder = $row['alder'];
  ..

  if( $gl_navn != $navn ) {
    print "<b>$navn</b><br/>";
    $gl_navn = $navn;
  }
 
  print $alder;
  ..
}
Avatar billede sungdk Nybegynder
27. juni 2004 - 13:00 #5
Prøver jeg lige dennis :)
Avatar billede sungdk Nybegynder
27. juni 2004 - 13:05 #6
Hmmm...

Ved ikke om jeg har misforstået noget. Men den skriver nu bare:

Navn:
Gamle udtræk

Navn:
Gamle udtræk

Altså navnet er bare flyttet op ovenover.

Har du misforstået mit spørgsmål, eller mig som dummer mig?
Avatar billede dennismp Nybegynder
27. juni 2004 - 13:09 #7
Jeg har nok misforstået det.

Jeg troede at du ville have

"Navn" (een gang)
- Alder, tlf for "navn"
- Alder, tlf for "navn"
.. alt efter hvor mange rækker der er..

Er det rigtigt? Det virker lidt underligt og med mindre din farfar er skitzofren så har han vel kun en alder og telefonnummer? :)
Avatar billede sungdk Nybegynder
27. juni 2004 - 13:18 #8
Det er korrekt forstået :D

Men det med navne osv. var bare et eksempel. Rigtig så er det udtræk under motornavn.

<?php
include "../conn.php";
$foresp = mysql_query("SELECT * FROM priser_item WHERE kat_id = '$_GET[kat_id]' ORDER BY motor desc");
if (mysql_num_rows($foresp) < 1){
echo "<br><b>Der er desværre ingen produkter endnu...</b><br><br>";
} else {
while($row = mysql_fetch_array($foresp)){

if( $gl_navn != $row[motor] ) {
    print "<b>$row[motor]</b><br/>";
    $gl_navn = $navn;
  }
  print $$row[model];
?>
Avatar billede dennismp Nybegynder
27. juni 2004 - 13:22 #9
Ah, så din farfar er skitzo, fair nok :)

Prøv følgende:
<?php
include "../conn.php";
$foresp = mysql_query("SELECT * FROM priser_item WHERE kat_id = '$_GET[kat_id]' ORDER BY motor desc");

if (mysql_num_rows($foresp) < 1){
  echo "<br><b>Der er desværre ingen produkter endnu...</b><br><br>";
} else {
  $gl_motor = '';

  while($row = mysql_fetch_array($foresp)){
    if( $gl_motor != $row['motor'] ) {
      print "<b>{$row['motor']}</b><br/>";
      $gl_motor = $row['motor'];
    }
    print $row['model'];
  }
}
?>
Avatar billede sungdk Nybegynder
27. juni 2004 - 18:16 #10
Du en skat :)

Svar
Avatar billede dennismp Nybegynder
27. juni 2004 - 18:29 #11
:)
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