[MySQL] "tabel.kolom" binnen functie

Pagina: 1
Acties:

  • BezurK
  • Registratie: Juni 2001
  • Laatst online: 05-03 19:51
Ik ben bezig met een foto-gallery in PHP. Daarvoor heb ik een comments-tabel gemaakt in MySQL en een users-tabel. Ik SELECT op een gegeven moment gegevens met de volgende clausule:
code:
1
2
3
SELECT comments.comment, UNIX_TIMESTAMP(comments.datum), comments.UserID, users.naam
FROM comments INNER JOIN users ON comments.UserID = users.ID
WHERE comments.FotoID=1 ORDER BY comments.datum

(de 1 bij FotoID=1 wordt door PHP gegenereerd in dit geval)

Jullie zien het al, in de comments-tabel heb ik een TIMESTAMP kolom gemaakt met de naam datum, maar aangezien de date() functie van PHP alleen unix-timestamps slikt gebruik ik de functie UNIX_TIMESTAMP()... (dit had ik via de search al gevonden)
Dit lijkt prima te werken als ik gewoon
code:
1
SELECT UNIX_TIMESTAMP(datum) FROM comments WHERE FotoID=1

doe, maar als ik tabellen ga joinen lijkt het niet meer te werken. Kunnen jullie mij een schopje in de goeie richting geven? Ik ben ten einde raad (search, docs, etc. leveren me niks op)

Rookworst zonder R is ook worst.


  • BrZ
  • Registratie: Maart 2000
  • Laatst online: 27-05 08:35

BrZ

Hoe vraag je binnen PHP die kolom op?

Waarschijnlijk is je probleem opgelost als je bv "UNIX_TIMESTAMP(comments.datum) AS tijd" gebruikt en dan in php "tijd" aanroept.

  • BezurK
  • Registratie: Juni 2001
  • Laatst online: 05-03 19:51
BrZ schreef op 09 januari 2004 @ 20:19:
Hoe vraag je binnen PHP die kolom op?

Waarschijnlijk is je probleem opgelost als je bv "UNIX_TIMESTAMP(comments.datum) AS tijd" gebruikt en dan in php "tijd" aanroept.
Ja, ook dat vond ik best vreemd.... ik gooi via mysql_fetch_assoc() alles in een associative array, maar als ik ze dan bijvoorbeeld aanroep met $row['comments.datum'] dant werkt het niet, ik moet $row['datum'] doen... ???
maar ik ga eens proberen'm te aliasen
edit:

Wow! het werkt!
"UNIX_TIMESTAMP(comments.datum) AS tijd"
is idd de oplossing :D
thx!

[ Voor 28% gewijzigd door BezurK op 09-01-2004 20:24 ]

Rookworst zonder R is ook worst.


  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 27-05 22:15
Je kunt ook gebruik maken van mysql_fetch_array() en dan gebruik maken van de parameter MYSQL_NUM. Dan heeft je resultaten array numerieke indices inplaats van die strings, dan hoef je ook niet zo te prutsen met je queries.

  • BrZ
  • Registratie: Maart 2000
  • Laatst online: 27-05 08:35

BrZ

Sybr_E-N schreef op 09 januari 2004 @ 22:46:
Je kunt ook gebruik maken van mysql_fetch_array() en dan gebruik maken van de parameter MYSQL_NUM. Dan heeft je resultaten array numerieke indices inplaats van die strings, dan hoef je ook niet zo te prutsen met je queries.
Kan inderdaad, maar het is sowieso handiger om velden waar je functies op uitvoert een alias geeft, kan je daar bv. makkelijk op sorteren.

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
Voor datums heeft MySQL het type datetime uitgevonden. Kijk daar eens naar. Die is een stuk handiger, ook m.b.t. het manipuleren van de data..

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info

Pagina: 1