Ελληνικό Forum > Βάσεις Δεδομένων

Προσθήκη μοναδικού αριθμού στους χρήστες.

(1/1)

giannismit:
Καλημέρα,
Θέλω να προσθέσω έναν μοναδικό αριθμό (σαν αριθμό μητρώου) σε κάθε χρήστη.
Αυτός θέλω να έχει 4 ψηφία και δεν με πειράζει αν είναι σχετικός με το elx_users id, δηλαδή κάτι σαν id+1000.

Δεν με ενδιαφέρει να αποθηκευθεί σε ξεχωριστό πίνακα στην βάση, απλά θέλω μόνο να εμφανίζω αυτόν τον αριθμό στο users list.

Θα είναι εφικτό να γίνει απλώς με ένα ερώτημα στην βάση;

CREATIVE Options:
O κάθε χρήστης έχει ήδη μοναδικό id και είναι αύξων.
Τώρα για να εμφανίσεις με ελάχιστα ψηφία 4 θα πρέπει να πειράξεις την λίστα και να προσθέσεις +2 σταθερά ψηφία / γράμματα όταν φτάσεις τα 100 μέλοι τα στοιχεία στο id του χρήση θα είναι 5 (2 σταθερά + 3 το id  του χρήστη)

giannismit:
Ναι σωστά όλα αυτά,
Το θέμα με τα τέσσερα και πέντε ψηφία το ξεπερνώ αν προσθέτω στο id to 1000, έτσι το π.χ. το id=88 γίνετε 1088 και το id=188 γίνετε 1118.
Αν εκτελέσω την εντολή:

--- Code: ---$sql = 'SELECT `id`+1000 AS \'ΑΡ. ΜΗΤΡΩΟΥ\', `name`, `username` FROM `elx_users`';
--- End code ---
είμαι ΟΚ.
Το ερώτημα είναι πως θα εμφανίσω τα αποτελέσματα της εντολής κάνοντας κλικ σε κάποιο λίνκ ή μενού.

datahell:
Μην το κάνεις id+1000. Είτε χρησιμοποίησε το id του χρήστη ως έχει ή βάλτου ένα πρόθεμα. Σε κάθε περίπτωση δεν χρειάζεται να κάνεις ξεχωριστό query στη βάση.

Για να κάνεις έναν αριθμό $x να εμφανίζεται υποχρεωτικά με, για παράδειγμα, 5 ψηφία:

$y = sprintf("%05d", $x);

Αν τώρα θες να του προσθέσεις και ένα πρόθεμα:

$y = 'AM'.sprintf("%05d", $x);

Αν $x το id των χρηστών, για id = 1 το παραπάνω θα σου δημιουργήσει:
ΑΜ00001
για id χρήστη 127:
AM00127
και ου το καθεξής.

To id του τρέχοντος χρήστη στο Elxis είναι προσβάσιμο έτσι: $my->id.
Το $my->id για τους επισκέπτες είναι μηδέν και μεγαλύτερο του μηδενός για τους συνδεδεμένους χρήστες.
Οπότε μπορείς να κάνεις αυτό:
<?php
global $my;
if ($my->id > 0) {
   echo 'Ο αριθμός μητρώου σας είναι: AM'.sprintf("%05d", $my->id);
}
?>

Navigation

[0] Message Index

Go to full version