Avatar billede ziz Nybegynder
22. april 2002 - 19:52 Der er 23 kommentarer og
1 løsning

Slette i mysql

Hej..
Tabel: ting
Felter: id  t_url  t_status  t_room  t_owner  t_value  t_info  t_smid.

Så skal den finde alle ting der hedder "Reklame"(t_info) og udskrive en Top 3 på hvilket id der har flest..




Og.!
En kommando der kan slette alt der hedder noget med: Reklame(t_info)


Jeg har ingen ideer på hvordan det kan laves :-)
Avatar billede mortenfn Nybegynder
22. april 2002 - 19:55 #1
delete from tabel WHERE t_info = 'reklame'

select * from tabel WHERE t_info = 'reklame'

er det sådan du mener
Avatar billede mortenfn Nybegynder
22. april 2002 - 19:56 #2
og kun 3

select * from tabel WHERE t_info = 'reklame' LIMIT 3
Avatar billede ziz Nybegynder
22. april 2002 - 20:40 #3
Ja..
Og så en top 3 der finder den bruger der har flest "reklamer"
Avatar billede tipsen Nybegynder
22. april 2002 - 20:46 #4
er bruger det samme som t_owner?
Avatar billede mortenfn Nybegynder
22. april 2002 - 20:50 #5
select * from tabel WHERE t_info = 'reklame' ORDER BY bruger LIMIT 3
Avatar billede mortenfn Nybegynder
22. april 2002 - 20:51 #6
nej sådan

select *.COUNT(bruger) AS antal from tabel WHERE t_info = 'reklame' ORDER BY bruger LIMIT 3
Avatar billede mortenfn Nybegynder
22. april 2002 - 20:52 #7
pis den smuttede

nej sådan

select *.COUNT(bruger) AS antal from tabel WHERE t_info = 'reklame' ORDER BY antal LIMIT 3
Avatar billede tipsen Nybegynder
22. april 2002 - 20:55 #8
Hvad er *.COUNT(bruger) - der er jo ikke engang et felt i db'en der hedder bruger!?
Avatar billede mortenfn Nybegynder
22. april 2002 - 20:56 #9
undskyld - det driller lidt idag

select *.COUNT(bruger) AS antal from tabel WHERE t_info = "reklame" GROUP BY bruger ORDER BY antal LIMIT 3

nu tror jeg den er der
Avatar billede mortenfn Nybegynder
22. april 2002 - 20:57 #10
bruger ner nok = t_ovner
Avatar billede ziz Nybegynder
22. april 2002 - 21:02 #11
jeg kan selv rette i det, hvis i misforstår felterne :-)
Avatar billede tipsen Nybegynder
22. april 2002 - 21:08 #12
SELECT COUNT(*) AS hits FROM ting WHERE t_info = 'reklame' GROUP BY t_owner ORDER BY hits DESC LIMIT 3;
Avatar billede ziz Nybegynder
23. april 2002 - 15:56 #13
Okay jeg tror i har misforstået noget..
Dette er hvad jeg har lavet indtil vidre:
<?
include("chat_mysql_con.php");
$con = mysql_query("SELECT COUNT(*) AS hits FROM tb_things WHERE t_info = 'reklame' GROUP BY t_owner ORDER BY hits DESC LIMIT 3");
while ($data = mysql_fetch_row($foresp)) echo $data[0];
?>

Men så, jeg HITS. Der er intet i min database der hedder HITS. Det den skal gøre det er at:
Samle alle der hedder "Reklame" og så lave en top 3 hvor den skriver ID og "REKLAME".
Eks:
ID: Reklamer:
1  100
Avatar billede tipsen Nybegynder
23. april 2002 - 16:14 #14
'AS hits' gør netop at count(*) får navnet 'hits' - har du prøvet koden?
Avatar billede ziz Nybegynder
23. april 2002 - 22:16 #15
okay prøver..
Avatar billede ziz Nybegynder
23. april 2002 - 22:19 #16
Warning: Supplied argument is not a valid MySQL result resource in /web/www.skyskraber.dk/www/Chat/reklamer.php on line 4
Avatar billede tipsen Nybegynder
23. april 2002 - 22:22 #17
Du har en tabel som hedder "ting" og kolonner som hedder t_info og t_owner ? - så er det mærkeligt...
Avatar billede ziz Nybegynder
23. april 2002 - 22:43 #18
Nej tabellen hedder: tb_things
Avatar billede tipsen Nybegynder
23. april 2002 - 23:33 #19
OK - jeg er bare gået udfra det du har skrevet i spørgsmålet - så skal du jo selvfølgelig rette det til, så det passer med de navne du bruger nu...
Avatar billede ziz Nybegynder
24. april 2002 - 19:19 #20
<?
include("chat_mysql_con.php");
$con = mysql_query("SELECT COUNT(*) AS hits FROM tb_things WHERE t_info = 'reklame' GROUP BY t_owner ORDER BY hits DESC LIMIT 3");
while ($data = mysql_fetch_row($foresp)) echo $data[0];
?>

Det er da rigtigt nok..
Avatar billede tipsen Nybegynder
24. april 2002 - 21:14 #21
sorry - min fejl...

$con sættes lig resultatsættet - derfor skal du selvfølgelig også bruge $con som inputargument i mysql_fetch_row()!
Avatar billede ziz Nybegynder
24. april 2002 - 23:23 #22
okay..
Avatar billede ziz Nybegynder
24. april 2002 - 23:27 #23
Okay det er rette: Men den skriver 1001012927 den skla godt nok skrive f.eks.:
1. ID1
2. ID2
3. ID3
Avatar billede tipsen Nybegynder
25. april 2002 - 00:06 #24
<?
include("chat_mysql_con.php");
$result= mysql_query("SELECT ID, COUNT(*) AS hits FROM tb_things WHERE t_info = 'reklame' GROUP BY t_owner ORDER BY hits DESC LIMIT 3");
while ($data = mysql_fetch_row($result)) echo $data[0].": ".$data[1]."<br>";
?>
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