Goedenavond,
Op dit moment zit ik al enige tijd te rommelen met joins. Ik heb een bestaande webshop met een bestaand backend systeem en mysql db. Hiervan wil ik het front-end gedeelte zelf gaan bouwen, hiermee denken wij een grotere site usebility te bereiken.
Dit is ook gelijk de reden dat ik weinig tot niks kan veranderen aan de DB structuur. Nu heb ik om het hoofdmenu te generen drie velden nodig.
catalog_category_entity (bepaald de volgorde e.d.)
catalog_category_entity_int (bepaald of een item wel of niet zichtbaar is)
catalog_category_entity_varchar (de menu naam en seo url)
Nu is het zo dat de waarde die ik wil hebben vanuit catalog_category_entity_int en catalog_category_entity_varchar beide in een cel staan varchar
Onderstaande query heb ik geschreven
Nu schrijft de een waarde zichzelf dus over. Kun je misschien op een specifiek manier de database er bij vernoemen bijvoorbeeld.
$row->catalog_category_entity_varchar['value']
$row->['catalog_category_entity_varchar.value']
Of moet ik een van de twee waardes in een aparte query zetten.
Op dit moment zit ik al enige tijd te rommelen met joins. Ik heb een bestaande webshop met een bestaand backend systeem en mysql db. Hiervan wil ik het front-end gedeelte zelf gaan bouwen, hiermee denken wij een grotere site usebility te bereiken.
Dit is ook gelijk de reden dat ik weinig tot niks kan veranderen aan de DB structuur. Nu heb ik om het hoofdmenu te generen drie velden nodig.
catalog_category_entity (bepaald de volgorde e.d.)
catalog_category_entity_int (bepaald of een item wel of niet zichtbaar is)
catalog_category_entity_varchar (de menu naam en seo url)
Nu is het zo dat de waarde die ik wil hebben vanuit catalog_category_entity_int en catalog_category_entity_varchar beide in een cel staan varchar
Onderstaande query heb ik geschreven
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
| $_top_menu=mysql_query("SELECT * FROM catalog_category_entity INNER JOIN catalog_category_entity_int ON catalog_category_entity.entity_id = catalog_category_entity_int.entity_id INNER JOIN catalog_category_entity_varchar ON catalog_category_entity.entity_id = catalog_category_entity_varchar.entity_id WHERE catalog_category_entity_int.attribute_id = '119' AND catalog_category_entity_varchar.attribute_id = '111' AND catalog_category_entity.parent_id = '$parent_id' ORDER BY catalog_category_entity.position")or die(mysql_error()); while($row=mysql_fetch_array($_top_menu)) { print $row['value']. '' . $row['value'] . '<br>'; } |
Nu schrijft de een waarde zichzelf dus over. Kun je misschien op een specifiek manier de database er bij vernoemen bijvoorbeeld.
$row->catalog_category_entity_varchar['value']
$row->['catalog_category_entity_varchar.value']
Of moet ik een van de twee waardes in een aparte query zetten.