grip_v Δημοσ. 29 Μαΐου 2013 Share Δημοσ. 29 Μαΐου 2013 Καλησπερα σε ολους, κανω μια εργασια σε php και εχω να φτιαξω ενα πινακα ο οποιος σε μια στηλη πρεπει να παρουσιαζει καποια στοιχεια της βασης μου (συγκεκριμενα τα προιοντα "products"), σε αλλη στηλη να εχει ενα textbox οπου θα βαζει ο χρηστης μια τιμη και στο τελος ενα κουμπι οπου θα παιρνει τη τιμη αυτη και θα τη προσθετει στην υπαρχουσα τιμη (συγκεκριμενα στο πινακα μου στη "quantity") που αντιστοιχει στο καθε προϊόν. Με λιγα λογια θα κανει update τη τιμη αυτη.. το εχω δουλεψει λιγακι αλλα εχω το εξης προβλημα..οταν παταω το submit βαζει σε ολα τα προϊόντα το αθροισμα των καταχωρισεων του χρηστη.. παραθετω το κωδικα..Μπορειτε να βοηθησετε?? <?php error_reporting(E_ERROR | E_WARNING | E_PARSE); ?> <!DOCTYPE html> <html> <body> <div id='user' align='center'> <h3>Παρακαλώ συμπληρώστε τη φόρμα νέας προμήθειας</h3> <table border="1"> <tr > <th>ΠΡΟΪΟΝΤΑ</th> <th>ΛΗΦΘΕΙΣΑ ΠΟΣΟΤΗΤΑ</th> </tr> <?php $database = ""; // the name of the database. $server = ""; // server to connect to. $db_user = ""; // mysql username to access the database with. $db_pass = ""; // mysql password to access the database with. $table = "products"; // the table that this script will set up and use. $link = mysql_connect($server, $db_user, $db_pass); mysql_select_db($database,$link); $show= mysql_query("SELECT description FROM products"); while ($rows = mysql_fetch_array($show)){ echo '<tr>'; echo '<th>'.$rows['description'].'</th>'; echo '<td>'; echo '<form action="" method="post">'; echo '<input type="text" name="quantity" size="25">'; echo '</td>'; if(isset($_POST['quantity'])) { $quantity = $_POST["quantity"]; } if($quantity){ $update= "UPDATE products SET quantity=quantity+'$quantity'" or die (mysql_error()); $run=mysql_query($update); } echo '</tr>'; } ?> </table> <input type="submit" name="submit" value="Υποβολή"> </form> </div> </body> </html> ευχαριστώ εκ των προτέρων... Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
dewn735 Δημοσ. 30 Μαΐου 2013 Share Δημοσ. 30 Μαΐου 2013 UPDATE products SET quantity=quantity+'$quantity' WHERE ... Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
lion2486 Δημοσ. 31 Μαΐου 2013 Share Δημοσ. 31 Μαΐου 2013 πρέπει να έχεις στη βάση σου κάποιο κλειδί για να μπορείς να αναφέρεσαι σε μια συγκεκριμένη εγγραφή.. εκτός και αν είναι μοναδικό το description που κάνεις select.. (αν είναι θα γίνει "UPDATE `products` SET `quantity`=quantity+'$quantity' WHERE `description` = '{$rows['description']}';" ) Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
grip_v Δημοσ. 4 Ιουνίου 2013 Μέλος Share Δημοσ. 4 Ιουνίου 2013 ευχαριστω πολυ για τις απαντησεις σας αλλα δυστυχως δεν εφτιαξε ακομα.. αυτο που κανει ειναι οτι προσθετει την τιμη του τελευταιου product με την υπαρχουσα και την καταχωρει σε ολα τα αλλα products..ενω αυτο που πρεπει να κανει ειναι να κανει update καθε τιμη ξεχωριστα..υποθετω οτι το προβλημα πρεπει να ειναι στη while..παραθετω ξανα το κωδικα: <?php error_reporting(E_ERROR | E_WARNING | E_PARSE); ?> <!DOCTYPE html> <html> <h3>Παρακαλώ συμπληρώστε τη φόρμα νέας προμήθειας</h3> <table border="1"> <tr > <th>BARCODE</th> <th>ΠΡΟΪΟΝΤΑ</th> <th>ΛΗΦΘΕΙΣΑ ΠΟΣΟΤΗΤΑ</th> </tr> <?php $database = ""; // the name of the database. $server = ""; // server to connect to. $db_user = ""; // mysql username to access the database with. $db_pass = ""; // mysql password to access the database with. $table = "products"; // the table that this script will set up and use. $link = mysql_connect($server, $db_user, $db_pass); mysql_select_db($database,$link); $show= mysql_query("SELECT barcode, description FROM products"); while ($rows = mysql_fetch_array($show)){ echo '<tr>'; echo '<td>'.$rows['barcode'].'</td>'; echo '<th>'.$rows['description'].'</th>'; echo '<td>'; echo '<form action="" method="post">'; echo '<input type="text" name="quantity" size="25">'; echo '</td>'; if(isset($_POST['quantity'])) { $quantity = $_POST["quantity"]; } if($quantity){ $update= "UPDATE products SET quantity = quantity +'$quantity' WHERE barcode = '{$rows['barcode']}'" or die (mysql_error()); $run=mysql_query($update); } echo '</tr>'; } ?> </table> <input type="submit" name="submit" value="Υποβολή"> </form> </div> </body> </html> Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
nucleus Δημοσ. 4 Ιουνίου 2013 Share Δημοσ. 4 Ιουνίου 2013 Για έλεγξε μια την τιμή των παρακάτω μεταβλητών $update και $rows['barcode'].Μήπως πρέπει στο post να περάσεις και άλλα στοιχεία εκτός από το quantity? Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
grip_v Δημοσ. 4 Ιουνίου 2013 Μέλος Share Δημοσ. 4 Ιουνίου 2013 μα το quantity ειναι αυτο που θελω να κανει βαζει ο χρηστης και να παιρνει σαν εισοδο η php.. η κανω λαθος??? Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
nucleus Δημοσ. 4 Ιουνίου 2013 Share Δημοσ. 4 Ιουνίου 2013 Κοιτα λίγο τον HTML κώδικα της σελίδας σου?πόσα <input type="text" name="quantity" size="25"> δηλαδή textboxes έχεις και με τι όνομα.Επίσης το $rows['barcode'] έχει το σωστό barcode που βρίσκεται στην ίδια γραμμή του "πίνακα" σου με το textbox που έβαλες το καινούριο quantity? Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
dewn735 Δημοσ. 4 Ιουνίου 2013 Share Δημοσ. 4 Ιουνίου 2013 Φίλε grip, έχεις δύο σημαντικά σφάλματα: Ανοίγεις 15 φόρμες, αλλά κλείνεις μόνο τη τελευταία Κάνεις update ΓΙΑ ΚΑΘΕ σειρά του πίνακα. Πρόταση: <?php if (ISSET($_POST['id'])) { $query="UPDATE table SET quantity=quantity+".$_POST['quantity']." WHERE id=".$_POST['id']; $res=mysql_query($query); } ?> <table> <?php while ($rows = mysql_fetch_array($show)) : ?> <tr><td>id</td><td> <form method='post'> <input type='hidden' name='id' value='<?php echo $rows['id'];?>' /> <input type='text' name='quantity' /> <input type='submit'> </form> </td></tr> <?php endwhile;?> </table> 2 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
grip_v Δημοσ. 6 Ιουνίου 2013 Μέλος Share Δημοσ. 6 Ιουνίου 2013 αυτο σε ποιο σημειο πρεπει να μπει? Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
dewn735 Δημοσ. 6 Ιουνίου 2013 Share Δημοσ. 6 Ιουνίου 2013 αυτο σε ποιο σημειο πρεπει να μπει? Νομίζω είναι οφθαλμοφανές το τι αλλαγές πρέπει να κάνεις 1 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Uberalles_gr Δημοσ. 6 Ιουνίου 2013 Share Δημοσ. 6 Ιουνίου 2013 αυτο σε ποιο σημειο πρεπει να μπει? Ανοίγεις μια νέα σελίδα και μετά το <body> βάζεις τον κώδικα του dewn και μετά είσαι κομπλέ. Υ.Γ. πρέπει να έχεις κάνει και την σύνδεση στην βάση σου. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
grip_v Δημοσ. 6 Ιουνίου 2013 Μέλος Share Δημοσ. 6 Ιουνίου 2013 Παιδια σορρυ για το πρηξιμο.. το χω.. το καταφερα επιτελους.. ευχαριστω πολυ!! Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα