Avatar billede eflow Nybegynder
09. januar 2002 - 18:03 Der er 21 kommentarer og
1 løsning

SQL sætning i php....

jeg ved godt man ikke må refererer, men spm. skal prøves af i den her kategori.

http://www.eksperten.dk/spm/156505

der står vist alt der skal stå for at få det rigtigt ud.
Avatar billede myplacedk Nybegynder
09. januar 2002 - 18:08 #1
Arh, så svært er det heller ikke at komme med et resume... :)
Øjeblik...
Avatar billede myplacedk Nybegynder
09. januar 2002 - 18:10 #2
Der står nogle urler i en tabel noget i stil med:

test.php?testid=4
test.php?testid=4
test.php?testid=5
test.php?testid=6
test.php?testid=7
test.php?testid=5

Det er kun disse der er interessante. Men der er også mange andre, fx \"index.php\" osv.

Vi har prøvet at finde dem frem med:
WHERE left(fil, 16)=\'test.php?testid=\'
Men det giver ingen resultater. Altså ingen fejl, men der kommer nul rækker retur.
Avatar billede myplacedk Nybegynder
09. januar 2002 - 18:27 #3
Jeg fik lige en tanke...

Det er vel ikke noget med, at i databasen står der noget andet end \"test.php?testid=\", hvilket du så retter det til, uden at rette, at det skal være 16 tegn?
Avatar billede eflow Nybegynder
09. januar 2002 - 18:33 #4
der står kun f.eks.: \"/tests.php?testid=4\"
eller andre tal
hmm...ændre lige det der til 17.....
måske hjælper det...noget andet er....hvordan er det nu jeg udskriver antal ?
jeg bruger mysql_fetch_array
Avatar billede eflow Nybegynder
09. januar 2002 - 18:34 #5
nope, det virker ikke...
Avatar billede myplacedk Nybegynder
09. januar 2002 - 18:35 #6
Hvis der er skråstreg foran, så skal du skrive skråstreg foran, og tælle den med.

Du udskriver feltet \"antal\" på præcis samme måde, som alle andre felter.
Avatar billede eflow Nybegynder
09. januar 2002 - 18:38 #7
hmm...det med antal virker vist ikke :-( nå, men det med where virker hellet ikke...
Avatar billede eflow Nybegynder
09. januar 2002 - 18:40 #8
det virker fint, havde bare skrevet noget andet :-((
men den where sætning fucker stadig, men når jeg kører uden skriver den f.eks. ikke /tests.php?testid=3
men kun /tests.php?
det er ret underligt....
Avatar billede myplacedk Nybegynder
09. januar 2002 - 18:43 #9
Aha, det er nok årsagen... Måske fordi der ikke står mere i tabellen?
Avatar billede eflow Nybegynder
09. januar 2002 - 18:52 #10
der står mere i tabellen, hvis bare jeg kører SELECT * FROM log LIMIT 10
så virker det, så skriver den deres fulde endelse....
Avatar billede myplacedk Nybegynder
09. januar 2002 - 19:32 #11
Prøv at tilføje \"ting og sager\", indtil du ved præcis hvilken del, der \"klipper\" i det.
Altså gå gradvist fra \"SELECT * FROM log LIMIT 10\" til den fulde SQL-sætning.
Avatar billede eflow Nybegynder
09. januar 2002 - 19:42 #12
nu virker noget af det, den viser det rigtigt, men den where sætning driller, den tager alle...
Avatar billede eflow Nybegynder
09. januar 2002 - 19:43 #13
den kommer osse med de der tests.php?testid=4
men der var jo bare dne limit på 10 så den viste det ikke...
Avatar billede myplacedk Nybegynder
09. januar 2002 - 21:03 #14
Helt præcist hvilken del af SQL-sætningen gør, at urlerne bliver klippet?
Avatar billede eflow Nybegynder
09. januar 2002 - 21:17 #15
de bliver ikke klippet...har jeg fundet ud af, where sætningen virker bare ikke...
Avatar billede myplacedk Nybegynder
09. januar 2002 - 22:03 #16
Det er ikke nemt, når du kommer med modstridende oplysninger...
Avatar billede myplacedk Nybegynder
09. januar 2002 - 22:07 #17
Prøv det her:

SELECT fil, left(fil, 16) AS leftpart, count(fil) AS antal FROM log GROUP BY fil ORDER BY antal DESC

Hvad står der så i \"leftpart\" de steder, hvor der står
test.php?testid=4
test.php?testid=4
test.php?testid=5
test.php?testid=6
test.php?testid=7
test.php?testid=5
i \"fil\"?
Avatar billede eflow Nybegynder
12. januar 2002 - 19:36 #18
SELECT fil, left(fil, 18) AS leftpart, count(fil) AS antal FROM log GROUP BY id ORDER BY antal DESC LIMIT 10 viser strengen bare uden tallet....
Avatar billede eflow Nybegynder
16. januar 2002 - 16:00 #19
SELECT *,COUNT(fil) AS antal, LEFT(fil, 18) AS leftpart FROM log WHERE LEFT(fil, 17) = \'/test.php?testid=\' GROUP BY fil ORDER BY antal DESC
Avatar billede eflow Nybegynder
16. januar 2002 - 16:00 #20
doohh, skulle have kørt i min phpmyadmin og ikke her, fejl!!!
Avatar billede eflow Nybegynder
16. januar 2002 - 16:01 #21
men jeg lukket nu, da jeg ikke rigtigt har fået noget brugbart svar.....myplacedk, smid et svar hvis du vil have lidt point, venter med at acceptere til imorgen....
Avatar billede eflow Nybegynder
16. januar 2002 - 16:04 #22
ahhh, giver dig bare nogle point i det andet spm, nevermind...
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
Computerworld tilbyder specialiserede kurser i database-management

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