sifalio Δημοσ. 18 Μαΐου 2010 Δημοσ. 18 Μαΐου 2010 query=mysql_query("DELETE FROM laboratory_section WHERE id_lesson='$lesson' AND number_of_team='$number_of_team' "); χρησιμοποιω αυτο το query αλλα δεν μου δουλευει...μηπως το γραφω λαθος? δυο μερες το ψαχνω αλλα και στο google βλεπω οτι ετσι συντασεται. θελω απλως να διαγραφω μια εγγραφη απο τον πινακα.
Uberalles_gr Δημοσ. 18 Μαΐου 2010 Δημοσ. 18 Μαΐου 2010 καταρχάς έχει ξεχάσεις το δολλάριο ($) μπροστά από την μεταβλητή query Τρέξε το παρακάτω > mysql_query("DELETE FROM laboratory_section WHERE id_lesson='$lesson' AND number_of_team='$number_of_team' "); και πες μας ΤΙ error σου βγάζει...
sifalio Δημοσ. 18 Μαΐου 2010 Μέλος Δημοσ. 18 Μαΐου 2010 μου ξεφυγε στο copy....το προβλημα που κανει ειναι οτι δεν διαγραφει με δυο συνθηκες στο where. αν αφησω μονο την μια συνθηκη διαγραφει ολες τις εγγραφες..ενω εγς 8ελω να διαγραφει μονο μια συγκεκριμενη.
Uberalles_gr Δημοσ. 18 Μαΐου 2010 Δημοσ. 18 Μαΐου 2010 Ποτέ δεν έχω δοκιμάσει το DELETE με 2 συνθήκες για τον λόγο ότι ΠΑΝΤΑ έχω ένα κλειδί στον πίνακα μου για τον λόγο ότι ΚΑΘΕ εγγραφή είναι ΜΟΝΑΔΙΚΗ.. Εσύ δεν έχεις κάποιο πεδίο στην βάση σου που να είναι primary key και έτσι η κάθε εγγραφή να είναι μοναδική έστω σε ένα πεδίο?
sifalio Δημοσ. 18 Μαΐου 2010 Μέλος Δημοσ. 18 Μαΐου 2010 CREATE TABLE `laboratory_section` ( `id_section` INT NOT NULL, `id_lesson` INT NOT NULL, `id_school` INT NOT NULL, `number_of_team` VARCHAR(5) NOT NULL, `start_time` TIME NOT NULL, `end_time` TIME NOT NULL, `classroom` VARCHAR(20) NOT NULL, `day` VARCHAR(10) NOT NULL, `start_time2` TIME NOT NULL, `end_time2` TIME NOT NULL, `classroom2` VARCHAR(20) NOT NULL, `day2` VARCHAR(10) NOT NULL, PRIMARY KEY (`number_of_team`,`start_time`,`classroom`,`day`,`id_lesson`), FOREIGN KEY (`id_section`) REFERENCES `section` (`id_section`), FOREIGN KEY (`id_school`) REFERENCES `school` (`id_school`) ) CHARACTER SET utf8 COLLATE utf8_general_ci; αυτος ειναι ο πινακας ..καποια πεδια υπαρχουν και σε αλλους..εχω συνολικα 6 πινακες.
Uberalles_gr Δημοσ. 18 Μαΐου 2010 Δημοσ. 18 Μαΐου 2010 Κοίτα τι θα κάνεις για την επόμενη φορά... Θα φτιάχνεις ένα πεδίο π.χ. στο δικό σου παράδειγμα ls_id το οποίο θα είναι primary key και auto incremenet. Το οποίο θα δεις ότι χρησιμεύει σε πολλά πράγματα.. Ένα από αυτά και το πιο βασικό είναι ότι η κάθε εγρραφή στην βάση σου είναι και ΜΟΝΑΔΙΚΗ. Και έτσι όταν θα πας να κάνεις π.χ. delete ή edit μία εγγραφή θα ξέρεις ποια εγγραφή είναι από το ΜΟΝΑΔΙΚΟ της id Τώρα θα πας στην βάση σου και θα δημιουργήσεις αυτό το πεδίο και αυτόματα (λογικά) θα πάρει τιμές ξεκινώντας από το 1 Κάντο αυτό και πες μας
sifalio Δημοσ. 18 Μαΐου 2010 Μέλος Δημοσ. 18 Μαΐου 2010 η πτυχιακη μου ειναι σεδον ετοιμη και ειναι αυτο το μοναδικο μου προβλημα..δεν μπορω να ξανασβησω τον πινακα και να αλλαξω κατι γιατι μπορει να επηρεασει τιποτα και μετα να χαθω. την αλλη ευδομαδα παρουσιαζω την πτυχιακη.. μπορω να κανω τιποτα αλλο για να δουλεψει το delete????
Uberalles_gr Δημοσ. 18 Μαΐου 2010 Δημοσ. 18 Μαΐου 2010 Δεν σου είπα να σβήσεις τίποτα.... Καταρχάς θα δημιουργήσεις ένα backup για καλό και κακό αν και αυτό που σου λέω να κάνεις είναι κάτι απλό.. Στο backup πίνακα που έφταιξες θα πας στην δομή του και θα δημιουργήσεις ένα ακόμα πεδίο που θα είναι primary key Και auto increment και μετά θα πρέπει όλες οι εγγραφές σου να πάρουν τιμές ξεκινώντας από το 1 σε αυτό το πεδίο
isay Δημοσ. 18 Μαΐου 2010 Δημοσ. 18 Μαΐου 2010 query=mysql_query("DELETE FROM laboratory_section WHERE id_lesson='$lesson' AND number_of_team='$number_of_team' "); χρησιμοποιω αυτο το query αλλα δεν μου δουλευει...μηπως το γραφω λαθος? δυο μερες το ψαχνω αλλα και στο google βλεπω οτι ετσι συντασεται. θελω απλως να διαγραφω μια εγγραφη απο τον πινακα. Sifalio υπάρχει κάτι να σβήσει; Δηλαδή αν εκτελέσεις το παρακάτω έχεις επιστροφή; >query2=mysql_query("SELECT * FROM laboratory_section WHERE id_lesson='$lesson' AND number_of_team='$number_of_team' "); Εξέτασες αυτή την εκδοχή;
sifalio Δημοσ. 18 Μαΐου 2010 Μέλος Δημοσ. 18 Μαΐου 2010 το βαζω και αυτο πριν το delete αλλα δεν δουλεβει... ---------- Προσθήκη στις 15:17 ---------- Προηγούμενο μήνυμα στις 15:12 ---------- αυτο κανω..αλλα δεν δουλευει $query2=mysql_query("SELECT * FROM laboratory_section WHERE id_lesson='$lesson' AND number_of_team='$number_of_team' "); $query=mysql_query("DELETE FROM laboratory_section WHERE id_lesson='$lesson"); echo "Η Διαγραφή Ολοκληρώθηκε";
Uberalles_gr Δημοσ. 18 Μαΐου 2010 Δημοσ. 18 Μαΐου 2010 Δεν κατάλαβα τι ήθελες να πεις στο τελευταίο σου Post
isay Δημοσ. 18 Μαΐου 2010 Δημοσ. 18 Μαΐου 2010 το βαζω και αυτο πριν το delete αλλα δεν δουλεβει.. Μπρε κρητικέ συγκεντρώσου. Δε σου είπα να το βάλεις πριν το delete. Στο έδωσα για να δοκιμάσεις αν υπάρχει τίποτα να διαγραφει. Αν δεν υπάρχει κάτι να διαγραφεί, τότε τι να διαγράψει; Το SELECT μπορείς να το δοκιμάσεις απευθείας και στην mysql. Πριν την εκτέλεση της delete και μετά τον ορισμό της $query βάλε ένα >echo "<b>$query</b>"; για να δεις αν οι μεταβλητές είναι σωστές.
isay Δημοσ. 18 Μαΐου 2010 Δημοσ. 18 Μαΐου 2010 αυτο μου επεστρεφει......Resource id #3 Να υποθέσω για το select, σωστά; Σου γύρισε array. Ας το απλοποιήσουμε για να δούμε αν πραγματικά έχεις data. Αντικατέστησε το > query2=mysql_query("SELECT * FROM laboratory_section WHERE id_lesson='$lesson' AND number_of_team='$number_of_team' "); με το > query2=mysql_query("SELECT number_of_team FROM laboratory_section WHERE id_lesson='$lesson' AND number_of_team='$number_of_team' "); $usme = mysql_fetch_row($query2); $usme = $usme[0]; Με το >echo "<b>$query</b>"; που σου έγραψα νωρίτερα, τι σου έβγαλε;
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.