25. august 2004 - 21:22Der er
10 kommentarer og 1 løsning
Spring poster over med samme id - MySQL og PHP
Hej Eksperter.
Jeg har et felt ved navn 'contrib' i min tabel, som fungere som reference til en anden tabels ID-nummer. Hvordan kan det ordnes, så kan trække én post ud vha. en While-løkke i PHP, hvis der fx. er 300 poster med tallet '23' i 'contrib' ?
Jo, det lyder faktisk meget sandsynligt at den kan bruges. Kan jeg ikke bruge GROUP BY, WHERE, ORDER BY og LIMIT i samme query ? $query = mysql_query("SELECT `contrib` FROM table GROUP BY `contrib` WHERE `owner` = '".$outputa["id"]."' ORDER BY `id` DESC LIMIT $list_offset, $list_per_page") or die(mysql_error());
Jeg forestillede mig du kunne lave det i et hug på den her måde:
SELECT b.* FROM tabel_1 a LEFT JOIN tabel_2 b ON a.contrib = b.id WHERE a.owner='$outputa[id]' GROUP BY a.contrib ORDER BY a.id DESC LIMIT $list_offset, $list_per_page
Det virker ganske fint, når jeg bare skal udskrive noget. Skal jeg derimod tælle (COUNT), så får jeg et helt forkert resultat. Hvad er galt her ? :
$query35 = mysql_query("SELECT COUNT(`id`) AS contribs FROM table WHERE `owner` = '".$output1["id"]."' GROUP BY `contrib`") or die(mysql_error()); $output35 = mysql_fetch_array($query35);
$posts = $output35["contribs"]; // echo $posts giver tallet 2 - burde blive 9
bliver resultatet antallet af hvert forskelligt contrib
SELECT COUNT(DISTINCT contrib) FROM tabel
giver antallet af forskellige contrib
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.