Προς το περιεχόμενο

[SOLVED] osCommerce και δημιουργία απλής φόρμας


mgiota

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια σας παιδιά έχω ένα πρόβλημα με μια απλή φόρμα που θέλω να δημιουργήσω στο osCommerce. (τα νεύρα μου)

 

Να περιγράψω λίγο το πρόβλημα. Έχω ένα κουμπί το οποίο λέγεται ταξινόμηση, το οποίο όταν πατηθεί δείχνει μια λίστα με τα πρόσφατα προϊόντα και δίπλα στο καθένα υπάρχει ένα textfield με τον αντίστοιχο αριθμό ταξινόμησης.

Όταν ο χρήστης πληκτρολογεί μια νέα τιμή τότε η νέα αυτή τιμή θα πρέπει να αποθηκεύεται στη βάση.

Πρόκειται για ένα απλό post, και δεν μπορώ να καταλάβω τι κάνω λάθος. Για την ακρίβεια ό,τι τιμή και να βάλω δείχνει 0. Παρακάτω παραθέτω τον κώδικα της σελίδας order.php και της σελίδας order_result.php. Να πω ότι χρησιμοποίησα τις έτοιμες functions του osCommerce.

order.php

 

<?php

 

include('includes/application_top.php');

$order_query = tep_db_query("select p.products_id, p.products_image, p.products_tax_class_id, pd.products_name, p.product_new, p.position, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.product_new='1' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' order by p.position asc limit " . MAX_DISPLAY_NEW_PRODUCTS);

?>

<?php echo tep_draw_form('myform', FILENAME_ORDER_RESULTS, 'post', 'enctype="multipart/form-data"'); ?>

 

<table border="0" width="100%" cellspacing="0" cellpadding="0">

 

<?php

while ($new_products = tep_db_fetch_array($order_query)) {?>

<tr><td class="main"><?php echo $new_products['products_name'];?>

<td> <?php echo tep_draw_input_field('position'.$new_products['products_id'].'', $new_products['position']);?>

</td>

 

</tr>

<?php

}

 

?>

<tr>

<td class="main" align="right"><?php echo tep_image_submit('button_preview.gif', IMAGE_PREVIEW) . '  <a href="' . tep_href_link(FILENAME_ORDER_RESULTS).'"></a>'; ?></td></tr></table>

 

</form>

 

 

order_result.php

 

<?php

include('includes/application_top.php');

 

$order_result_query = tep_db_query("select p.products_id, p.products_image, p.products_tax_class_id, pd.products_name, p.product_new, p.position, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.product_new='1' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' order by p.position asc limit " . MAX_DISPLAY_NEW_PRODUCTS);

 

while ($myrow = tep_db_fetch_array($order_result_query)) {

$idp=$myrow['products_id'];

$state="position$idp";

//echo $state;

$the_position=tep_db_prepare_input($HTTP_POST_VARS['$state']);

echo $the_position;

 

 

 

tep_db_query("update products set position ='".(int)$HTTP_POST_VARS["$state"]."' where products_id = '$idp'");

echo "update products set position = '".(int)$HTTP_POST_VARS["$state"]."' where products_id = '$idp'";

 

}

 

 

if(!$order_result_query){?>

<div class="announcewrong">Η ταξινόμηση δεν ολοκληρώθηκε. Υπήρξε κάποιο πρόβλημα στην επικοινωνία με τη βάση δεδομένων</div><br />

<?php } else {?>

<div class="announceright">Η ταξινόμηση ολοκληρώθηκε με επιτυχία</div><br />

<?php

}

?>

 

 

**Να πω ότι κάθε textfield έχει όνομα p.x. positionXX όπου ΧΧ είναι ο αριθμός του products_id.

 

Μπορεί κάποιος να εντοπίσει το πρόβλημα γιατί πραγματικά δεν καταλαβαίνω τι φταίει. Αυτός ο κώδικας εκτός osCommerce λειτουργεί κανονικά.

Δημοσ.

Το έλυσα τελικά το πρόβλημα. Ξεφορτώθηκα τον κώδικα του osCommerce και χρησιμοποίησα τον standar κώδικα που χρησιμοποιεί κανείς για να συνδεθεί σε μια βάση, να κάνει ένα query , να πάρει την τιμή ενός πεδίου με POST και να το αποθηκεύσει στη βάση.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...