Φωτογραφία Κωνσταντίνος ΜΑΥΡΟΚΕΦΑΛΟΣ
διαφορα ερωτήματα για την 6
από Κωνσταντίνος ΜΑΥΡΟΚΕΦΑΛΟΣ - Wednesday, 10 February 2010, 12:23 AM
 
εχω φτιάξει την βαση από το phpmyadmin με όνομα katalogos.

έχω κατασκευάσει την φόρμα που στέλνει τα δεδομένα στο script.
θέλω να φτιάξω ένα πίνακα μέσα στην βάση με όνομα stoixeia και με 3 στήλες (πεδία).πως γίνεται αυτό?
θα ήθελα να μου πείτε και από το phpmyadmin πως γίνεται γιατί κάτι που δοκιμές έκανα δεν ήξερα πως να συμπληρώσω τις ιδιότητες των πεδίων. (εικόνα)
επίσης πως γίνεται με php?

μετά με την  insert πως συμπληρώνω τον πίνακα?


 
Φωτογραφία Στέλιος Μερσινάς
Απάντηση: διαφορα ερωτήματα για την 6
από Στέλιος Μερσινάς - Wednesday, 10 February 2010, 8:10 AM
 
Καλημέρα Κωνσταντίνε.

Από το screenshot βλέπω ότι έχεις σχεδιάσει τον πίνακα με τα πεδία και τους τύπους των πεδίων που χρειάζεσαι. Επέλεξε 'Αποθήκευση' και θα δημιουργηθεί ο πίνακας. Μετά την αποθήκευση, στην σελίδα που θα σε πάει το phpMyAdmin θα δεις και τις εντολές SQL που χρησιμοποίησε το phpMyAdmin για να δημιουργήσει τον πίνακα. Με τις ίδιες εντολές μπορείς να δημιουργήσεις ότι πίνακα θέλεις με την χρήση της συνάρτησης mysql_query()

Οι ιδιότητες των πεδίων είναι ανάλογα με το τι θέλεις να αποθηκεύσεις στον πίνακα. Συνήθως επιλέγεις τον 'Τύπο' που θέλεις να έχει το πεδίο και το πεδίο που κρατάει το ID το ορίζεις ως Auto_Increment. Προσοχή, γιατί auto_increment μπορείς να ορίσεις μόνο πεδία τύπου INT.

Με την INSERT συμπληρώνεις τον πίνακα όπως θα έκανες σε κάθε περίπτωση.


Φωτογραφία Κωνσταντίνος ΜΑΥΡΟΚΕΦΑΛΟΣ
Απάντηση: διαφορα ερωτήματα για την 6
από Κωνσταντίνος ΜΑΥΡΟΚΕΦΑΛΟΣ - Wednesday, 10 February 2010, 9:48 AM
 
Καλημέρα,

το λάθος ήταν ότι είχα βάλει Increment στις VARCHAR μεταβλητές
Φωτογραφία Τάσος Μαυρίδης
Απάντηση: διαφορα ερωτήματα για την 6
από Τάσος Μαυρίδης - Wednesday, 10 February 2010, 11:40 AM
 

Είναι άσχετο με αυτά που ρώτησες αλλά να έχεις υπόψη ότι πεδία int σε ένα πίνακα μπορούν να πάρουν τιμές από -2147483648 ως +2147483648 όταν δεν έχεις βάλει κάτι στο attributes ή από 0 ως 4294967295 αν βάλεις unsigned στο attributes.

 

Πρακτικά δηλ. πολλά τηλέφωνα δε μπορούν να αποθηκευτούν (επειδή ο αριθμός τηλεφώνου είναι πολλές φορές μεγαλύτερος). Αν εισάγεις π.χ. έναν αριθμό κινητού τηλεφώνου θα δεις ότι αποθηκεύεται το 2147483647 που είναι ο μεγαλύτερος Int.

 

Για να αποφύγεις το παραπάνω πρόβλημα μπορείς να ορίσεις το πεδίο bigint ή varchar