Alle resultaten van sql in één variabele
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
else
{
$uitkomst = '';
while($row = mysql_fetch_assoc($res))
{
$uitkomst .= $row['naam'].'<br />';
}
}
}
echo $uitkomst;
?>
else
{
$uitkomst = '';
while($row = mysql_fetch_assoc($res))
{
$uitkomst .= $row['naam'].'<br />';
}
}
}
echo $uitkomst;
?>
Nog een vraagje: ik wil nu kijken in een andere mysql query of het branche_id van een bedrijf voorkomt in $uitkomst.
Dat doe ik door:
Maar dat gaat niet goed...
Iemand een idee wat ik verkeerd doe in bovenstaande code?
Ik denk dat je beter je query kunt herschrijven met een subquery of een left join
SELECT blaat FROM je_tabel WHERE brache_id IN(
SELECT naam FROM je_tabel WHERE branche_id LIKE '%hier je zoekwaarde%')
Op zich bijzonder dat je met LIKE op een id aan de slag wil een id is namelijk 'altijd' een nummer en geen tekst
Ik zal het hieronder wat duidelijker uitleggen wat precies mijn bedoeling is.
Mijn database ziet er als volgt uit:
bedrijf
id
naam
branche_id
plaats_id
overal
branche
id
naam
trefwoorden
Mijn zoeksysteem (een form) ziet er als volgt uit:
Trefwoord: ........
Plaats: .........
Wat ik nu wil doen d.m.v. het zoeksysteem is:
Als er een trefwoord is opgegeven, moet worden gekeken in welke branche dat trefwoord voorkomt, dus welke branche voldoet aan het trefwoord. Vervolgens heb ik dus een aantal branches die aan dat trefwoord voldoen, en die wil ik dus weergeven...
Weet iemand hoe ik dit kan realiseren?
branches.id,
branches.naam,
bedrijf.naam
bedrijf.plaats_id,
bedrijf.overal
WHERE
branches.id = bedrijf.branche_id
AND
branche.trefwoorden LIKE '%zoekterm%'
Overigens kan dit datamodel nooit goed zijn er hadden iig 2 koppeltabellen aanwezig moeten zijn. Een bedrijf kan acftief zijn in meerdere branches en een branches kan meerdere trefwoorden hebben. Een bedrijf kan zelfs in meerdere plaatsen zitten.
Ga dus eerst normaliseren
Of een branche_id ín $uitkomst voorkomt? Kun je niet met SQL doen volgens mij. Overigens zitten in $uitkomst alleen maar strings en <br />'tjes, geen ids?
in de tabel bedrijf is dus een rij met de naam branche. Daarin staat de branche aangegeven waarin het bedrijf zich bevind.
Ik wil dus kijken of branche LIKE $uitkomst
Is dat mogelijk?
branche_id LIKE ".mysql_real_escape_string($uitkomst)."
Dit werkt helaas niet en dit:
WHERE
branche_id LIKE '%".mysql_real_escape_string($uitkomst)."%'
ook niet... komt dat doordat $uitkomst een query is? En hoe/of kan ik dit voorkomen?
Gelieve Niet Bumpen::
Gewijzigd op 01/01/1970 01:00:00 door Anne