Prob mit DB-Eintrag
Verfasst: 09.02.2004 20:34
Moin,
wahrscheinlich bin ich heute zu blöde...
Folgendes Prob:
Wenn ich nun den Submit-Button anklicke, wird immer das letze Produkt in die DB eingetragen, ich komme nicht auuf den Fehler...
Hier noch das Template:
Bin für jede Hilfe dankbar...
wahrscheinlich bin ich heute zu blöde...
Folgendes Prob:
Code: Alles auswählen
$sql = "SELECT * FROM " . PRODUCTS_TABLE . " WHERE cat_id = " . $viewcat . " ORDER BY prod_price";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query products information', '', __LINE__, __FILE__, $sql);
}
$product_data = array();
while( $row = $db->sql_fetchrow($result) )
{
$product_data[] = $row;
reset($product_data);
}
if ( !($total_products = count($product_data)) )
{
message_die(GENERAL_MESSAGE, "In dieser Kategorie sind keine Speisen vorhanden!");
}
for($j = 0; $j < $total_products; $j++)
{
if ( !empty($product_data) )
{
$product_id = $product_data[$j]['prod_id'];
$product_name = $product_data[$j]['prod_name'];
$product_desc = $product_data[$j]['prod_desc'];
$product_price = $product_data[$j]['prod_price'];
$s_hidden_fields = '<input type="hidden" name="prod_price" value="' . $product_price . '" /><input type="hidden" name="prod_id" value="' . $product_id . '" />';
$template->assign_block_vars('forumrow', array(
'PRODUCT_ID' => $product_id,
'PRODUCT_NAME' => $product_name,
'PRODUCT_DESC' => $product_desc,
'PRODUCT_PRICE' => $product_price . " €",
'S_HIDDEN_FORM_FIELDS' => $s_hidden_fields
)
);
}
}
}
if ( $prod_id )
{
if ( !$userdata['session_logged_in'] )
{
$redirect = POST_CAT_URL . "=" . $viewcat;
redirect(append_sid("login.$phpEx?redirect=card.$phpEx&" . $redirect, true));
}
$sql = "SELECT session_id FROM " . SESSIONS_TABLE . " WHERE session_user_id = " . $userdata['user_id'];
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain session information', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$session_id = $row['session_id'];
$sql = "SELECT MAX(cart_id) AS total FROM " . CART_TABLE;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain next cart_id information', '', __LINE__, __FILE__, $sql);
}
if ( !($row = $db->sql_fetchrow($result)) )
{
message_die(GENERAL_ERROR, 'Could not obtain next cart_id information', '', __LINE__, __FILE__, $sql);
}
$new_id = $row['total'] + 1;
$prod_id = $HTTP_POST_VARS['prod_id'];
$prod_price = $HTTP_POST_VARS['prod_price'];
$sql = "INSERT INTO " . CART_TABLE . " (cart_id, cart_quantity, session_id, user_id, session_ip, prod_id, prod_price) VALUES ('$new_id', '$quantity', '$session_id', '$userdata[user_id]', '$userdata[session_ip]', '$prod_id', '$prod_price')";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not insert data into cart table', '', __LINE__, __FILE__, $sql);
}
}
$template->assign_vars(array(
'L_ITEM' => "Menge",
'L_PRICE' => "Preis",
'L_ADD_TO_CART' => "zum Warenkorb hinzufügen",
'L_ORDER' => "Bestellung abgeben",
'S_ADD_TO_CART' => append_sid("card.$phpEx?c=" . $viewcat),
'U_VIEW_CART' => append_sid("view_cart.$phpEx")
)
);
Hier noch das Template:
Code: Alles auswählen
<form action="{S_ADD_TO_CART}" method="post">
<table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline">
<tr>
<!-- BEGIN catrow -->
<th class="row1" height="25" colspan="2" nowrap="nowrap"> {catrow.CAT_TITLE} </th>
<!-- END catrow -->
</tr>
<tr>
<th class="thCornerL" height="25" width="70%" nowrap="nowrap"> {L_PRODUCT} </th>
<th class="thCornerL" height="25" width="15%" nowrap="nowrap"> {L_ITEM} </th>
<th class="thCornerL" height="25" width="15%" nowrap="nowrap"> {L_PRICE} </th>
</tr>
<!-- BEGIN forumrow -->
<tr>
<td bgcolor="{forumrow.ROW_COLOR}" width="70%" height="50">
<span class="forumlink">
<a href="#">{forumrow.PRODUCT_NAME}</a>
<br />
</span>
<span class="genmed">
{forumrow.PRODUCT_DESC}
<br />
</span>
</td>
<td class="row2" align="center" valign="middle" height="50">
<span class="gensmall">
<input type="text" name="quantity" value="1" size="2" maxlength="2">
</span>
</td>
<td class="row2" align="center" valign="middle" height="50">
<span class="gensmall">
{forumrow.PRODUCT_PRICE}
</span>
</td>
<td class="row1" align="center" valign="middle">
{forumrow.S_HIDDEN_FORM_FIELDS}
<input type="submit" name="submit" class="mainoption" value="{L_ADD_TO_CART}" />
</td>
<!-- END forumrow -->
</table>
</form>