Προς το περιεχόμενο

PHP+My SQL password από 2 tables


varemarious

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλημέρα

πως μπορώ να πραγματοποιήσω το παρακάτω :

 

Θέλω μέσα στη βάση μου να έχω 2 διαφορετικά tables και στο 1 να περιέχει 3 αριθμούς και στο άλλο 5 αριθμούς..

 

θέλω τώρα να φτιάξω ένα login όπου όταν γράφω το σύνολο των 3 αριθμών και των 5 να μου εμφανίζεται η εγγραφή που αντιστοιχεί στο κωδικό...

 

Τη βάση την έχω δημιουργήσει με τα πρωτεύον κλειδιά με τα πεδία που συνδέουν μεταξύ τους τα tables.. στην πράξη κολλάω λίγο..

 

Τρέχω το παρακάτω αλλά δε μου τρέχει σωστά:

 

>
<?php
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
mysql_query("SET NAMES 'utf8'");

$query = "SELECT table1.kwdikos, table2.kwdikos, table1.onoma, table1.epwnymo 
FROM table1, table2
INNER JOIN table1 ON table1.id_same = table2.same_id
WHERE table1.kwdikos, table2.kwdikos ='$Code'";

$result=mysql_query($query);
$num=mysql_numrows($result);

mysql_close();
?>

 

 

 

 

$Code το textbox που θα γράφω το κωδικό μου για να κάνω τον έλεγχο..

Δημοσ.

δεν σε καταλαβαίνω ;

 

ο άλλος πίνακας έχει κι άλλα στοιχεία απλά δε μου χρειάζονται στο login

Δημοσ.

Ααα τώρα κατάλαβα. Και θες να παίρνεις τα 3 από τον ένα πίνακα, τα 5 από τον άλλο να τα ενώνεις και με βάση αυτό το κλειδί να σου βγάζει την εγγραφή με αυτό το ID?

Δημοσ.

ναι σωστά .. θα περιέχει κι άλλα στοιχεία ο πίνακας αλλά εμένα με ενδιαφέρει να μου εμφανίσει την εγγραφή σε συνδυασμό αυτών των 2 πεδίων..που θα γίνεται στο login..

Δημοσ.

Ε τότε θα πάρεις το 3 πρώτα και τα 5 δεύτερα, θα κάνεις ένα concatenated κλειδί με αυτά τα 2 και με βάση αυτό θα κάνεις το select σου από τον πίνακα που έχεις τις εγγραφές.

Δημοσ.

στη βάση μου έτρεξε σωστά το ερώτημα..

 

τώρα όμως πως θα συνδέσω αυτό με τα άλλα πεδία που θέλω να εμφανίσω όταν δίνεται αυτό στο login

 

onoma , epwnymo , address κτλ

Δημοσ.

Γράψε:

>DECLARE @Var BIGINT
SET @Var = SELECT CONCAT(table1.kwdikos,table2.kwdikos) 
FROM table1, table2

SELECT table1.onoma, table1.epwnymo 
FROM table1, table2
INNER JOIN table1 ON table1.id_same = table2.same_id
WHERE @Var ='$Code'"

 

Αν και δεν είμαι σίγουρος ότι θα παίξει.

 

Μπορείς στο ένα από τους 2 πίνακες να βάλεις μια extra στήλη στην οποία θα έχεις το concatenated κλειδί, γιατί τώρα μπορείς να το πάρεις αλλά δεν το σώζεις κάπου για να κάνεις τα select σου.

Δημοσ.

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

Δημοσ.

Για δοκίμασε αυτό:

>SELECT CONCAT(table1.kwdikos,table2.kwdikos) INTO new
FROM table1,table2

 

Αυτό δημιουργεί τον πίνακα new και βάζει μέσα τα concatenated values. Για δες και πες.

 

Βασικά σε MySQL έχει άλλη σύνταξη η select into :

 

>CREATE TABLE new SELECT CONCAT(table1.kwdikos,table2.kwdikos) FROM table1,table2

Δημοσ.

το Create δούλεψε .. το θέμα όμως είναι ότι απ' ότι καταλαβαίνω όταν θα ανανεώνω τα δεδομένα μου στη βάση θα πρέπει να δημιουργώ κάθε φορά ένα new table με το συνδυασμό των νέων κωδικών.. δεν θα γίνεται αυτόματα η διαδικασία αυτή.. δηλαδή να τραβάει και από τα 2 πεδία αυτόματα ..

Δημοσ.

Θα φτιάξεις ενα stored procedure το οποίο θα το κάνει αυτόματα. Και όταν βάζεις νέα δεδομένα απλα θα πηγαίνεις να το τρέχεις μια φορά για να γίνεται το update.

Δημοσ.

δεν γίνεται να μου φτιάχνει ένα νέο κελί μέσα στο ήδη υπάρχων table ή να σβήνει τα υπάρχοντα δεδομένα και να τα ξαναγράφει ;

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...