sql query geeft niets terug

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stefan van Iwaarden

Stefan van Iwaarden

24/03/2007 22:08:00
Quote Anchor link
ik probeer de aanbiedingen op te halen uit de producten tabel, maar om de een of andere reden wil dit niet lukken.

ik heb de volgende query:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$query2
        = "SELECT naam,bestelnummer FROM producten WHERE aanbieding = 1 AND status = 1";
?>


en de volgende tabel (in dit geval met 1 geschikt record)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE TABLE `producten` (
  `id` int(11) NOT NULL auto_increment,
  `categorieID` int(11) NOT NULL,
  `naam` varchar(255) NOT NULL,
  `beschrijving` text NOT NULL,
  `bestelnummer` varchar(25) NOT NULL,
  `prijs` decimal(10,2) NOT NULL,
  `inkoopprijs` decimal(10,2) NOT NULL,
  `voorraad` int(11) NOT NULL,
  `status` enum('1','0') NOT NULL,
  `rang` int(11) NOT NULL,
  `aanbieding` enum('0','1') NOT NULL,

INSERT INTO `producten` (`id`, `categorieID`, `naam`, `beschrijving`, `bestelnummer`, `prijs`, `inkoopprijs`, `voorraad`, `status`, `rang`, `aanbieding`) VALUES (1, 2, 'Beamer', 'sflksdfkjlfsdklj', '258 014', 249.99, 185.87, 2, '1', 1, '1'),


vreemde is alleen dat de query niets terug geeft. Zodra ik aanbieding = 1 weghaal, werkt het prima.
Gewijzigd op 01/01/1970 01:00:00 door Stefan van Iwaarden
 
PHP hulp

PHP hulp

20/11/2024 14:44:20
 
- SanThe -

- SanThe -

24/03/2007 22:12:00
Quote Anchor link
Dan vind ie blijkbaar geen passende records.

echo mysql_num_rows($result);
 
Stefan van Iwaarden

Stefan van Iwaarden

24/03/2007 22:16:00
Quote Anchor link
die staat op 0, want daar werk ik al mee, zojuist ook nog even geechoëd, maar daar kwam ook 0 uit.

code is als volgt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
$query2
        = "SELECT naam,bestelnummer FROM producten WHERE aanbieding = 1 AND status = 1";
$result2    = mysql_query($query2) or die (mysql_error());
$aantaanb    = mysql_num_rows($result2);

if ($aantaanb > 0)
{

    echo('<table>');
    echo('<tr>');
    while ($row2 = mysql_fetch_array($result2))
    {

        $teller++;
        echo('<td>'.$row2['naam'].'</td>');
                
        if ($teller % 3 == 0)
        {

            echo('</tr><tr>');
        }    
    }

    if ($teller % 3 != 0)
    {

        echo('</tr>');
    }

    echo('</table>');
}

else
{
    echo('Er zijn op dit moment geen aanbiedingen');
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Stefan van Iwaarden
 
- SanThe -

- SanThe -

24/03/2007 22:21:00
Quote Anchor link
SanThe schreef op 24.03.2007 22:12:
Dan vind ie blijkbaar geen passende records.
 
Stefan van Iwaarden

Stefan van Iwaarden

24/03/2007 22:23:00
Quote Anchor link
@Santhe, dat snap ik wel, maar dat is nou juist het stomme, want in de tabel staan 5 records met status 1 en aanbieding 1 (zie de insert query in startpost)
Gewijzigd op 01/01/1970 01:00:00 door Stefan van Iwaarden
 
- SanThe -

- SanThe -

24/03/2007 22:25:00
Quote Anchor link
Haal die backtics eens uit de query en haal de enkele quotes weg bij getallen.
 
Stefan van Iwaarden

Stefan van Iwaarden

24/03/2007 22:27:00
Quote Anchor link
ok, die query is even uit de export functie van phpmyadmin gehaald, maar de gegeven staan reeds in de db.

ik wil alle producten selecteren waar aanbieding 1 en status 1 is.

er zijn 5 records van toepassing, dat weet ik zeker (dat kun je zien aan die insert query in mijn startpost)

zodra ik aanbieding = 1 weghaal gaat het wel goed, daar zit dus ergens iets niet lekker, maar ik zie niet wat.
 
- SanThe -

- SanThe -

24/03/2007 22:31:00
Quote Anchor link
En (misschien een vreemde opmerking) wat gebeurt er als je aanbieding = 1 laat staan maar status = 1 weghaalt?
 
Stefan van Iwaarden

Stefan van Iwaarden

24/03/2007 22:33:00
Quote Anchor link
dan blijft het hetzelfde, geen resultaten. Het zit volgens mij dus echt op de een of andere manier in die aanbieding = 1
 
- SanThe -

- SanThe -

24/03/2007 22:35:00
Quote Anchor link
Vaag. En als je bij de create
`aanbieding` enum('0','1') NOT NULL,
ook eens zo als status doet?
`aanbieding` enum('1','0') NOT NULL,
Dus de 0 en 1 omdraaien?
Ja, ik probeer nu ook maar wat hoor. Maar wie weet.
 
Stefan van Iwaarden

Stefan van Iwaarden

24/03/2007 22:38:00
Quote Anchor link
@Santhe, na het omdraaien werkt het dus inderdaad.

Heel vreemd, wist niet eens dat dat uit kon maken.

Ik had de 0 eigenlijk eerst gezet omdat ik weet dat de eerste waarde als default wordt gezien en mocht het dan een keer vergeten worden in te voegen in de insert query wordt 0 automatisch neergezet. Maar dat gaat nu dus niet meer op.

In ieder geval ontzettend bedankt, want heb me rot lopen zoeken hiernaar.
Gewijzigd op 01/01/1970 01:00:00 door Stefan van Iwaarden
 
- SanThe -

- SanThe -

24/03/2007 22:42:00
Quote Anchor link
Stefan van Iwaarden schreef op 24.03.2007 22:38:
@Santhe, na het omdraaien werkt het dus inderdaad.

Heel vreemd, wist niet eens dat dat uit kon maken.

Ik had de 0 eigenlijk eerst gezet omdat ik weet dat de eerste waarde als default wordt gezien en mocht het dan een keer vergeten worden in te voegen in de insert query wordt 0 automatisch neergezet. Maar dat gaat nu dus niet meer op.

In ieder geval ontzettend bedankt, want heb me rot lopen zoeken hiernaar.

Mooi dat het nu werkt. Zoals ik al zei: Ik probeer ook maar wat. Ik wist ook niet dat het verschil zou maken. Succes verder.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.