Ένωση πινάκων μεταξύ τους μέσω ιd - foreign id

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

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

Απάντηση
sirparis
Δημοσιεύσεις: 18
Εγγραφή: 10 Δεκ 2010 23:57
Τοποθεσία: Athens

Ένωση πινάκων μεταξύ τους μέσω ιd - foreign id

Δημοσίευση από sirparis » 19 Απρ 2012 16:04

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

Σε ένα πίνακα(users) έχω πρωτεύον κλειδί το Id

Και σε όλους τους άλλους έχω ένα άλλο κλειδί και ένα ξένο user_id που να το συνδέει με το id του πίνακα users.

Το μόνο που έχω να κάνω, είναι να εισάγω εγώ το foreign κλειδί, δηλαδή το id του υποψήφιου, σε κάθε άλλο πίνακα.
Δεν γίνεται αυτόματα αυτό.

Τώρα, πώς θα ξέρεις το id του υποψήφιου? Αυτό θα το βρίσκω αποθηκεύοντας στον πίνακα SESSION το username όταν κάνει login.


Μπορει κάποιος να μου παραθέσει κάποιο παράδειγμα για να καταλάβω;

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Ένωση πινάκων μεταξύ τους μέσω ιd - foreign id

Δημοσίευση από Apostolis_38 » 20 Απρ 2012 11:38

Απ' ότι κατάλαβα, από αυτά που γράφεις, θα πρέπει να καταχωρείς εσύ το foreign key με κάποιο input text ή κάνοντας echo το session σε κάποιο hidden/readonly field και να τα στέλνεις στο script που κάνει την καταχώρηση.
Προφανώς θα πρέπει να τρέχεις πάνω από ένα query όπου και όταν χρειάζεται. Οπότε θα πρέπει να ελέγχεις οτι έρχονται τα δεδομένα σου σωστά.

sirparis
Δημοσιεύσεις: 18
Εγγραφή: 10 Δεκ 2010 23:57
Τοποθεσία: Athens

Ένωση πινάκων μεταξύ τους μέσω ιd - foreign id

Δημοσίευση από sirparis » 20 Απρ 2012 13:05

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

Αλλά πώς γίνεται αυτό;

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Ένωση πινάκων μεταξύ τους μέσω ιd - foreign id

Δημοσίευση από Apostolis_38 » 20 Απρ 2012 21:32

Δεν σε κατάλαβα. Αφού ξέρεις τι πρέπει να κάνεις.
Που ακριβώς κολλάς;

sirparis
Δημοσιεύσεις: 18
Εγγραφή: 10 Δεκ 2010 23:57
Τοποθεσία: Athens

Ένωση πινάκων μεταξύ τους μέσω ιd - foreign id

Δημοσίευση από sirparis » 21 Απρ 2012 00:20

Ξέρω τι πρέπει να κάνω αλλά δεν ξέρω το πρακτικο κομμάτι του θέματος.
Ξέρω ότι πρεπει να είναι λίγες γραμμές κώδικα, έχεις να μου δείξεις κάποιο παράδειγμα ή να με παραθέσεις κάπου;

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Ένωση πινάκων μεταξύ τους μέσω ιd - foreign id

Δημοσίευση από Apostolis_38 » 21 Απρ 2012 11:25

π.χ.
Κάνε ένα query με το οποίο θα τραβάς το κλειδί που δημιουργήθηκε και βάλτο στη φόρμα με ένα

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

<input type="hidden" name="createdForeignKey" value="<?php echo $row&#91;"foreignKey"&#93;;?>" />
ώστε να το πάρεις και στην επόμενη φόρμα/script.
Αν το χρειαστείς και σε άλλη φόρμα κάνεις πάλι το ίδιο παραλείπωντας το query καί κάνοντας echo το value κι όχι το row που πήρες από την προηγούμενη σελίδα.

sirparis
Δημοσιεύσεις: 18
Εγγραφή: 10 Δεκ 2010 23:57
Τοποθεσία: Athens

Ένωση πινάκων μεταξύ τους μέσω ιd - foreign id

Δημοσίευση από sirparis » 21 Απρ 2012 18:11

Σε ευχαριστώ πολύ, με βοήθησες πάρα πολύ. thanks

Απάντηση

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

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

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