Toon posts:

[PHP/MySQL] vrij lastige select?

Pagina: 1
Acties:

Verwijderd

Topicstarter
dit is de query
code:
1
2
3
4
5
6
7
8
9
SELECT uin
    ,van
    ,aan
    ,bericht
    ,tijd
FROM  ".$messages_table."
WHERE (aan='$nummer' OR van='$nummer')
AND    soort='public'
ORDER BY tijd DESC

dan krijg ik alle berichten die van of naar $nummer zijn verstuurd. terwijl ik eigenlijk alleen de laatste 2 moet per andere ontvanger/verzender moet hebben. snappie?

kijk op hier voor een voorbeeld van het resultaat dat ik moet krijgen.

ik heb ook al dit geprobeerd:
code:
1
2
3
4
5
6
7
8
9
10
SELECT uin
    ,van
    ,aan
    ,bericht
    ,tijd
FROM  ".$messages_table."
WHERE  (aan='$nummer' OR van='$nummer')
AND    soort='public'
GROUP BY van
ORDER BY tijd DESC

maar dan klopt er helemaal niets meer van, het lijkt wel of dan de "ORDER BY tijd" niet meer werkt? :s

Verwijderd

Op vrijdag 15 maart 2002 09:53 schreef ludohelder het volgende:
dit is de query
code:
1
SELECT uin,van,aan,bericht,tijd FROM ".$messages_table." WHERE (aan='$nummer' OR van='$nummer') AND soort='public' ORDER BY tijd DESC
code:
1
SELECT uin,van,aan,bericht,tijd FROM ".$messages_table." WHERE (aan='$nummer' OR van='$nummer') AND soort='public' ORDER BY tijd DESC LIMIT 0,2

Moet werken.

Verwijderd

Topicstarter
Op vrijdag 15 maart 2002 09:57 schreef daniel_hoenderdos het volgende:

[..]
code:
1
SELECT uin,van,aan,bericht,tijd FROM ".$messages_table." WHERE (aan='$nummer' OR van='$nummer') AND soort='public' ORDER BY tijd DESC LIMIT 0,2

Moet werken.
neeeeeeeeeeeeeeee,
beter m'n vraag lezen....
als het zo simpel was, dan post ik het hier niet |:(
bekijk ff m'n voorbeeld. (in de post hierboven)

  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Even een format uitgevoerd dat leest wat makkelijker.
Mag jij in het vervolg ook wel voor ons doen hoor.
code:
1
2
3
4
5
6
7
8
9
SELECT uin
    ,van
    ,aan
    ,bericht
    ,tijd
FROM  ".$messages_table."
WHERE (aan='$nummer' OR van='$nummer')
AND    soort='public'
ORDER BY tijd DESC

en de tweede:
code:
1
2
3
4
5
6
7
8
9
10
SELECT uin
    ,van
    ,aan
    ,bericht
    ,tijd
FROM  ".$messages_table."
WHERE  (aan='$nummer' OR van='$nummer')
AND    soort='public'
GROUP BY van
ORDER BY tijd DESC

Hoe bedoel je de laatste 2. Ik snap je statement (de tweede is trouwens fout, group by kan alleen als je op de andere velden in je select een aggregatie functie toepast (dus SUM,COUNT oid)

Verwijderd

Op vrijdag 15 maart 2002 09:58 schreef ludohelder het volgende:
neeeeeeeeeeeeeeee,
beter m'n vraag lezen....
als het zo simpel was, dan post ik het hier niet |:(
bekijk ff m'n voorbeeld. (in de post hierboven)
Op vrijdag 15 maart 2002 09:53 schreef ludohelder het volgende:
terwijl ik eigenlijk alleen de laatste 2 moet per andere ontvanger/verzender moet hebben. snappie?
Je moet de laatste twee per zender/ontvanger hebben? no comprende amigo. Ik heb je voorbeeld bekeken, maar het is me nog steeds niet helemaal duidelijk.
Omschrijf je probleem eens duidelijk.

  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Dit zijn gewoon twee queries met een limit 1
Je hebt eerder iets als een POST-ID nodig als kolom om vraag en antwoord aan elkaar te koppelen. Want wat als ik direct achter elkaar twee berichten post?

Verwijderd

Topicstarter
Op vrijdag 15 maart 2002 10:02 schreef daniel_hoenderdos het volgende:

[..]


[..]

Je moet de laatste twee per zender/ontvanger hebben? no comprende amigo. Ik heb je voorbeeld bekeken, maar het is me nog steeds niet helemaal duidelijk.
Omschrijf je probleem eens duidelijk.
het is best wel moeilijk uit te leggen,

voorbeeld:

ik ($nummer=1) heb een x aantal berichten verstuurd en ontvangen van/naar $id=1234.

ipv dat ik met de bovenstaande query (o.a.) alle berichten ophaal die tussen mij(1) en (1234) zijn uitgewisseld, wil ik alleen de laatste 2 berichten die tussen mij(1) en die andere persoon(1234) zijn uitgewisseld.

dat is opzich niet zo moelijk, maar dan wil ik het van al die mensen die wat naar mij hebben verstuurd, of waar ik wat naar toe heb verstuurd. zodat ik het overzicht krijg zoals te zien is op www.vote4me.nl/?cmd=messages&nummer=1

is het nog te volgen?

Verwijderd

Topicstarter
Op vrijdag 15 maart 2002 10:05 schreef Goodielover het volgende:
Dit zijn gewoon twee queries met een limit 1
Je hebt eerder iets als een POST-ID nodig als kolom om vraag en antwoord aan elkaar te koppelen. Want wat als ik direct achter elkaar twee berichten post?
de berichten hebben ook allemaal een eigen id, namelijk messages.uin
je kan niet direct 2 berichten achter elkaar posten, want dan wijzigd hij automatische je laatste bericht.

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 10:08
Volgens mij is wat jij wilt té ingewikkeld en dus niet mogelijk.
Pagina: 1