Jag håller på med ett arkiv som ska innehålla länkar. Jag har en tabell som innehåller fälten adress och grupp. Jag vill visa länkarna så här;
* Spelsidor
[url]http://www.gamingeye.com[/url]
[url]http://www.fragbite.com[/url]
* Musiksidor
[url]http://www.livemusik.se[/url]
[url]http://www.music.com[/url]
Hur gör jag detta?
tydalMedlem sedan juni 20034 013 inlägg I din SELECT-sats (där du hämtar ut informationen ur databasen) lägger du i slutet till: ORDER BY grupp
Sedan alldeles innan loopen där du skriver ut allt så skriver:
$previous = "";
Och sedan i loopen:
if ($previous != $row['grupp'])
{
$previous = $row['grupp'];
// Du har kommit till en ny grupp, skriv ut gruppens namn.
}
Vad du gör är alltså att kolla ifall den länk som du skriver ut nu tillhör samma grupp som den du skrev ut innan. Tillhör den samma grupp så ska du ju inte skriva ut gruppens namn igen, men tillhör den inte samma så har du ju kommit till nästa grupp och då ska den skrivas ut.
Jag vet att jag inte ska sitta med detta just nu, för att jag är så himla trött. Men jag vill verkligen :) Det funkar inte och den skriver ut grupperna ovanför länkarna, även fast det är samma grupp:
<?php
require 'inc/db.php';
// Räkna länkarna
$get = mysql_query("SELECT * FROM Länkar");
$rowCount = mysql_num_rows($get);
{
echo "Det finns totalt $rowCount länkar.<br><br>";
}
// Visa samtliga länkar
$get = mysql_query("SELECT * FROM Länkar ORDER BY grupp");
while($userRow = mysql_fetch_array($get))
{
$previous = "";
$länkarAdress = $userRow['adress'];
$länkarGrupp = $userRow['grupp'];
$länkarHits = $userRow['hits'];
$id = $userRow['id'];
if ($previous != $länkarGrupp)
{
$previous = $länkarGrupp;
echo "<img src=gfx/ikon.blob.gif>$länkarGrupp<br>";
echo "<a href=$länkarAdress target=_blank>$länkarAdress</a><br><br>";
}
else
{
echo "<a href=$länkarAdress target=_blank>$länkarAdress</a><br>";
}
}
// Stäng databasen
mysql_close($open);
?>
Jag löste det hela, lite trött som jag sa!
<?php
require 'inc/db.php';
// Räkna länkarna
$get = mysql_query("SELECT * FROM Länkar");
$rowCount = mysql_num_rows($get);
{
echo "Det finns totalt $rowCount länkar.<br>";
}
// Visa samtliga länkar
$get = mysql_query("SELECT * FROM Länkar ORDER BY grupp");
$previous = "";
while($userRow = mysql_fetch_array($get))
{
$länkarAdress = $userRow['adress'];
$länkarGrupp = $userRow['grupp'];
$länkarHits = $userRow['hits'];
$id = $userRow['id'];
if ($previous != $länkarGrupp)
{
$previous = $länkarGrupp;
echo "<br><img src=gfx/ikon.blob.gif>$länkarGrupp<br>";
echo "<a href=$länkarAdress target=_blank>$länkarAdress</a><br>";
}
else
{
echo "<a href=$länkarAdress target=_blank>$länkarAdress</a><br>";
}
}
// Stäng databasen
mysql_close($open);
?>