vergelijken met SQL en PHP
Wellicht kunnen jullie me raad / advies geven hoe ik dit het beste kan aanpakken.
Stel ik heb eeeb databasetabel huizen en in de tabel huizen staat een row soort
nu wil ik soorten met elkaar vergelijken. Stel dat er 4 items in staan dus 4 soorten. Hoe kan ik die het beste laten vergelijken in php ? Ik dacht iets van:
Hoe kan ik het beste verder gaan ?
Alvast bedankt!
Je kunt "ORDER BY soort" in de query gebruiken! ;)
Op basis van wat wil je ze vergelijken?
#id | #soort | #kenmerken | #eindcijfer |
------------------------------------------------
1 | rijtjes | tuin, stad | 9 |
2. | vrijstaand | tuin, stad | 9.7 |
Nu klik ik vb. id 1 en 2 aan in php en nu wil ik dus dat zeg maar
hij gaat kijken van oh huis 1 is een rijtjeshuis en id 2 is een vrijstaandhuis nu is een vrijstaand huis heeft een 9.7 dus deze komt het beste uit de test.
Dus met ORDER BY in de query ? thanks!
groeten,
Kevin
Gewijzigd op 31/10/2010 19:07:27 door Kevin van Leeuwen
Wat je nu precies wilt vergelijken is mij ook nog niet helemaal duidelijk.
Hoezo is vrijstaand het beste?
overzicht.php
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$sql = 'SELECT id, adres FROM huizen';
$resource = mysql_query($sql);
echo '<form method="post" action="vergelijk.php"><br />'.PHP_EOL;
while(false !== ($row = mysql_fetch_assoc($resource)) {
$row['adres'] . '<input type="checkbox" name="item['.$id.']" /><br />'.PHP_EOL;
}
echo '<input type="submit"></form>';
?>
$sql = 'SELECT id, adres FROM huizen';
$resource = mysql_query($sql);
echo '<form method="post" action="vergelijk.php"><br />'.PHP_EOL;
while(false !== ($row = mysql_fetch_assoc($resource)) {
$row['adres'] . '<input type="checkbox" name="item['.$id.']" /><br />'.PHP_EOL;
}
echo '<input type="submit"></form>';
?>
vergelijk.php
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
31
32
33
34
35
36
37
38
39
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
31
32
33
34
35
36
37
38
39
<?php
if(!isset($_POST['item']) || !is_array($_POST['item']) || empty($_POST['item']))
die('Ongeldige invoer');
$items = array();
// Haal de items uit de post array
foreach($_POST['item'] as $id => $val)
$items[] = (int) $id;
if(empty($items))
die('Ongeldige invoer');
$sql = 'SELECT soort, kenmerken, eindcijfer FROM huizen WHERE id IN ('.implode(', ', $items).')';
$resource = mysql_query($sql);
$data = array();
while(false !== ($row = mysql_fetch_row($resource)) {
$data[array_shift($row)] = $row;
}
if(empty($data))
die('Ongeldige invoer');
// Nu leuk weergeven
$velden = array('Soort', 'Kenmerken', 'Eindcijfer');
$numVelden = count($velden);
echo '<table>';
foreach($velden as $veldKey => $veldNaam) {
echo '<tr><td>'.$veldNaam.'</td>';
foreach($data as $id => $value)
echo '<td>'.$value[$veldKey].'</td>';
echo '</td>';
}
echo '</table>';
?>
if(!isset($_POST['item']) || !is_array($_POST['item']) || empty($_POST['item']))
die('Ongeldige invoer');
$items = array();
// Haal de items uit de post array
foreach($_POST['item'] as $id => $val)
$items[] = (int) $id;
if(empty($items))
die('Ongeldige invoer');
$sql = 'SELECT soort, kenmerken, eindcijfer FROM huizen WHERE id IN ('.implode(', ', $items).')';
$resource = mysql_query($sql);
$data = array();
while(false !== ($row = mysql_fetch_row($resource)) {
$data[array_shift($row)] = $row;
}
if(empty($data))
die('Ongeldige invoer');
// Nu leuk weergeven
$velden = array('Soort', 'Kenmerken', 'Eindcijfer');
$numVelden = count($velden);
echo '<table>';
foreach($velden as $veldKey => $veldNaam) {
echo '<tr><td>'.$veldNaam.'</td>';
foreach($data as $id => $value)
echo '<td>'.$value[$veldKey].'</td>';
echo '</td>';
}
echo '</table>';
?>
Vragen stel je maar
Gewijzigd op 31/10/2010 21:01:14 door Pim -