Αναζήτηση εγγραφής χωρίς id Auto Inc

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

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

Απάντηση
smartmedia
Δημοσιεύσεις: 25
Εγγραφή: 05 Μαρ 2005 18:58

Αναζήτηση εγγραφής χωρίς id Auto Inc

Δημοσίευση από smartmedia » 09 Οκτ 2007 22:46

Γεια χαρά,

Θέλω να πάρω απο 1 πίνακα καποιες εγγραφες χωρις να υπάρχει id Auto inc, υπάρχει τρόπος...???

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27622
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

Αναζήτηση εγγραφής χωρίς id Auto Inc

Δημοσίευση από cordis » 10 Οκτ 2007 00:28

φυσικά, με select, αλλά πες μας περισσότερα για να βοηθήσουμε...
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

smartmedia
Δημοσιεύσεις: 25
Εγγραφή: 05 Μαρ 2005 18:58

Αναζήτηση εγγραφής χωρίς id Auto Inc

Δημοσίευση από smartmedia » 10 Οκτ 2007 00:41

Geia,

Δεν υπάρχουν ιδιαιτερα χαρακτηριστικα, απλα παιρνω random μια εγγραφή και την παρουσιαζω, απλα δεν εχω βαλει id και ηθελα να μαθω πως γινεται να την βρω χωρις WHERE η άλλη συνθηκη... Δεν υπάρχει internal record value, δηλαδη να κραταει καπου το νουμερο της φυσικης εγγραφής...???

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Αναζήτηση εγγραφής χωρίς id Auto Inc

Δημοσίευση από dva_dev » 10 Οκτ 2007 02:20

Δεν δοκιμάζεις το εξήςι; Κάπου το πήρε το μάτι μου.

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

SELECT * FROM πίνακας LIMIT <τυχαίο νούμερο>, 1

smartmedia
Δημοσιεύσεις: 25
Εγγραφή: 05 Μαρ 2005 18:58

Αναζήτηση εγγραφής χωρίς id Auto Inc

Δημοσίευση από smartmedia » 10 Οκτ 2007 06:32

Γεια χαρά,

Σωστός, μπροστά στα μάτια μου ήταν και δεν το εβλεπα. Σε ευχαριστω...

Later,

Το δοκίμασα αλλά οταν το Random φτάνει στην τελευταια εγγραφή δεν μου την παραουσιαζει, περιεργο ε... δε ξερω γιατι, ισως να ειναι προβλημα της βασης.

Ευχαριστω πάντως.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Αναζήτηση εγγραφής χωρίς id Auto Inc

Δημοσίευση από dva_dev » 10 Οκτ 2007 11:35

Μήπως ο αριθμός εγγραφής [edit](για την ακρίβεια το offset από την 1η εγγραφή)[/edit] ξεκινάει από το 0 και όχι από το 1;
Οπότε θα παίζει στα όρια [0...ν-1] και όχι [1...ν]

smartmedia
Δημοσιεύσεις: 25
Εγγραφή: 05 Μαρ 2005 18:58

Αναζήτηση εγγραφής χωρίς id Auto Inc

Δημοσίευση από smartmedia » 10 Οκτ 2007 16:34

Λες, για να το δοκιμασω...

Άβαταρ μέλους
alexandr0s
Δημοσιεύσεις: 1064
Εγγραφή: 25 Απρ 2006 17:16
Τοποθεσία: localhost
Επικοινωνία:

Αναζήτηση εγγραφής χωρίς id Auto Inc

Δημοσίευση από alexandr0s » 11 Οκτ 2007 04:09

Δες αν σε βολεύει αυτό:
SELECT column FROM table
ORDER BY RAND()
LIMIT 1

Στο LIMIT βάζεις όσες τυχαίες εγγραφές θες

alexsoft

Αναζήτηση εγγραφής χωρίς id Auto Inc

Δημοσίευση από alexsoft » 11 Οκτ 2007 04:21

alexandr0s έγραψε:Δες αν σε βολεύει αυτό:
SELECT column FROM table
ORDER BY RAND()
LIMIT 1

Στο LIMIT βάζεις όσες τυχαίες εγγραφές θες
Ακριβώς. ο alexandr0s έχει το σωστό query.

Η εξήγηση είναι η εξής:
Με την SELECT column FROM table επιστρέφει την στήλη column του πίνακα table

ταξινομώντας όμως τις εγγραφές τυχαία με την ORDER BY RAND() οπότε το πιθανότερο είναι, και όσο μεγαλώνει ο αριθμός των εγγραφών, να έχεις πάντα διαφορετικά αποτελέσματα.

Με την LIMIT 1 [ή μεγαλύτερο αριθμό] δείχνεις στην MySQL πόσα αποτελέσματα θέλεις να σου επιστραφούν ξεκινώντας από το 0,1,2,3,4 κλπ διότι έτσι αριθμεί τις γραμμές αποτελεσμάτων η MySQL

smartmedia
Δημοσιεύσεις: 25
Εγγραφή: 05 Μαρ 2005 18:58

Αναζήτηση εγγραφής χωρίς id Auto Inc

Δημοσίευση από smartmedia » 11 Οκτ 2007 07:19

Γεια χαρά,

Αυτο δούλεψε υπέροχα... Ευχαριστώ...
Υποθέτω η RAND() παίρνει ορισμα μέσα...???

Απάντηση

Επιστροφή στο “MySQL”

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

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