sql query geeft niets terug
ik heb de volgende query:
Code (php)
1
2
3
2
3
<?php
$query2 = "SELECT naam,bestelnummer FROM producten WHERE aanbieding = 1 AND status = 1";
?>
$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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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'),
`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
echo mysql_num_rows($result);
code is als volgt:
Code (php)
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
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');
}
?>
$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 schreef op 24.03.2007 22:12:
Dan vind ie blijkbaar geen passende records.
Gewijzigd op 01/01/1970 01:00:00 door Stefan van Iwaarden
Haal die backtics eens uit de query en haal de enkele quotes weg bij getallen.
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.
En (misschien een vreemde opmerking) wat gebeurt er als je aanbieding = 1 laat staan maar status = 1 weghaalt?
dan blijft het hetzelfde, geen resultaten. Het zit volgens mij dus echt op de een of andere manier in die aanbieding = 1
`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.
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
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.
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.