Η σελίδα μας αναβαθμίστηκε, γι' αυτό τον λόγο τα μέλη μας θα πρέπει να ζητήσουν νέο κωδικό πρόσβασης από την υπηρεσία "Αποστολή κωδικού πρόσβασης".
Εάν το email με τον νέο κωδικό δεν έρθει στο inbox κοιτάξτε και στο spam folder. Ο server είναι φρέσκος και δεν έχει το reputation που του αξίζει.

Πρόβλημα με select και πολλαπλά AND / OR

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

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

Απάντηση
sibas
Honorary Member
Δημοσιεύσεις: 1849
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

Πρόβλημα με select και πολλαπλά AND / OR

Δημοσίευση από sibas » 07 Ιαν 2017 13:53

Γεια χαρά και καλή Χρονιά!!!

Για να δω τώρα πως θα εξηγήσω το πρόβλημα, λοιπόν θέλω να παρουσιασω κείμενο σε πολλάπλες σελίδες

στην db έχω τα εξής data
---id---------pageID------displayINPAGE-------text-----
---100----------1-----------------12---------------lorem---
---99-----------1-----------------12---------------ypsum--
---98-----------10----------------12--------------ypsum2--
---97-----------12----------------12---------------lorem2--
---96-----------12----------------12---------------lorem1--
---95----------κλπ--------------κλπ---------------κλπ-----

θέλω να παρουσιάσω όλα τα text που αντιστοιχούν στον αριθμο 12 στο pageID ΚΑΙ στο displayINPAGE με το εξής query

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

SELECT 
	id, 
	pageID, 
	displayINPAGE,
	text
FROM 
	posts
WHERE
	displayINPAGE=12
OR
	pageID=12
ORDER BY 
	id DESC LIMIT 4;
δηλαδη παρουσιάζει το text από το 100 εως και το 97
όλα μια χαρά μέχρι εδώ

το πρόβλημα αρχίζει όταν εκτελώ δεύτερο query για να παρουσιάσω τα επόμενα

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

SELECT 
	id, 
	pageID, 
	displayINPAGE,
	text
FROM 
	posts
WHERE
	id < 97
AND
	displayINPAGE=12
OR
	pageID=12
ORDER BY 
	id DESC LIMIT 4;
δηλαδη θέλω να παρουσιάζει το text από το 96 εως και το 93

το πρόβλημα με το παραπάνω είναι ότι το id 97 και το 96 το παρουσιάζει 2 φορές

αν βγάλω το OR pageID=12 τοτε εμφανίζεται σωστά!!

Τι κάνω λάθος???

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6223
Εγγραφή: 30 Νοέμ 2004 03:09

Πρόβλημα με select και πολλαπλά AND / OR

Δημοσίευση από fafos » 07 Ιαν 2017 15:10

gia dokimase na valeis se parenthesi to OR:

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

SELECT
   id,
   pageID,
   displayINPAGE,
   text
FROM
   posts
WHERE
   id < 97
AND
   &#40;displayINPAGE=12
OR
   pageID=12&#41;
ORDER BY
   id DESC LIMIT 4;
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

sibas
Honorary Member
Δημοσιεύσεις: 1849
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

Πρόβλημα με select και πολλαπλά AND / OR

Δημοσίευση από sibas » 07 Ιαν 2017 15:25

fafos you are a Script Master!!!
Μπορώ επιτέλους να παω να φάω γιατί είχα πει οτι δεν θα σηκωθώ αν δεν το έβρισκα.. :victory:

sibas
Honorary Member
Δημοσιεύσεις: 1849
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

Πρόβλημα με select και πολλαπλά AND / OR

Δημοσίευση από sibas » 07 Ιαν 2017 15:47

OK έχω 30-40 microsecond delay που σημαίνει οτι πρέπει να επανεξετάσω το όλο θέμα, θα επανέλθω σε αυτό με το πλήρες query

Απάντηση

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

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

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