Ik zit met een vrij diep systeem qua categorisering. Het probleem is nu dat ik bij het QUERY-en in PHP conflicten krijg met het aanroepen van de specifieke AUTO_INCREMENT -ID- van een van de TABLES die in de QUERY worden aangeroepen.
Neem dit voorbeeld:
$query = mysql_query('SELECT * FROM item_db, item_sorts, item_types, item_bonusses, item_bonus_sort, item_bonus_type, player_inventories WHERE char_id = 1');
WHERE char_id is niet een conflict aangezien deze maar 1 keer voorkomt (namelijk zijn/haar inventory).
Maar als ik nu bijv. een specifieke ID van een table wil hebben, hoe roep ik die dan aan? Ik gebruik liever geen anderen ID referentie in elke tabel dan ID. Eerder gebruikte ik bij elke table bijv. inventory_id, user_id, character_id, maar vind het gewoon te storend met al die andere waarden in alle tables..
<?php
$result = mysql_query('
SELECT
a.item_quantity,
a.item_durability_current,
b.name AS b_name,
b.description,
b.image,
b.basevalue,
b.weight,
b.durability,
b.quantity_max,
b.hands,
b.damage_min,
b.damage_max,
c.name AS c_name,
d.name AS d_name
FROM
player_inventories AS a,
item_db AS b,
item_types AS c,
item_sorts AS d
INNER JOIN
player_inventories ON player_inventories.itemdb_id = item_db.id
') or die(mysql_error());
while($row = mysql_fetch_array($result)) {
echo '<tr><td>Item name: '.$row['name'].'</td><td></td></tr>';
echo '<tr><td>Basevalue: '.$row['basevalue'].'</td><td></td></tr>';
echo '<tr><td><br/></td><td></td></tr>';
}
?>
En de volgende test (met de aliasen) geeft:
Not unique table/alias: 'a'
<?php
$result = mysql_query('
SELECT
a.item_quantity,
a.item_durability_current,
b.name AS b_name,
b.description,
b.image,
b.basevalue,
b.weight,
b.durability,
b.quantity_max,
b.hands,
b.damage_min,
b.damage_max,
c.name AS c_name,
d.name AS d_name
FROM
player_inventories AS a,
item_db AS b,
item_types AS c,
item_sorts AS d
INNER JOIN
a ON a.itemdb_id = b.id
') or die(mysql_error());
while($row = mysql_fetch_array($result)) {
echo '<tr><td>Item name: '.$row['name'].'</td><td></td></tr>';
echo '<tr><td>Basevalue: '.$row['basevalue'].'</td><td></td></tr>';
echo '<tr><td><br/></td><td></td></tr>';
}
?>