stom, idd zo krijg ik geen foutmelding meer... echter pakt hij de WHERE clausule dan niet meer... (het maakt dan geen verschil meer of ik de WHERE er bij zet of niet..quote:Op zaterdag 16 mei 2009 21:16 schreef GlowMouse het volgende:
WHERE komt na JOIN, zie http://dev.mysql.com/doc/refman/5.0/en/select.html
probleem opgelost, had te maken met niet ingevulde waardes in de databasequote:Op zaterdag 16 mei 2009 21:25 schreef GlowMouse het volgende:
Elke rij die je terugkrijgt, voldoet toch echt aan je WHERE.
1 2 3 4 5 6 7 8 9 | $sql = "SELECT kalender.link,kalender.id,kalender.day,kalender.month,kalender.year,kalender.type,kalendertype.id,kalendertype.kleur FROM kalender JOIN kalendertype ON kalendertype.id = kalender.type WHERE (month='$month' AND year='$year') || (month='*' AND year='$year') || (month='$month' AND year='*') || (month='*' AND year='*') ORDER BY kalender.day,kalender.vanafuur,kalender.vanafmin DESC "; ?> |
Volgens mij zou $row['kalender.id'] niets mogen opleveren en moet je $row['id'] gebruiken. Als je een id van twee (of meer) tabellen leest, zul je met aliassen moeten werken.quote:Op zaterdag 16 mei 2009 22:53 schreef BaggerUser het volgende:
Ik haal nu op deze manier de gegevens op:
[ code verwijderd ]
echter als ik nu kalender.id wil opvragen
(echo $row["kalender.id"];) dan komtie altijd terug met kalendertype.id hoe kan dit ?
1 2 3 | $sql = "SELECT kalender.id, kalender.type, kalendertype.id AS typeid, kalendertype.kleur FROM kalender ... "; ?> |
quote:Op zondag 17 mei 2009 00:27 schreef Light het volgende:
[..]
Volgens mij zou $row['kalender.id'] niets mogen opleveren en moet je $row['id'] gebruiken. Als je een id van twee (of meer) tabellen leest, zul je met aliassen moeten werken.
(Incomplete code)
[ code verwijderd ]
Als kalender.type en kalendertype.id gelijk zijn (volgens JOIN ... ON ... ) dan kun je je ook afvragen of je ze beide nodig hebt.
1 2 3 4 5 6 7 8 | $query['domains'][1] = $dbh->prepare("SELECT * FROM domains WHERE (domain = :domainname AND status = 1) LIMIT 1"); $query['domains'][1]->bindParam(':domainname', $domain, PDO::PARAM_STR, 12); $query['domains'][1]->execute(); if ($domain_info = $query['domains'][1]->fetch(PDO::FETCH_ASSOC)){ ?> |
Ik gebruik een aangepaste versie van dbFacile. Erg handige class.quote:Op zondag 17 mei 2009 12:03 schreef Likkende_Lassie het volgende:
Tot nu toe programmeer ik altijd zo dat de queries (mysql_query(), mysql_fetch_assoc()), altijd direct in de code worden meegenomen.
Ik zie wel eens dat mensen hier handgeschreven functies voor hebben, iemand die zin heeft dit te delen?
Ik ga er eens naar kijken, weet jij misschien het probleem van een aantal postst hierboven? Ik kom niet verder zo!quote:Op maandag 18 mei 2009 10:12 schreef Scorpie het volgende:
[..]
Ik gebruik een aangepaste versie van dbFacile. Erg handige class.
Het kan wel middels gebruik van subqueriesquote:Op maandag 18 mei 2009 10:09 schreef Chandler het volgende:
Helaas Likkende_Lassie, ik ben nog niet bekend met PDO
Verder heb ik een vraag, voor een systeem wil ik een vorige / volgende optie inbouwen om naar een vorige / volgende item te kunnen gaan zonder eerst terug naar de categorie te hoeven gaan.
Nu doe ik dit middels 3 queries, 1 voor de huidige, dan 1 voor de vorige en 1 voor de volgende, maar volgens mij moet dit ook mogelijk zijn met 1 óf 2 queries ipv 3?
Weet iemand of dit mogelijk is? google kon mij geen antwoorden verschaffen!
1 2 3 4 5 6 | FROM articles WHERE id IN ( SELECT id FROM articles WHERE id > ? ORDER BY id ASC LIMIT 1)) OR id IN ( SELECT id FROM articles WHERE id < ? ORDER BY id DESC LIMIT 1); |
Post je query eens. Ik vermoed dat je even een "GROUP BY" moet toevoegen.quote:Op maandag 18 mei 2009 16:46 schreef Pizzahut het volgende:...
Volgens mij gaat de query wel goed en is het gewoon een kwestie van op de juiste manier weergeven. Iedere maand maar 1 keer noemen, dus bijhouden welke maand je weergeeft.quote:Op maandag 18 mei 2009 19:09 schreef beerten het volgende:
[..]
Post je query eens. Ik vermoed dat je even een "GROUP BY" moet toevoegen.
Van dat tweede kun je vrij eenvoudig maken wat je hebben wilt, zonder extra queries. Gewoon bijhouden welke maand je weergeeft, en als het bericht uit die maand is dan meld je de maand niet nog een keer. Als het een andere maand is, zet je de maand weer neer.quote:Op maandag 18 mei 2009 20:06 schreef Pizzahut het volgende:
Als ik de GROUP BY gebruik krijg ik dus de 2e.
Ik moet dus 12 query's aanmaken? Een voor elke maand?
Wordt het dan niet ontiegelijk langzaam?
Post je query eens. Dit is gelul in de lucht. Jij denkt dat er geen fout zit, ik vermoed van wel. Je hebt geen codevoorbeeld, niets.quote:Op maandag 18 mei 2009 19:47 schreef Light het volgende:
[..]
Volgens mij gaat de query wel goed en is het gewoon een kwestie van op de juiste manier weergeven. Iedere maand maar 1 keer noemen, dus bijhouden welke maand je weergeeft.
Ik vroeg nietsquote:Op maandag 18 mei 2009 21:34 schreef beerten het volgende:
Daar vraag je om, maar je geeft ons geen enkel handvat.
Laat maar, ik haak af. Ik was bereid je te helpen. Je bent godverdomme te lui om te knippen en te plakken. Dan niet.quote:
Ja, of je leest even terug wie wat heeft gepost.quote:Op maandag 18 mei 2009 21:45 schreef beerten het volgende:
[..]
Laat maar, ik haak af. Ik was bereid je te helpen. Je bent godverdomme te lui om te knippen en te plakken. Dan niet.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |