Αποθήκευση δεδομένων στη βάση με το formAPI

Εκτός σύνδεσης
Εγγράφηκε: 25 Φεβ 2009

Παιδιά, βοήθεια, έχω κολλήσει στο εξής...

Έχω δημιουργήσει με το formAPI μία φόρμα με διάφορα πεδία τα οποία καλείται να συμπληρώσει ο χρήστης και στη συνέχεια να πατήσει το submit button. Αυτό που δεν γνωρίζω είναι πώς θα αποθηκευτούν τα data στον "Χ" πίνακα που υπάρχει στη βάση δεδομένων του Drupal ? Πώς θα κάνω δηλαδή το insert?

Ευχαριστώ

Εκτός σύνδεσης
Εγγράφηκε: 1 Φεβ 2008

Καλησπέρα!

Έχεις υπόψιν σου το webform module;

Εάν όμως δεν σε καλύπτει και χρειάζεσαι κάποιο custom module, δημοσίευσε εάν θέλεις τον κώδικά σου σε κάποιο bin για να υπάρχει μία βάση, ή να εξηγήσεις κάπως καλύτερα το τί θέλεις να κάνεις.

Ελπίζω να βοήθησε :)

Εκτός σύνδεσης
Εγγράφηκε: 28 Δεκ 2010

Γεια σου,

Μπορεί να έχετε γράψει μια λειτουργία για τη δημιουργία μιας φόρμας και ελπίζω να έχουν περάσει $ form_state ως επιχείρημα για τη λειτουργία.
Εάν δεν έχετε γράψει yourfunctionname_submit (), τότε παρακαλούμε να γράψετε αυτό το καθήκον για το οποίο θα καλείται αυτόματα μετά την υποβολή της φόρμας.

yourfunctionname_submit($form, &$form_state)
{
drupal_write_record('X', $form_state['values']);
}

Θυμηθείτε, drupal_write_record('X', $form_state['values']); είναι ο τυπικός τρόπος για την καταγραφή εισαγάγετε στον πίνακα X.
$form_state['values'] περιέχει τιμές όλων πεδίου φόρμας.
Παρακαλούμε αντικαταστήστε yourfunctionname στο όνομά σας λειτουργία που έχετε γράψει να δημιουργήσετε μια φόρμα.

Έπειτα πρέπει να δημιουργήσετε yourmodulename.install αρχείο που θα περιγράφει σχήμα του πίνακα της βάσης δεδομένων.
Έχω δώσει ένα παράδειγμα του περιεχομένου yourmodulename.install αρχείου.

function yourmodulename_schema() {
$schema = array();
$schema['mytabale'] = array(
'description' => t('MY TABLE DESCRIPTION'),
'fields' => array(
'sr_no' => array(
'description' => t('Serial Number'),
'type' => 'integer',
'length'=>10,
'not null' => true,
),
'first_name' => array(
'description' => t('First Name'),
'type' => 'varchar',
'length'=>100,
'not null' => true,
),
'lname' => array(
'description' => t('Last Name'),
'type' => 'varchar',
'length'=>100,
'not null' =>true,
'size'=>'tiny',
),
'age' => array(
'description' => t('Age'),
'type' => 'varchar',
'length'=>2,
'not null' => true,
),
),
'primary key'=>array(sr_no),
);
return $schema;
}
function student_install() {
drupal_install_schema('mytabale');
}
function student_uninstall() {
drupal_uninstall_schema('mytabale');
}

Αντικαταστήστε yourmodulename με σας modulename και αντικαταστήστε mytabale με το όνομα του πίνακα της βάσης δεδομένων σας.

Υποβολή νέου σχολίου

  • Επιτρεπόμενες ετικέτες HTML: <a> <p> <span> <div> <h1> <h2> <h3> <h4> <h5> <h6> <img> <map> <area> <hr> <br> <br /> <ul> <ol> <li> <dl> <dt> <dd> <table> <tr> <td> <em> <b> <u> <i> <strong> <font> <del> <ins> <sub> <sup> <quote> <blockquote> <pre> <address> <code> <cite> <embed>
  • Μπορειτε να παραθέσετε άλλες δημοσιεύσεις με τα [quote] .
  • Αυτόματες αλλαγές γραμμών και παραγράφων.
  • Διευθύνσεις ιστού και e-mail μετατρέπονται αυτόματα σε παραπομπές.

Περισσότερες πληροφορίες για τις επιλογές μορφοποίησης

CAPTCHA
Αυτή είναι μια ερώτηση για την αποφυγή σπαμ εγγραφών και μηνυμάτων.