Πολλαπλές εγγραφές σε πίνακα

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
argate7
Δημοσιεύσεις: 233
Εγγραφή: 30 Σεπ 2009 02:38

Πολλαπλές εγγραφές σε πίνακα

Δημοσίευση από argate7 » 13 Δεκ 2009 02:22

Καλησπέρα,

Θα ήθελα να φτιάξω μία php σελίδα στην οποία θα υπάρχει ένα combobox με αριθμούς από το 1 μέχρι το 10 ξέρω γω και ανάλογα με την επιλογή να μου εμφανίζει και τα αντίστοιχα textboxes για να εισάγω δεδομένα σε ένα πίνακα. Για παράδειγμα (σε περίπτωση που δεν το εξήγησα σωστά) έχω ένα πίνακα με 3 πεδία(id,name,surname). Μέσα σε αυτό τον πίνακα θέλω να εισάγω 5 άτομα ταυτόχρονα. Οπότε θα πρέπει να κάνει το php μου...

insert into table1(name,surname)
values("A","A")

insert into table1(name,surname)
values("B","B")

insert into table1(name,surname)
values("C","C")

insert into table1(name,surname)
values("D","D")

insert into table1(name,surname)
values("E","E")

Θέλω να φτιάξω μία php σελίδα στην οποία θα μπορώ δυναμικά να διαλέγω πόσα insert θέλω να κάνει και στη συνέχεια να μου εμφανίζει 2 textboxes για κάθε άτομο και με το που πατήσω το κουμπί "insert" να εισάγει και τα 5 άτομα ταυτόχρονα μέσα στη βάση.

Ελπίζω να το εξήγησα σωστά για να μπορέσετε να με βοηθήσετε!!!

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

Πολλαπλές εγγραφές σε πίνακα

Δημοσίευση από burnmind » 13 Δεκ 2009 03:27

Θα σου γράψω μία λογική στα γρήγορα, στην οποία μπορείς να βασιστείς για να το φτιάξεις:

Με οποιονδήποτε τρόπο θέλεις (ένα drop-down menu ή ένα text-box) θα ορίζεις πόσες εγγραφές θέλεις να εισάγεις. Θα δημιουργήσεις ένα for/while loop που θα εμφανίζει Χ φορές τον συνδιασμό των δύο text-boxes σου, όπου Χ ο αριθμός που έδωσες λίγο πριν.

Αν το name ενός text-box είναι ορισμένο ως name="whatever[]", οι πληροφορίες που θα περιέχονται θα μπουν σε ένα array. Αυτό σου επιτρέπει όταν θα κάνεις submit το form να μπορείς να πάρεις τις πληροφορίες με τον εξής τρόπο:

Κώδικας: Επιλογή όλων

foreach ($_POST['whatever'] as $whatever) {}
Καθώς θα εκτελείται το loop στο οποίο θα μαζεύεις τα στοιχεία του form, θα κάνεις και το insert στη βάση για κάθε συνδιασμό στοιχείων που θες.

argate7
Δημοσιεύσεις: 233
Εγγραφή: 30 Σεπ 2009 02:38

Πολλαπλές εγγραφές σε πίνακα

Δημοσίευση από argate7 » 13 Δεκ 2009 20:58

Μόνο που θέλω με javascript(μάλλον) να εμφανίζω νέα πεδία. Να υπάρχει όπως είπα και πιο πάνω ένα combobox και να μπορώ να επιλέγω έναν αριθμό και να μου βγάζει τα αντίστοιχα rows-fields για να εισάγω.

argate7
Δημοσιεύσεις: 233
Εγγραφή: 30 Σεπ 2009 02:38

Πολλαπλές εγγραφές σε πίνακα

Δημοσίευση από argate7 » 14 Δεκ 2009 19:28

Βρήκα αυτό :

Κώδικας: Επιλογή όλων

<html>
<head>
<script language="javascript">
function addRow&#40;&#41;
&#123;
var tbody = document.getElementById&#40;"table1"&#41;.getElementsByTagName&#40;"tbody"&#41;&#91;0&#93;;
var row = document.createElement&#40;"TR"&#41;;
var cell1 = document.createElement&#40;"TD"&#41;;
var inp1 =  document.createElement&#40;"INPUT"&#41;;
var inp2 =  document.createElement&#40;"INPUT"&#41;;
var inp3 =  document.createElement&#40;"INPUT"&#41;;
inp1.setAttribute&#40;"type","text"&#41;;
inp1.setAttribute&#40;"value",""&#41;;
cell1.appendChild&#40;inp1&#41;;
var cell2 = document.createElement&#40;"TD"&#41;;
inp2.setAttribute&#40;"type","text"&#41;;
inp2.setAttribute&#40;"value",""&#41;;
cell2.appendChild&#40;inp2&#41;;
var cell3 = document.createElement&#40;"TD"&#41;;
inp3.setAttribute&#40;"type","text"&#41;;
inp3.setAttribute&#40;"value",""&#41;;
cell3.appendChild&#40;inp3&#41;;
row.appendChild&#40;cell1&#41;;
row.appendChild&#40;cell2&#41;;
row.appendChild&#40;cell3&#41;;
tbody.appendChild&#40;row&#41;;
//alert&#40;row.innerHTML&#41;;
&#125;
</script>
</head>
<body>
<table id="table1">
<tbody>
<tr>

</tr>
</tbody>
</table>
<input type="button" value="Insert Row" onClick="addRow&#40;&#41;;">
</body>
</html>
Το οποίο δημιουργεί μέσω javascript νέα rows.

Πώς θα μπορέσω στη συνέχεια να τα εισάγω στη βάση. Ας πούμε 3 εγγραφές μαζί?

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

Πολλαπλές εγγραφές σε πίνακα

Δημοσίευση από burnmind » 16 Δεκ 2009 06:17

Θα δηλώσεις τo name του text-field του κάθε row ως:

Κώδικας: Επιλογή όλων

<input type="text" name="whatever&#91;&#93;" />
ώστε μετά το post του form, να μπορείς να πάρεις τα δεδομένα όλων των rows σε ένα array και για παράδειγμα να εμφανίσεις το περιεχόμενό τους:

Κώδικας: Επιλογή όλων

foreach &#40;$_POST&#91;'whatever'&#93; as $row&#41;
&#123;
 echo $row;
&#125;

argate7
Δημοσιεύσεις: 233
Εγγραφή: 30 Σεπ 2009 02:38

Πολλαπλές εγγραφές σε πίνακα

Δημοσίευση από argate7 » 16 Δεκ 2009 18:03

Ωπ...Λαλακία..Το είχα βρει εδώ και 2 μέρες και έκανα καινούργιο thread στο οποίο δίνω αναλυτικές οδηγίες. Σόρρυ που δεν το είδα πιο πριν. Ευχαριστώ πάντως. Κάπως έτσι το έκανα..Άλλαξα βέβαια και τον κώδικα του javascript..Αν θες ρίξε μια ματιά..

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης