[PHP]Geen juiste query output

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
Ik heb 2 tabellen genaamd :
- tijdtabel (minuten)
- tijdstip (tijd_id, user, minuten, datum)

nu staan er in tijdstip 3 records en in tijdtabel de minuten zoals 5, 10, 15 etc.

ik gebruik deze query :
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
    $date = date("Y-m-j");
    $sql = $db -> execute("SELECT b.minuten AS bmin FROM tijdstip AS a, tijdtabel AS b WHERE b.minuten != a.minuten AND datum='$date' ORDER BY b.minuten 

ASC");

        while($row = mysql_fetch_array($sql))
        {
        $tijd = $row['bmin'];
            echo "<option value=\"" . $tijd . "\">" . $tijd . "</option>\n";
        }//end while

?>

De bedoeling is dus dat hij in de <option> de minuten niet weergeeft als hij al in de tabel tijdstip staat. Nu doet ie dit ook wel maar geeft hij in de <option> de minuten 3x aan omdat ik 3 records heb. De minuten die in de tabel tijdstip is opgeslagen geeft ie maar 2x aan, maar eigenlijk is het de bedoeling dat ie de minuten uit tabel tijdtabel 1x weergeeft en de minuten weglaat die al in tabel tijdstip staat. Iemand een idee wat ik hier fout doe??

[ Voor 9% gewijzigd door mpie op 04-10-2005 23:46 ]

Wat je wil is niet altijd wat je nodig hebt!


Acties:
  • 0 Henk 'm!

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 24-08 20:35
Kun je uitleggen wat je precies wilt bereiken, ik snap niet wat je bedoeling is en die query ziet er ook maar vaag uit.

If I can't fix it, it ain't broken.


Acties:
  • 0 Henk 'm!

  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
Er moet een dropdown menu komen met de minuten uit tabel tijdtabel.
Echter mogen de minuten die in tijdstip staan er niet in voor komen.
Ik heb als test 3 records in tijdstip gestopt.
Hij werkt wel maar hij werkt maar half.
Wat ik wil is dus dit. Ik heb in tabel TIJDSTIP de minuten 5, 20 en 25 bijvoorbeeld staan.
De dropdown menu moeten dan de volgende tijden als keuze geven :
10
15
30
35
40
etc. dus zonder die 5, 20 en 25

nu doet ie dit ook wel, alleen krijg ik die minuten 3x te zien in plaats van 1x. En de tijden die eruit gehaald zouden moeten zijn worden 2x weergegeven.

Wat je wil is niet altijd wat je nodig hebt!


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Als je MySQL-versie subqueries ondersteunt:
SQL:
1
2
3
4
5
6
7
SELECT `minuten` AS `bmin`
FROM `tijdtabel`
WHERE `minuten` NOT IN (
  SELECT `minuten`
  FROM `tijdstip`
) AND `datum` = '$date'
ORDER BY `minuten` ASC

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 24-08 20:35
Misschien dat je hier wat aan hebt, ik weet niet of het volledig correct is maar wel in de goede richting denk ik (subqueries werken pas vanaf een bepaalde versie van MySql).

SQL:
1
SELECT minuten FROM tijdtabel WHERE minuten NOT IN (SELECT minuten FROM tijdstip WHERE datum = 'eendatum') ORDER BY minuten;

edit.. NMe was me voor 8)7
edit2.. Maar de datum staat bij -NMe- verkeerd die moet binnen de haken staan :P .

[ Voor 20% gewijzigd door Borizz op 05-10-2005 00:15 ]

If I can't fix it, it ain't broken.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

O-)
edit2.. Maar de datum staat bij -NMe- verkeerd die moet binnen de haken staan :P .
Dat kan ik niet uit de startpost opmaken. Voor het datumveld staat geen a en geen b, dus ik kan er niet aan zien in welke van de twee tabellen hij zit. Mijn oplossing is dus wel goed, of althans net zo goed als de jouwe, totdat de topicstarter uitlegt waar datum een veld van is. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
datum hoort inderdaad bij tijdstip. mijn fout. alleen krijg ik nu helemaal niets meer terug in de dropdown. het zal waarschijnlijk wel aan de versie van mysql liggen. ik gebruik versie 4.0.24

Wat je wil is niet altijd wat je nodig hebt!


Acties:
  • 0 Henk 'm!

  • kmf
  • Registratie: November 2000
  • Niet online

kmf

En als je de query normaal in mysql uitvoert krijg je wel de juiste resultaten eruit?

code:
1
2
3
4
5
6
SELECT b.minuten AS bmin FROM tijdstip AS b
INNER JOIN  tijdtabel a ON (a.minuten != b.minuten)
WHERE datum='$date' 
ORDER BY b.minuten  

ASC


wat zal dit doen?

One thing's certain: the iPad seriously increases toilet time.. tibber uitnodigingscode: bqufpqmp


Acties:
  • 0 Henk 'm!

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 24-08 20:35
-NMe- schreef op woensdag 05 oktober 2005 @ 00:20:
[...]

Dat kan ik niet uit de startpost opmaken. Voor het datumveld staat geen a en geen b, dus ik kan er niet aan zien in welke van de twee tabellen hij zit. Mijn oplossing is dus wel goed, of althans net zo goed als de jouwe, totdat de topicstarter uitlegt waar datum een veld van is. :)
Lees de eerste 3 regels van de startpost eens dan :Y), verder heb je gelijk dat je het niet uit de query kon halen!

If I can't fix it, it ain't broken.


Acties:
  • 0 Henk 'm!

  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
athlonkmf schreef op woensdag 05 oktober 2005 @ 08:25:
En als je de query normaal in mysql uitvoert krijg je wel de juiste resultaten eruit?


wat zal dit doen?
Ook al zitten testen, maar geeft helaas ook geen resultaat.

Wat je wil is niet altijd wat je nodig hebt!


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Borizz schreef op woensdag 05 oktober 2005 @ 10:33:
Lees de eerste 3 regels van de startpost eens dan :Y)
Verrek. B) * NMe koopt een bril en gaat zich in een hoekje staan schamen. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Swaptor
  • Registratie: Mei 2003
  • Laatst online: 17-06 07:31

Swaptor

Java Apprentice

MySQL ondersteunt pas subqueries sinds v4.1.x, dus jouw 4.0.x kan dit simpelweg niet.

Ontdek mij!
Proud NGS member
Stats-mod & forum-dude

Pagina: 1