06. maj 2008 - 11:20Der er
15 kommentarer og 1 løsning
hent fra sql tabel med extract
Hej eksperter. Jeg henter lige nu en score liste fra en tabel med følgende kode:
<?php include("../dbconnect.php"); $getscor = mysql_query("select * from scor ORDER BY maal DESC, id limit 7"); while($r=mysql_fetch_array($getscor)){ extract($r); echo "<b><font color=\"black\">$navn</font><br><BR><font size=\"5px\">$maal</font></b><br><br>";
} php?>
Der er så en person som ligger disse ind i tabellen. Hvis en score skal ændres skriver han bare samme navn igen med den nye score så navnet findes to gange med forskellig score.
Mit spm.
Hvordan ændre jeg denne kode så når den henter disse informationer ud fra tabellen KUN skal tage personen med Èn gang men med den største score = maal ??
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
<?php include("../dbconnect.php"); $getscor = mysql_query("SELECT MAX(maal) from scor ORDER BY maal DESC, id limit 7"); while($r=mysql_fetch_array($getscor)){ extract($r); echo "<b><font color=\"black\">$navn</font><br><BR><font size=\"5px\">$maal</font></b><br><br>";
<?php include("../dbconnect.php"); $getscor = mysql_query("SELECT MAX(maal) GROUP by navn from scor ORDER BY maal DESC, id limit 7"); while($r=mysql_fetch_array($getscor)){ extract($r); echo "<b><font color=\"black\">$navn</font><br><BR><font size=\"5px\">$maal</font></b><br><br>";
echo bliver bare blank når jeg gør det på den måde ...
Her er min tabel iøvrigt:
CREATE TABLE `scor` ( `id` tinyint(4) NOT NULL auto_increment, `navn` text NOT NULL, `maal` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=19 ;
-- -- Data dump for tabellen `scor` --
INSERT INTO `scor` VALUES (18, 'Kim Tuure', '4'); INSERT INTO `scor` VALUES (2, 'Allan Bill', '2'); INSERT INTO `scor` VALUES (1, 'Kim Tuure', '3'); INSERT INTO `scor` VALUES (3, 'Tim Sørensen', '2'); INSERT INTO `scor` VALUES (4, 'Brian Aagesen', '1'); INSERT INTO `scor` VALUES (5, 'Jesper Mortensen', '1'); INSERT INTO `scor` VALUES (6, 'Anders Petersen', '1'); INSERT INTO `scor` VALUES (7, 'Niels Pedersen', '1');
med denne sql: <?php include("../dbconnect.php"); $getscor = mysql_query("select * from scor ORDER BY maal DESC, id limit 7"); while($r=mysql_fetch_array($getscor)){ extract($r); echo "<b><font color=\"black\">$navn</font><br><BR><font size=\"5px\">$maal</font></b><br><br>";
} php?>
bliver udfaldet sådan her:
*************** Kim Tuure (18)
4 mål *************** *************** Kim Tuure (1)
3 mål *************** *************** Allan Bill (2)
2 mål *************** *************** Tim Sørensen (3)
2 mål *************** *************** Brian Aagesen (4)
1 mål *************** *************** Jesper Mortensen (5)
1 mål *************** *************** Anders Petersen (6)
1 mål ***************
Som du kan se viser den ham Kim 2 gange men den skal kun tage den med hvor hans mål er størst ...
mål *************** *************** Jesper Mortensen
mål *************** *************** Anders Petersen
mål *************** *************** Niels Pedersen
mål ***************
altså uden maal ... og det er denne her fulde kode:
<?php include("../dbconnect.php"); $getscor = mysql_query("SELECT navn, MAX(maal) FROM scor GROUP BY navn ORDER BY maal DESC , id LIMIT 7 "); while($r=mysql_fetch_array($getscor)){ extract($r); echo "***************<br><b><font color=\"black\">$navn </font></font><br><BR><font size=\"5px\">$maal mål</font></b><br>***************<br>";
Ret din sql til: SELECT navn, MAX(maal) AS newMaal FROM scor GROUP BY navn ORDER BY maal DESC , id LIMIT 7 Og din php kode skal $maal rettes til: $newMaal
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.