15. juli 2003 - 12:12Der er
15 kommentarer og 2 løsninger
Finde højeste ugenummer i tabel
Hej Eksperter Jeg er ved at lave en ugedagbog.
Jeg har en tabelrække i en database kaldet "uge" hvor der lagres nogle ugenummre, ved udtræk fra databasen skal ugen med det højeste nummer have en anden farve ved visning på siden. Dette havde jeg tænk kunne gøres ved at finde det højest ugenummer i tabellen og ved udtræk sammenligne om ugenumrene er ens.
Spørgsmålet er om det er muligt direkte i en mysql forespørgsel at finde det højeste ugenummer eller om alle ugenumre skal hentes ud af databasen og sammenlignes med php
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
dog vil din kode, codebase, være langsommere, idet at den først tager et helt søgesæt (alle uger) - derefter bliver disse sorteret, så den "største" uge kommer først - og tilsidst vælges den øverste post...
I mit tilfælde vil den bare løbe "uge" igennem og holde øje med den største værdi... - dvs. ingen sortering, eller midlertidig lagring af et søgesæt
ved følgende kode får jeg blot dettet outputtet "Resource id #2" -stedet i databasen - hvordan får jeg ugenummeret? $topuge=mysql_query("select max(uge) from dagbog");
det, som du evt kan gøre er noget a la følgende...
$rs = mysql_query("SELECT *, max(uge) as MAXUGE FROM tablename ORDER BY uge ASC");
for( i=0; i< mysql_num_rows($rs); ++i) { $row = mysql_fetch_object($rs); // kan også bruge fetch_array if( $row->uge == $row->MAXUGE ) { //LAV NOGET SPECIELT FORDI DET ER MAXUGE :-) } }
det som du får tilbage med select max - er faktisk et søgeset - som du skal behandle ligesom alle andre søgesæt -- dvs. at du skal hive den første række ud og så hente værdien ud der....
i det eksempel som jeg har lavet ovenover kommer der en kolonne med på alle rækkerne, - men der kan man så også hurtigt udtrække MAXUGE (den vil så stå der én gang for hver række)
Ellers så skal du til at lave to søgninger - først en til at finde ud af, hvad maxuge er - og derefter en til at gennemløbe ugerne...
codebase - kender du forresten en php-funktion til at tage værdien ud med det samme hvis man f.eks kar et rs som ser sådan ud : +-----+ | Num | +-----+ | 4 | +-----+
og man bruger $rs = mysql_query("SELECT Num FROM tabelnavn");
er der så en funktion som med $rs kan udtrække Num - uden at man først skal til at hente rækken og derefter værdien - noget a la getValue( $rs, "Num"); eller lign...
nope, men denne her stump kunn nok gøre det. $num = mysql_fetch_array( mysql_query("SELECT * FROM num") ); echo $num[0];
eller $num = mysql_fetch_object( mysql_query("SELECT * FROM num") );
men, den rigtig måde at kode det på ville jo være at lave en klasse, og kode en funktion i klassen som retunere værdien. echo $num->num;
Synes godt om
Ny brugerNybegynder
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.