login  Naam:   Wachtwoord: 
Registreer je!
 Forum

basis webshop / cataloogje (Opgelost)

Offline stedem - 02/06/2008 22:28 (laatste wijziging 03/06/2008 10:13)
Avatar van stedemNieuw lid He allemaal,

Ik ben bezig met een online product cataloogje. Normaal als ik probleempje heb zoek ik goed rond of post een berichtje op kirupa maar deze keer kunnen ze mij daar ook niet echt helpen en daarom steek ik even hier m'n licht op.

--- oorspronkelijke engelse tekst ---

17 antwoorden

Gesponsorde links
Offline Ibrahim - 03/06/2008 07:53
Avatar van Ibrahim PHP expert Riskeer maar de risico om alles te vertalen, sommige mensen kunnen niet zo goed engels. En met jou gebrekkige engels versta ik het niet eens.
Offline stedem - 03/06/2008 10:26 (laatste wijziging 03/06/2008 20:47)
Avatar van stedem Nieuw lid Ik heb een basis webshop - productcataloogje. Is eigenlijk geen webshop maar meer een online cataloogje.

Alles loopt vrij goed maar heb slechts 1 probleem. Ik kan alles aanroepen en weergeven maar enkel het "groeperen" van de groepen lukt niet echt.

De database "products" heeft een table "articles".

* id (0001)
* maingroup (phones, accessoires, gadgets)
* group (mobilephones, phones, wired phones)
* subgroup (smartphone, pocketphone)
* brand (nokia, lg, samsung)
* type (E50, E65)

Ik heb een index pagina. Op deze pagina heb ik 3 tal hardgecodeerde links naar de de maingroups (phones, accessoires and gadgets).
Wanneer ik klik op de link "phones" zou ik graag de onderliggende groepen zien

* mobilephones
* phones
* wired phones

Wanneer ik klik op "mobilphones" zou ik dan de subgroep willen zien

* smartphone
* pocketphone

Wanneer ik dan uiteindelijk op "smartphone" klik zie ik mijn grid met thumbnails.

Misschien even kort de pagina's weergeven. Eerst heb ik mijn homepage.php met 3 maingroups (phones,accessories,gadgets). Dit is een hardgecodeerde pagina maar dit zou ik automatisch willen laten weergeven.

  1. <a href="maingroup.php?detail=phones">Phone</a><br>
  2. <a href="maingroup.php?detail=Accessories">Accessories</a><br>
  3. <a href="maingroup.php?detail=Gadgets">Gadgets</a>


Wanneer de persoon klikt op "Phones" (maingroup.php?detail=phones) komt hij op een hardgecodeerde pagina (maingroup.php) met links. Dit is een hardgecodeerde pagina maar dit zou ik automatisch willen laten weergeven.
  1. <a href="group.php?detail=mobile">mobile</a><br>
  2. <a href="group.php?detail=fixed">fixed</a><br>


Wanneer de persoon klikt op "mobile" (subgroup.php?detail=mobile) komt hij op een hardgecodeerde pagina (subgroup.php) met links. Dit is een hardgecodeerde pagina maar dit zou ik automatisch willen laten weergeven.

  1. <a href="subgroup.php?detail=Slidephone">Slidephone</a><br>
  2. <a href="subgroup.php?detail=Candybar">Candybar</a><br>


Wanner de persoon klikt op "Slidephone" gaat hij naar subgroup.php?detail=Slidephone. Op deze pagina komt hij op een thumbnailpagina en daarna natuurlijk kunnen ze doorklikken naar het product zelf. Dit werkt allemaal perfect. Enkel het weergeven van groupen en subgroepen lukt me niet echt.

Iemand zei me als tip om iets te gebruiken met SELECT DISTINCT maar dat komt me totaal onbekend voor.

Psycho schreef:
Code tags !!
Offline Berten - 03/06/2008 11:02
Avatar van Berten PHP beginner kijk dan eens wat die SELECT DISTINCT doet

  1. SELECT DISTINCT maingroup FROM articles


geeft alle maingroupen weer

  1. SELECT DISTINCT subgroup FROM articles WHERE maingroup='phones'


geeft je alle subgroupen van phones

etc


verder raad ik je aan, om een aparte tabel groupen te maken
id,child_of,name

waar id = group id
child_of = de group waarvan deze group een child is
name = naam van de group

bijv

record: 1,NULL,phones
record: 2,1,mobile phones
record: 3,1,fixed phones

=> in je articles gewoon verwijzen naar één van de group id's
Offline stedem - 03/06/2008 16:36
Avatar van stedem Nieuw lid Thanks Berten,

Hoe kan ik dan m'n resultaten onder elkaar echo'en?

Misschien nog een ultra domme vraag maar wat bedoel je met die extra tabellen? Daar volg ik je niet helemaal.

Alvast bedankt voor je hulp
Offline Seawolf1979 - 03/06/2008 17:13 (laatste wijziging 03/06/2008 18:41)
Avatar van Seawolf1979 Nieuw lid Stedem waarom gebruit je geen Open Source webwinkel? Deze vind je gratis online en er zijn eer goeie bij. Kijk eens op http://www.oscommerce.nl/
Deze gebruik ik ook, en ik ben er meer dan tevereden over.
Offline stedem - 03/06/2008 17:44 (laatste wijziging 03/06/2008 17:46)
Avatar van stedem Nieuw lid Hi Seawolf,

Probleem is dat het helemaal geen webwinkel is maar gewoon een soort van productcataloogje. Er is op geen enkel mogelijk wijze nood aan een "shop" module ofzo waar mensen kunnen kopen.

Deze cataloog draait nu zeer vlot maar de "groepen" pagina's zijn nu gewoon hardcoded en dat is het enige wat ik wil wijzigen om updatebaarheid te verbeteren.

Verder draait dit gewoon fantastisch dus waarom omschakelen maar zeker en vast bedankt voor de tip 
Offline Joost - 03/06/2008 18:06
Avatar van Joost PHP expert
Seawolf1979 schreef:
Stedem waarom gebruit je geen Open Source webwinkel? Deze vind je gratis online en er zijn eer goeie bij. Kijk eens op [..code..]
Deze gebruik ik ook, en ik ben er meer dan tevereden over.


Wat zou dan nog de reden zijn om zoiets te maken?
Alleen om het op internet te zetten.
Zeg nou zelf, wat is er tegenwoordig niet te vinden op internet...
Offline stedem - 03/06/2008 20:24
Avatar van stedem Nieuw lid De discussie over al dan niet oscommerce is beetje offtopic 
Kan iemand eventueel enkele tips geven om me verder op weg te helpen  
Offline memar - 04/06/2008 02:34 (laatste wijziging 04/06/2008 02:43)
Avatar van memar Nieuw lid gebruik ipv namen van de subgroepen ID nummers. Dat maakt het simpeler om ze aan te roepen.
Bvb: als je 2.1.3 oproept krijg je
maingroep 2,
groep 1,
subgroep 3.

Om de groepen achterna te openen wanneer bvb 2.1.3 word gevraagd kan je de explode functie gebruiken.

  1. $aanroep = 2.1.3;
  2. $groups = explode(".", $aanroep);


Dan hoef je gwn met MySQL de groepen te lezen volgens hun ID nummer.
Offline stedem - 04/06/2008 13:44
Avatar van stedem Nieuw lid
Berten schreef:
kijk dan eens wat die SELECT DISTINCT doet

[..code..]

geeft alle maingroupen weer

[..code..]

geeft je alle subgroupen van phones

etc


verder raad ik je aan, om een aparte tabel groupen te maken
id,child_of,name

waar id = group id
child_of = de group waarvan deze group een child is
name = naam van de group

bijv

record: 1,NULL,phones
record: 2,1,mobile phones
record: 3,1,fixed phones

=> in je articles gewoon verwijzen naar één van de group id's



Hi Berten,

Kan je me eventueel tonen hoe te echo'en?

Thanks!
Offline memar - 05/06/2008 02:46
Avatar van memar Nieuw lid Om te echo'en:

Op het begin van je pagina de connect en select_db.
En deze code:
  1. $maingroup = mysql_query("SELECT DISTINCT maingroup FROM articles");
  2. while ($obj = mysql_fetch_object($maingroup)) {
  3. echo $obj->Voornaam." ";
  4. echo $obj->Achternaam."<br />";
  5. }
  6. mysql_free_result($maingroup);
Offline stedem - 05/06/2008 09:17 (laatste wijziging 05/06/2008 09:20)
Avatar van stedem Nieuw lid Hmzz, op deze manier doet m'n script niet veel

  1. <?php
  2. $dbserver = "localhost";
  3. $user = "********";
  4. $passwd = "******";
  5. $dbnaam = "**********";
  6. $link = mysql_connect($dbserver, $user, $passwd) or die("No connection");
  7. $db = mysql_select_db($dbnaam,$link) or die("No connection");
  8.  
  9. $maingroup = mysql_query("SELECT DISTINCT maingroup FROM products");
  10. while ($obj = mysql_fetch_object($maingroup)) {
  11. echo $obj->group." ";
  12. echo $obj->subgroup."<br />";
  13. }
  14. mysql_free_result($maingroup);
  15. mysql_close($link) or die("Can't close");
  16.  
  17. ?>
Offline marten - 05/06/2008 09:18 (laatste wijziging 05/06/2008 09:20)
Avatar van marten Beheerder Zet het eens tussen code ubbtags ipv php ubbtags 

edit
Thanks,

maar je roept alleen maingroup op uit de database en je wilt subgroep en groep uitlezen in je while loop dat werkt natuurlijk niet he 

Je moet je query uitbreiden zodat je ook de velden ophaalt die je in de while loop wilt gebruiken.
Offline stedem - 05/06/2008 10:00
Avatar van stedem Nieuw lid
marten schreef:
Zet het eens tussen code ubbtags ipv php ubbtags 

edit
Thanks,

maar je roept alleen maingroup op uit de database en je wilt subgroep en groep uitlezen in je while loop dat werkt natuurlijk niet he 

Je moet je query uitbreiden zodat je ook de velden ophaalt die je in de while loop wilt gebruiken.



Hoe breid ik dat best uit?
Offline Simax - 05/06/2008 10:42
Avatar van Simax Onbekend Probeer dit eens..
  1. mysql_query("SELECT DISTINCT * FROM products");
Offline stedem - 05/06/2008 11:23
Avatar van stedem Nieuw lid
Shiven schreef:
Probeer dit eens..
[..code..]


Ok, nu zie ik al pak meer maar alle waarden zijn dubble, normaal bij distinct zie je toch enkel de unieke waarde? http://www.e-meel.be/test/test.php

  1. <?php
  2. $dbserver = "localhost";
  3. $user = "*****";
  4. $passwd = "*****";
  5. $dbnaam = "e-meel_be_producten";
  6. $link = mysql_connect($dbserver, $user, $passwd) or die("No connection");
  7. $db = mysql_select_db($dbnaam,$link) or die("No connection");
  8. //
  9. $maingroup = mysql_query("SELECT DISTINCT * FROM products");
  10. while ($obj = mysql_fetch_object($maingroup)) {
  11. echo "<a href='onbestaandepagina.php?group=$obj->maingroup'>$obj->maingroup</a><br>";
  12. }
  13. //
  14. mysql_close($link) or die("Can't close");
  15. ?>
Offline Ibrahim - 05/06/2008 21:17
Avatar van Ibrahim PHP expert Waarom doe je DISTINCT eigenlijk ?

Een opmerking over het ophalen van je gegevens. In plaats van *_object zou ik beter gebruik maken van PHP.net: mysql_fetch_assoc
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.229s