Hallo,
Ik ben al een tijdje met mijn eigen webshop bezig.
Nu is het moment daar dat ik de bestelling uit wil lezen vanuit de database, jammergenoeg zit ik hier met een klein probleempje. Namelijk hoe ik dat moet doen.
De bestelling word zo in de database gezet:
1-=23&3-=6&2-=1
even ontleden:
1-=23
de 1 is het product id, en 23 het aantal.
-=is de scheiding tussen product id en het aantal.
Het & teken is een scheiding tussen de verschillende producten.
Het probleem is nu hoe ik dat uit de database moet halen met explode enz.
Ik heb al verschillende dingen geprobeerd maar het lukt dus niet.
Ik zou dus willen dat hij het zo uit de database haalt:
Product id: 1 Aantal: 23
Product id: 3 Aantal: 6
Product id: 2 Aantal: 2
Als iemand mij hier mee zou willen helpen heel graag!
Alvast bedankt,
Richard Verkerk
- [php] Producten uitlezen
-
26-07-2006, 12:40 #1
- Berichten
- 64
- Lid sinds
- 19 Jaar
[php] Producten uitlezen
-
-
26-07-2006, 12:44 #2
- Berichten
- 765
- Lid sinds
- 19 Jaar
Waarom zo ingewikkeld doen? Haal je het uit een tekstfile ofzo? Als je het echt uit een database haalt waarom werk je gewoon dan niet met een tabel met verschillende kolommen?
-
26-07-2006, 12:48 #3
- Berichten
- 64
- Lid sinds
- 19 Jaar
Origineel gepost door Ewald Vanderveken
Waarom zo ingewikkeld doen? Haal je het uit een tekstfile ofzo? Als je het echt uit een database haalt waarom werk je gewoon dan niet met een tabel met verschillende kolommen?
Mij lijkt het dat het hetzelfde is als de sessie ontleden, aangezien in de sessie hetzelfde staat als wat ik zo uit de database haalt. Maar jammergenoeg lukt het mij niet om het goed uit de db te halen, terwijl het wel goed uit de sessie komt.
-
26-07-2006, 12:52 #4
- Berichten
- 292
- Lid sinds
- 19 Jaar
Inderdaad, wat voor database gebruik je? Waarschijnlijk ben ik het eens met Ewald.
Moest je echt op deze manier willen werken (een tekstfile misschien ofzo..?) zou ik kijken naar serialize() en dan een array maken. Even stukje code:
Code:$aProducts = array( 1 => 23, 2 => 2, 3=> 6 ); file_put_contents( 'file.txt', serialize( $aProducts ) );
Maar nogmaals, wat voor database gebruik je dat je hier aan vast zit?
Inmiddels een nieuw bericht van jou zie ik, dus zal ook even een toevoeging maken.
Zoek eens naar normalisatie, want dit is natuurlijk geen manier van data opslaan in een relationele database.Laatst aangepast door Martijn Engler : 26-07-2006 om 12:54
-
26-07-2006, 12:54 #5
- Berichten
- 64
- Lid sinds
- 19 Jaar
Origineel gepost door Martijn Engler
Inderdaad, wat voor database gebruik je? Waarschijnlijk ben ik het eens met Ewald.
Moest je echt op deze manier willen werken (een tekstfile misschien ofzo..?) zou ik kijken naar serialize() en dan een array maken. Even stukje code:
Code:$aProducts = array( 1 => 23, 2 => 2, 3=> 6 ); file_put_contents( 'file.txt', serialize( $aProducts ) );
Maar nogmaals, wat voor database gebruik je dat je hier aan vast zit?
$explode = explode("&",$show['producten']);
$product = explode("-=", $explode[0]);
$productid = $product[0];
$aantal = $product[1];
editje:
Over dat normalisatie ofzo,
Mijn idee komt hier vandaan dus...:
http://www.phpfreakz.nl/artikelen.php?aid=11Laatst aangepast door Richard Verkerk : 26-07-2006 om 13:03
-
26-07-2006, 14:34 #6
- Berichten
- 173
- Lid sinds
- 19 Jaar
PHP Code:$aProducten = explode('&', '1-=23&3-=6&2-=1');
foreach($aProducten as $sSplit) {
list($iProduct, $iAantal) = explode('-=', $sSplit);
print 'Product id: ' .$iProduct. ' Aantal: ' .$iAantal . '<br />';
}
-
26-07-2006, 14:36 #7
- Berichten
- 64
- Lid sinds
- 19 Jaar
Origineel gepost door Bas van Dorst
PHP Code:$aProducten = explode('&', '1-=23&3-=6&2-=1');
foreach($aProducten as $sSplit) {
list($iProduct, $iAantal) = explode('-=', $sSplit);
print 'Product id: ' .$iProduct. ' Aantal: ' .$iAantal . '<br />';
}
-
26-07-2006, 14:42 #8
- Berichten
- 292
- Lid sinds
- 19 Jaar
Origineel gepost door Richard Verkerk
Het staat in een MySQL database.
$explode = explode("&",$show['producten']);
$product = explode("-=", $explode[0]);
$productid = $product[0];
$aantal = $product[1];
editje:
Over dat normalisatie ofzo,
Mijn idee komt hier vandaan dus...:
http://www.phpfreakz.nl/artikelen.php?aid=11
Zeker als je straks wat meer info nodig gaat hebben (de 5 meest verkochte producten op de homepage zetten bijvoorbeeld) zul je blij zijn als je je databasedesign behoorlijk aangepakt hebt.
Verder blijf ik er bij, dat als je het dan toch zo wilt doen, je het best een array kunt nemen en serializen.
Even nog een persoonlijke noot: voor zover ik Vincent Driessen ken (en dat is niet echt erg goed) vind ik hem sowieso niks - op technisch vlak dan in ieder geval. Misschien is het een aardige kerel, maar wat ik tot nu toe heb gelezen aan artikelen op PFZ door hem....
-
26-07-2006, 14:57 #9
- Berichten
- 625
- Lid sinds
- 19 Jaar
Ik zou de database ongeveer zo aanpakken, want hiermee loop je vroeg of laat vast:
klanten
klant_id
naam
voornaam
adres
...
producten
product_id
naam
omschrijving
prijs
...
bestellingen
bestelling_id
klant_id
datum
opmerking
...
bestellingen_producten
bestelling_id
product_id
aantal
prijs
...
-
07-08-2006, 09:32 #10
- Berichten
- 64
- Lid sinds
- 19 Jaar
Origineel gepost door Martijn Engler
heel verhaal.
Sorry dat ik wat eigenwijs ben, maar ik zie nu in dat het handiger is hoe jullie zeggen.
Bedankt,
Richard Verkerk
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