grip_v Δημοσ. 29 Μαΐου 2013 Δημοσ. 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 Δημοσ. 30 Μαΐου 2013 UPDATE products SET quantity=quantity+'$quantity' WHERE ...
lion2486 Δημοσ. 31 Μαΐου 2013 Δημοσ. 31 Μαΐου 2013 πρέπει να έχεις στη βάση σου κάποιο κλειδί για να μπορείς να αναφέρεσαι σε μια συγκεκριμένη εγγραφή.. εκτός και αν είναι μοναδικό το description που κάνεις select.. (αν είναι θα γίνει "UPDATE `products` SET `quantity`=quantity+'$quantity' WHERE `description` = '{$rows['description']}';" )
grip_v Δημοσ. 4 Ιουνίου 2013 Μέλος Δημοσ. 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 Δημοσ. 4 Ιουνίου 2013 Για έλεγξε μια την τιμή των παρακάτω μεταβλητών $update και $rows['barcode'].Μήπως πρέπει στο post να περάσεις και άλλα στοιχεία εκτός από το quantity?
grip_v Δημοσ. 4 Ιουνίου 2013 Μέλος Δημοσ. 4 Ιουνίου 2013 μα το quantity ειναι αυτο που θελω να κανει βαζει ο χρηστης και να παιρνει σαν εισοδο η php.. η κανω λαθος???
nucleus Δημοσ. 4 Ιουνίου 2013 Δημοσ. 4 Ιουνίου 2013 Κοιτα λίγο τον HTML κώδικα της σελίδας σου?πόσα <input type="text" name="quantity" size="25"> δηλαδή textboxes έχεις και με τι όνομα.Επίσης το $rows['barcode'] έχει το σωστό barcode που βρίσκεται στην ίδια γραμμή του "πίνακα" σου με το textbox που έβαλες το καινούριο quantity?
dewn735 Δημοσ. 4 Ιουνίου 2013 Δημοσ. 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
dewn735 Δημοσ. 6 Ιουνίου 2013 Δημοσ. 6 Ιουνίου 2013 αυτο σε ποιο σημειο πρεπει να μπει? Νομίζω είναι οφθαλμοφανές το τι αλλαγές πρέπει να κάνεις 1
Uberalles_gr Δημοσ. 6 Ιουνίου 2013 Δημοσ. 6 Ιουνίου 2013 αυτο σε ποιο σημειο πρεπει να μπει? Ανοίγεις μια νέα σελίδα και μετά το <body> βάζεις τον κώδικα του dewn και μετά είσαι κομπλέ. Υ.Γ. πρέπει να έχεις κάνει και την σύνδεση στην βάση σου.
grip_v Δημοσ. 6 Ιουνίου 2013 Μέλος Δημοσ. 6 Ιουνίου 2013 Παιδια σορρυ για το πρηξιμο.. το χω.. το καταφερα επιτελους.. ευχαριστω πολυ!!
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα