mysql query
Mysql Tabel tblWoonpakketInstellingen:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
id setting value0 value1
1 LeeftijdHoofdkostwinner Maak hier uw keuze 0
2 LeeftijdHoofdkostwinner 30 jaar en jonger 3
3 LeeftijdHoofdkostwinner 31 t/m 40 jaar 5
4 LeeftijdHoofdkostwinner 41 t/m 45 jaar 11
5 LeeftijdHoofdkostwinner 46 t/m 50 jaar 16
6 LeeftijdHoofdkostwinner 51 t/m 60 jaar 23
7 LeeftijdHoofdkostwinner 61 t/m 70 jaar 20
8 LeeftijdHoofdkostwinner 71 jaar en ouder 18
1 LeeftijdHoofdkostwinner Maak hier uw keuze 0
2 LeeftijdHoofdkostwinner 30 jaar en jonger 3
3 LeeftijdHoofdkostwinner 31 t/m 40 jaar 5
4 LeeftijdHoofdkostwinner 41 t/m 45 jaar 11
5 LeeftijdHoofdkostwinner 46 t/m 50 jaar 16
6 LeeftijdHoofdkostwinner 51 t/m 60 jaar 23
7 LeeftijdHoofdkostwinner 61 t/m 70 jaar 20
8 LeeftijdHoofdkostwinner 71 jaar en ouder 18
Code die ik gebruik om de select te vullen met de data uit de tabel(verkregen via phphulp):
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
//arrays voor Leeftijd Hoofdkostwinner, laden uit database
mysql_connect($host,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query = '';
$result = mysql_query($query) or die(mysql_error());
mysql_close();
$arrLeeftijdHoofdkostwinner[] = "Maak hier uw keuze";
while($row = mysql_fetch_assoc($result)){
$arrLeeftijdHoofdkostwinner[] = $row['value0'];
}//einde while
?>
//arrays voor Leeftijd Hoofdkostwinner, laden uit database
mysql_connect($host,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query = '';
$result = mysql_query($query) or die(mysql_error());
mysql_close();
$arrLeeftijdHoofdkostwinner[] = "Maak hier uw keuze";
while($row = mysql_fetch_assoc($result)){
$arrLeeftijdHoofdkostwinner[] = $row['value0'];
}//einde while
?>
alle php code werkt alleen ik kom even niet uit de sql query
de query die ik wil draaien is haal alles op waar in setting LeeftijdHoofdkostwinner staat.
ik selecteer daar vervolgens in me php code value0 om de select te vullen
ik had zelf dit gemaakt:
zijn er trouwens goede tools om die querys makkelijk te kunnen maken voor osx??
ik heb al mysql query browser geprobeerd maar die kan niet verbinden met me mysql ivm een socket probleem
alvast bedankt!
Gewijzigd op 01/01/1970 01:00:00 door OMEGA_ReD
Verder is je datamodel niet helemaal correct en zul je nog verder moeten normaliseren. In de kolom setting sla je nu namelijk meerdere malen de string 'LeeftijdHoofdkostwinner' op. Je zou eigenlijk een aparte tabel voor de verschillende settings moeten gebruiken...
Tevens zeggen de kolomnamen value0 en value1 helemaal niets over de inhoud van die kolom. Slechte namen dus.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
//arrays voor Leeftijd Hoofdkostwinner, laden uit database
mysql_connect($host,$username,$password) or die( "Unable to connect");
mysql_select_db($database) or die( "Unable to select database");
$query = "SELECT * FROM tblWoonpakketInstellingen WHERE 1=1 ORDER BY id";
$result = mysql_query($query) or die(mysql_error());
echo '<select name="LeeftijdHoofdkostwinner">';
while($row = mysql_fetch_assoc($result)){
echo '<option value="' . $row['value1'] . '">' . $row['value0'] . '</option>';
}//einde while
echo '</select>';
?>
//arrays voor Leeftijd Hoofdkostwinner, laden uit database
mysql_connect($host,$username,$password) or die( "Unable to connect");
mysql_select_db($database) or die( "Unable to select database");
$query = "SELECT * FROM tblWoonpakketInstellingen WHERE 1=1 ORDER BY id";
$result = mysql_query($query) or die(mysql_error());
echo '<select name="LeeftijdHoofdkostwinner">';
while($row = mysql_fetch_assoc($result)){
echo '<option value="' . $row['value1'] . '">' . $row['value0'] . '</option>';
}//einde while
echo '</select>';
?>
Blanche schreef op 29.10.2007 14:26:
Een string hoort natuurlijk wel tussen quotes...
Verder is je datamodel niet helemaal correct en zul je nog verder moeten normaliseren. In de kolom setting sla je nu namelijk meerdere malen de string 'LeeftijdHoofdkostwinner' op. Je zou eigenlijk een aparte tabel voor de verschillende settings moeten gebruiken...
Tevens zeggen de kolomnamen value0 en value1 helemaal niets over de inhoud van die kolom. Slechte namen dus.
Verder is je datamodel niet helemaal correct en zul je nog verder moeten normaliseren. In de kolom setting sla je nu namelijk meerdere malen de string 'LeeftijdHoofdkostwinner' op. Je zou eigenlijk een aparte tabel voor de verschillende settings moeten gebruiken...
Tevens zeggen de kolomnamen value0 en value1 helemaal niets over de inhoud van die kolom. Slechte namen dus.
hi Blanche
bedankt voor je reply.
je hebt gelijk over me tabel.
maar hoe kan je anders een settings tabel maken?
ik wil er ook nog andere settings in zetten. en eventueel settings die nog niet bekend zijn
Ik vond deze manier wel heel flexibel.
thx
Gewijzigd op 01/01/1970 01:00:00 door OMEGA_ReD
settings
----------
id
setting
tblWoonpakketInstellingen
---------------------------
id
setting_id
...
Het setting_id verwijst naar het id uit de settings tabel. Vervolgens kun je met een join de benodigde gegevens ophalen. Je query zou er dan bijvoorbeeld zo uit zien:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
SELECT w.*, s.setting
FROM
tblWoonpakketInstellingen AS w,
settings AS s
WHERE
w.setting_id = s.id
AND
s.setting = 'LeeftijdHoofdkostwinner'
FROM
tblWoonpakketInstellingen AS w,
settings AS s
WHERE
w.setting_id = s.id
AND
s.setting = 'LeeftijdHoofdkostwinner'
ps. @SanThe: 'WHERE 1=1'. Grapje?
Blanche schreef op 29.10.2007 14:39:
@SanThe: 'WHERE 1=1'. Grapje?
Nee, simpele manier om alles te pakken.
SanThe schreef op 29.10.2007 14:43:
Ehm, WHERE clausule weglaten lijkt me iets logischer in dat geval?Nee, simpele manier om alles te pakken.
@Blanche: Klopt, maar ik weet eigenlijk niet of je WHERE weg kan laten terwijl je ORDER BY gebruikt. Vandaar.
SanThe schreef op 29.10.2007 14:48:
Niets is verplicht, behalve "SELECT iets FROM tabel". Verder ook geen afhankelijkheden, behalve HAVING en GROUP BY voor zover ik nu kan bedenken.@Blanche: Klopt, maar ik weet eigenlijk niet of je WHERE weg kan laten terwijl je ORDER BY gebruikt. Vandaar.
Gewijzigd op 01/01/1970 01:00:00 door PHP erik
PHPerik schreef op 29.10.2007 14:49:
Zelfs dat niet, SELECT 1 werkt ook prima.SanThe schreef op 29.10.2007 14:48:
Niets is verplicht, behalve "SELECT iets FROM tabel". Verder ook geen afhankelijkheden, behalve HAVING en GROUP BY voor zover ik nu kan bedenken.@Blanche: Klopt, maar ik weet eigenlijk niet of je WHERE weg kan laten terwijl je ORDER BY gebruikt. Vandaar.
stom van die haakjes :P
Blanche ik zie dat jij ook een mac gebruikt, klopt dat?
weet jij een goede query/db tool voor het ontwerpen van queries en databases?
thx
pgFrank schreef op 29.10.2007 14:50:
Ja oké maar dat is niet nuttig.PHPerik schreef op 29.10.2007 14:49:
Zelfs dat niet, SELECT 1 werkt ook prima.SanThe schreef op 29.10.2007 14:48:
Niets is verplicht, behalve "SELECT iets FROM tabel". Verder ook geen afhankelijkheden, behalve HAVING en GROUP BY voor zover ik nu kan bedenken.@Blanche: Klopt, maar ik weet eigenlijk niet of je WHERE weg kan laten terwijl je ORDER BY gebruikt. Vandaar.
Zie hier voor de SELECT syntax en alle mogelijke onderdelen ervan. De gedeelten tussen [] zijn uiteraard optioneel...
edit:
Quote:
Ik gebruik geen tools voor het ontwerpen van databases of queries, dat doe ik gewoon met de hand. Kwestie van leren normaliseren en schrijven van SQL.weet jij een goede query/db tool voor het ontwerpen van queries en databases?
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Quote:
Ik gebruik ook geen tools, maar veel professionals doen dat wel. Dus bij deze even de kanttekening dat een tool gebruiken geen overbodige luxe is. Ik zou zelf alleen geen goede tools weten, ben het vergeten.Ik gebruik geen tools voor het ontwerpen van databases of queries, dat doe ik gewoon met de hand. Kwestie van leren normaliseren en schrijven van SQL.
PHPerik schreef op 29.10.2007 14:59:
Klopt, maar ook bij het gebruik van tools voor het ontwerpen van databases en queries zul je de benodigde kennis wel moeten bezitten.Ik gebruik ook geen tools, maar veel professionals doen dat wel. Dus bij deze even de kanttekening dat een tool gebruiken geen overbodige luxe is. Ik zou zelf alleen geen goede tools weten, ben het vergeten.
Bij het ontwerpen van een database zul je ook bij het gebruik van een tool bijvoorbeeld precies moeten weten hoe de relaties in jouw datamodel liggen. Dat kan geen enkele tool voor jou bepalen.
Het klopt wel dat als je je datamodel eenmaal hebt, dit soort tools het schrijven van queries vergemakkelijkt. Maar ook dit neemt niet weg dat je de SQL kennis gewoon in huis moet hebben...
Azzurri Clay - Database Modeling in Eclipse (gratis)
SQL Manager (MySQL, Windows, Lite is gratis)
SQL Manager (PostgreSQL, Windows, Lite is gratis)
pgAdminIII (diverse platformen, gratis)
Gewijzigd op 01/01/1970 01:00:00 door Frank -