Niet om het een of ander, maar waarom heb je in twee verschillende tabellen dezelfde kolommen menu en kleur? Het lijkt mij dat er eerder iets niet klopt aan je datamodel waardoor het nu heel lastig wordt om naar de juiste resultaten te zoeken.
Kortom, zorg eerst dat je met een goed genormaliseerd datamodel aan de slag gaat. Dan wordt het zoeken in deze gegevens waarschijnlijk een stuk eenvoudiger...
De query van Jezpur kan hele bijzonder resultaten opleveren, er zit geen enkel verband in de data. Gevolg: een berg ellende waar je nog steeds niets mee kunt.
Wanneer je een JOIN nodig hebt, maak dan een JOIN. Wanneer je de resultaten van 2 queries wilt samenvoegen tot 1 resultaat, gebruik dan UNION.
En vergeet vooral niet om aliassen te gebruiken. 2x een kolom met de naam "id" levert weer fraaie bugs op in je PHP-code, wat mag $row['id'] voorstellen? id of id?
<?php
$data = mysql_query("
SELECT
tabel1.id,
tabel2.id
FROM
tabel1, tabel2.
WHERE
MATCH(tabel1.subject, tabel1.message, tabel1.kleur, tabel1.menu) AGAINST ('".$find."' IN BOOLEAN MODE)
OR
MATCH (tabel2.menu, tabel2.kleur) AGAINST ('".$find."' IN BOOLEAN MODE)");
while($result = mysql_fetch_assoc($data)) {
echo'
blablabla
';
}
$anymatches=mysql_num_rows($data);
if ($anymatches == 0)
{
?>
heb ik nu maar krijg deze error:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /customers/blabla.nl/blabla.nl/httpd.www/aj/zoeken.php on line 326
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /customers/blabla.nl/blabla.nl/httpd.www/aj/zoeken.php on line 364
Ja, als je even na had gedacht en die foutmelding had gelezen had je geweten dat dat een doodnormale PHP foutmelding is. Geen SQL. Je gebruikt duidelijk geen goede foutafhandeling:
[quote='Jezpur schreef op 25.01.2009 13:39']Ja, als je even na had gedacht en die foutmelding had gelezen had je geweten dat dat een doodnormale PHP foutmelding is. Geen SQL. Je gebruikt duidelijk geen goede foutafhandeling:
if($result) {
if(mysql_num_rows($result) > 0) {
while($rij = mysql_fetch_assoc($result)) {
// doe wat je wilt
}
} else {
echo 'Geen records gevonden.';
}
} else {
echo mysql_error().' in query: '.$query;
}
?>
hmmz... ga ik ook ff wat mee proberen maar het script werkt al als ik 1 tabel doe. dan is de output: Er zijn geen resultaten
dus ik wil wel ff kijken wat ik hiermee kan.
sorry voor het Bumpen[/quote]
Nee je moet niet kijken of je er wat mee kan, je moet er wat mee doen! Je gebruikt nog steeds geen foutafhandeling omdat je PHP errors krijgt, die niets maar dan ook niets met SQL of je query te maken hebben. Ga die foutafhandeling inbouwen en vertel hier wat mysql_error() jou te vertellen had.
<?php
$data = mysql_query("
SELECT
tabel1.id,
tabel2.id
FROM
tabel1, tabel2.
WHERE
MATCH(tabel1.subject, tabel1.message, tabel1.kleur, tabel1.menu) AGAINST ('".$find."' IN BOOLEAN MODE)
OR
MATCH (tabel2.menu, tabel2.kleur) AGAINST ('".$find."' IN BOOLEAN MODE)");
while($result = mysql_fetch_assoc($data)) {
echo'
uitkomst als het in de db is gevonden.
';
}
$anymatches=mysql_num_rows($data);
if ($anymatches == 0)
{
echo '
Er zijn geen resultaten
';
}
?>
is dit niet goed dan?
Zoekresultaten:
u heeft gezocht naar: zwart
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /customers/onsureterp.nl/onsureterp.nl/httpd.www/aj-webdesign/zoeken.php on line 326
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /customers/onsureterp.nl/onsureterp.nl/httpd.www/aj-webdesign/zoeken.php on line 364
Er zijn geen resultaten
maar de kleur zwart bestaat wel.
als ik iets invul wat niet bestaat dan zegt hij hetzelfde als hierboven.
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /customers/onsureterp.nl/onsureterp.nl/httpd.www/aj-webdesign/zoeken.php on line 326
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /customers/onsureterp.nl/onsureterp.nl/httpd.www/aj-webdesign/zoeken.php on line 364
Er zijn geen resultaten
En let dan vooral op de foutmelding:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /customers/onsureterp.nl/onsureterp.nl/httpd.www/aj-webdesign/zoeken.php on line 326
Je doet blijkbaar niets aan foutafhandeling, anders had je nooit deze foutmelding op je scherm gekregen. Er is in de voorgaande regels, bij het uitvoeren van de query, iets goed fout gegaan. Dat controleer je niet en dus gaan er verderop in je code weer andere dingen fout.
Oplossing: foutafhandeling inbouwen. Dat is de basis van je script, deze ontbreekt nog.
Er is nu al n paar keefr aangegeven dat je iets met foutafhandeling moet gaan doen. Er wordt gedoeld op mysql_error of. Zoek even op sql beginnershandleiding daar staat precies in wat j moet doen. Het had je veel tijd gscheeld als je dat meteen gedaan had