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:
<?php
$query2		= "SELECT naam,bestelnummer FROM producten WHERE aanbieding = 1 AND status = 1";
?>


en de volgende tabel (in dit geval met 1 geschikt record)
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.
Dan vind ie blijkbaar geen passende records.

echo mysql_num_rows($result);
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:
<?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');
}
?>
SanThe schreef op 24.03.2007 22:12
Dan vind ie blijkbaar geen passende records.
@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)
Haal die backtics eens uit de query en haal de enkele quotes weg bij getallen.
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.
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
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.
@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.

Reageren