InferisMedlem sedan sep. 2000670 inlägg Jag vill hämta senaste id, men det äldsta visas.
$query = "SELECT DISTINCT tillv.namn, tillv.id, max(modell.id), modell.namn, modell.datum
FROM tillv INNER JOIN modell ON (tillv.namn = modell.namn)
WHERE modell.namn = '$valt'
GROUP BY modell.namn
ORDER BY modell.id DESC ";
Problemet är att det inte är senaste datum som visas. Hur ändrar man?
Gissar på att du kör MySql.
Skriv max(modell.datum) istället för bara modell.datum.
MySql är lite väl snällt när det kommer till sådana där frågor, samma fråga i SQL Server hade renderat ett felmeddelande då Group by gör att den inte vet vilket värde kolumnerna syftar på.
InferisMedlem sedan sep. 2000670 inlägg Förlåt! Jag har max(modell.datum) redan. Skrev in det fel.
Ja, det är mysql.
Kan du uppdatera ursprungliga inlägget med exakt hur din fråga ser ut?
InferisMedlem sedan sep. 2000670 inlägg Har uppdaterat originalfrågan efter vad jag kunde. Har provat tusen olika lösningar känns det som.
Jag vill alltså ha tillverkarna i grupper, men det senaste ID ska visas med tillverkaren i en loop.
$tillverkaren = $row[0];
$senaste = $row[3];
InferisMedlem sedan sep. 2000670 inlägg Förenklat vill jag ha det så här:
Tillverkare: FFF
Modell: XCV
Modell-ID: 333 <- Detta id från tabell modell högst, alltså ska gruppen och id hamna överst
Tillverkare: CCC
Modell: REW
Modell-ID: 332 <- Näst högst id
Tillverkare: YYY
Modell: UEG
Modell-ID: 331
<?php
$query = "SELECT tillv.namn, tillv.id, max(modell.id), modell.namn, modell.datum FROM tillv INNER JOIN modell ON (tillv.namn = modell.namn) WHERE modell.namn = '$valt' GROUP BY tillv.namn ORDER BY modell.id DESC";
$result=mysql_query($query);
$num=mysql_numrows($result);
$i=0;
while ($i < $num) {
$row = mysql_fetch_array($result);
$tillverkare = $row[0];
$idet = $row[1];
$modellen = $row[3];
$upplagd = $row[4];
?>
<div>
Tillverkare: <?php echo $tillverkare; ?><br>
Modell: <?php echo $modellen; ?> (upplagd <?php echo $upplagd; ?>)
Modell-ID: <?php echo $idet; ?>
</div>
<?php
$i++;
}
?>