Beste SD-ers,
Voor een klant moet ik een pagina maken waar men auto's kan toevoegen op de website. Nu hebben ze 42 eigenschappen per auto en die zien ze het liefst in checkboxen. oftewel, ze moeten per eigenschap van de auto kunnen aanvinken of dat van toepassing is op de auto of niet.
Nu is mijn vraag, hoe kan ik dit het beste aanpakken? en hoe kan ik dit het beste opslaan in de database?
Hoop dat jullie me een beetje kunnen helpen in de goede richting. PHP en MySQL kennis is voldoende aanwezig.
- 42 checkboxen.
-
19-10-2009, 10:35 #1
- Berichten
- 304
- Lid sinds
- 18 Jaar
42 checkboxen.
Laatst aangepast door Rolf T. : 19-10-2009 om 11:18
-
In de schijnwerper
Colocatie aanbieding! - 1U COLO, 1Gbps UPLINK, 25TB TRAFFIC = €29 p/m !HostingServerFIX| 24/7 server beheer | 24/7 NOC | Urgente storingsopvolging | Netwerk beheerFreelance / WerkHandmatig linkbuilden aangeboden (vanaf 7,50 per link)Freelance / WerkPopi.nl | Linkbuilding Platform| 14.000+ MogelijkhedenLinkpartners -
19-10-2009, 12:09 #2
- Berichten
- 376
- Lid sinds
- 18 Jaar
Ik zou 1 tabel maken met:
rec_id INT 12
auto_id INT 8
eig_id INT 2
Vervolgens een nog een tabel, met van te voren alle 42 mogelijke eigenschappen ingevoerd.
eig_id INT 2
naam VARCHAR 30
Vervolgens kun je de tabellen joinen op eig_id en laat je een record toevoegen als dat van toepassing is voor die auto in de eerste tabel. Zo voorkom je nutteloze informatie in je database (als je bijv. voor elke auto 42 velden maakt, zijn er zat velden waarvan de eigenschap 0 is, dat is zonde om in je database te hebben staan).
En nog uiteraard de tabel voor de auto's met auto_id erin (die join je weer met eerste tabel op auto_id).
Het tonen van alle checkboxen gaat dan ook gemakkelijk met een paar regels code:
PHP Code:echo "<table>";
foreach($data as $key => $value) {
echo "<tr>";
echo "<td>";
$chk = ($value==1) ? 'checked' : '';
echo "<input type='checkbox' name='".$key."' value='1' ".$chk.">";
echo "</td>";
echo "<td>";
echo $key;
echo "</td>";
echo "</tr>";
}
echo "</table>";
Laatst aangepast door Peter W. : 19-10-2009 om 12:16
-
19-10-2009, 12:25 #3
- Berichten
- 605
- Lid sinds
- 19 Jaar
Maar hoe haal je aan de hand van die eigenschappen weer de juiste records uit de database? Stel dat een klant 20 eigenschappen aanvinkt, hoe komt je query er dan uit te zien?
-
19-10-2009, 12:43 #4
- Berichten
- 1.483
- Lid sinds
- 16 Jaar
@ Peter, ik denk dat Rolf wel begrijpt hoe hij een checkbox kan aanvinken aan de hand van gegevens die hij uit zijn database verzameld. Ik denk dat hij zich afvraagd hoe je dit in de database verwerkt.
<input type="checkbox" name="option[]" value="GETAL HIER" />
Om na de $_POST in PHP te kunnen zien welke opties zijn aangevinkt gebruiken we print_r alsvolgt:
PHP Code:<?php
print_r($_POST['option']);
?>
PHP Code:<?php
$ids = implode(',', $_POST['options']);
$sql = "SELECT
*
FROM
`tabel`
WHERE `id` IN(".$ids.")";
?>Laatst aangepast door Arek van Schaijk : 19-10-2009 om 13:38
-
19-10-2009, 13:37 #5
- Berichten
- 605
- Lid sinds
- 19 Jaar
Even voor de duidelijkheid: ik ben niet de TS, dat is Rolf. Maar ik denk dat Rolf hier ook wel wat aan heeft.
-
19-10-2009, 13:39 #6
- Berichten
- 1.483
- Lid sinds
- 16 Jaar
Stom. Ik zie het nu ook, ik heb het aangepast.
-
19-10-2009, 14:01 #7
- Berichten
- 304
- Lid sinds
- 18 Jaar
Bedankt voor alle reacties!
Ik ga er mee aan de slag, heb nu een goed beeld over hoe ik dit het beste kan doen!
dankjewel.
-
19-10-2009, 14:48 #8
- Berichten
- 376
- Lid sinds
- 18 Jaar
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic