εύρεση απο ΒάσηΔεδομένων και χρήση σε php file

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

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

Απάντηση
Άβαταρ μέλους
tempo
Δημοσιεύσεις: 808
Εγγραφή: 25 Μάιος 2002 16:41
Επικοινωνία:

εύρεση απο ΒάσηΔεδομένων και χρήση σε php file

Δημοσίευση από tempo » 05 Μαρ 2013 10:13

καλημέρα,

θέλω να κάνω το εξής:

διαθέτω έναν πίνακα απο μια βάση δεδομένων με τα πεδία όπως φαίνεται στην εικόνα που επισυνάπτω......

στην τελευταία στήλη (πεδίο) με την ένδειξη info βλέπετε ένα αλφαριθμητικό (εκεί ζορίζομαι) μέσα στο οποίο υπάρχει ένας αριθμός σε " " (στην πρώτη γραμμή δεν έχει άλλα αυτό θα το αφαιρέσω - στην 2η γραμμή το "2", στην 3η και 4η το "3", στις επόμενες το "4".....

αυτό αντιστοιχεί στο userID ενός χρήστη του wordpress.....

θέλω να φιλτράρω όλες τις εγγραφές για έναν συγκεκριμένο αριθμό (πχ "4") και με τις εγγραφές αυτές να υπολογίσω το άθροισμα απο τα πεδία "anodos" και "ka8odos" (για τον χρήστη "4" του παραδείγματος έχουμε +0-0+0-1+1-0)

το αποτέλεσμα θέλω να το προβάλω σε ένα php αρχείο.....

ελπίζω να καταλάβατε τι ζητάω... είναι δύσκολο να το περιγράψω......
Συνημμένα
mysql question.png
http://www.automotonet.com πραγματικές καταναλώσεις αυτοκινήτων και μοτοσυκλετών όπως διαμορφώνονται απο τους οδηγούς
http://www.ipedia.gr online εγκυκλοπαίδεια με ερωτήσεις και απαντήσεις απο τους επισκέπτες

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

εύρεση απο ΒάσηΔεδομένων και χρήση σε php file

Δημοσίευση από dva_dev » 05 Μαρ 2013 12:04

Για δοκίμασε κάτι σαν το

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

select sum(anodos - ka8odos) sum_AK
from table
where info like '%:"4";%';

ή
...
where info like '%:{i:0;s:1:"4";%';
Μου φαίνεται πάντως πως πας να κάνεις αυτό που θέλεις μάλλον με λάθος τρόπο.

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

εύρεση απο ΒάσηΔεδομένων και χρήση σε php file

Δημοσίευση από gvre » 05 Μαρ 2013 13:29

dva_dev έγραψε:Μου φαίνεται πάντως πως πας να κάνεις αυτό που θέλεις μάλλον με λάθος τρόπο.
Σίγουρα.

@tempo
Αν σε κάθε γραμμή αντιστοιχεί ένας χρήστης, βάλε άλλο ένα πεδίο userID στον πίνακά σου και χρησιμοποίησέ το για να τρέξεις το query σου. Αν οι χρήστες είναι περισσότεροι, βάλε τους σε έναν άλλο πίνακα και σύνδεσέ τους. Δεν είναι και ό,τι καλύτερο να ψάχνεις με like '%' σε serialized data.

Άβαταρ μέλους
tempo
Δημοσιεύσεις: 808
Εγγραφή: 25 Μάιος 2002 16:41
Επικοινωνία:

εύρεση απο ΒάσηΔεδομένων και χρήση σε php file

Δημοσίευση από tempo » 05 Μαρ 2013 16:29

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

ο πίνακας αυτός περιέχει θετική ή αρνητική αξιολόγηση στα σχόλια που κάνουν οι χρήστες στα posts (wordpress). Μην με ρωτάτε γιατί έχει αυτή την δομή, έτσι είναι το plugin έτσι θα το χρησιμοποιήσω.

Επομένως εγώ θέλω δίπλα στο όνομα του κάθε χρήστη που έχει κάνει κάποιο σχόλιο να εμφανίζεται και η συνολική του βαθμολογία που θα προκύπτει απο το σύνολο του (anodos - ka8odos).

κάθε ιδέα ευπρόσδεκτη.....

* σε κάθε γραμμή δεν αντιστοιχεί ένας χρήστης.....μπορεί να είναι οποιαδήποτε κατανομή.
http://www.automotonet.com πραγματικές καταναλώσεις αυτοκινήτων και μοτοσυκλετών όπως διαμορφώνονται απο τους οδηγούς
http://www.ipedia.gr online εγκυκλοπαίδεια με ερωτήσεις και απαντήσεις απο τους επισκέπτες

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

εύρεση απο ΒάσηΔεδομένων και χρήση σε php file

Δημοσίευση από gvre » 05 Μαρ 2013 16:52

Λογικά η 1η απάντηση του dva_dev θα κάνει αυτό που θέλεις. Μπορείς πάντως να αλλάξεις λίγο το plugin για να παίζει σωστότερα. Επίσης, αφού η βαθμολογία είναι συνολική μπορείς να την αποθηκεύεις σε ένα πεδίο κάθε φορά που βαθμολογεί κάποιος χρήστης. Έτσι, δε θα χρειάζεται να την υπολογίζεις συνεχώς.

Άβαταρ μέλους
tempo
Δημοσιεύσεις: 808
Εγγραφή: 25 Μάιος 2002 16:41
Επικοινωνία:

εύρεση απο ΒάσηΔεδομένων και χρήση σε php file

Δημοσίευση από tempo » 05 Μαρ 2013 20:37

θα δοκιμάσω την λύση που μου προτείνατε και θα ενημερώσω.

δυστυχώς δεν έχω τις γνώσεις να πειράξω το plugin

@gvre αυτό που λες είναι εύκολο να γίνει ή όχι; δώσε ιδέα....
http://www.automotonet.com πραγματικές καταναλώσεις αυτοκινήτων και μοτοσυκλετών όπως διαμορφώνονται απο τους οδηγούς
http://www.ipedia.gr online εγκυκλοπαίδεια με ερωτήσεις και απαντήσεις απο τους επισκέπτες

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

εύρεση απο ΒάσηΔεδομένων και χρήση σε php file

Δημοσίευση από gvre » 05 Μαρ 2013 21:05

Εύκολο θα είναι αρκεί να ξέρεις πώς δουλεύει το plugin, το οποίο δεν έχω καταλάβει τι κάνει :)
Ποιο plugin είναι;

Άβαταρ μέλους
tempo
Δημοσιεύσεις: 808
Εγγραφή: 25 Μάιος 2002 16:41
Επικοινωνία:

εύρεση απο ΒάσηΔεδομένων και χρήση σε php file

Δημοσίευση από tempo » 06 Μαρ 2013 18:43

αυτό που μου έδωσε ο dva_dev φαίνεται να λειτουργεί κανονικά (το 1ο). Ευχαριστώ φίλε μου.....

το θέμα είναι πλέον (θα το ψάξω) άλλα αν το έχετε έτοιμο στο μυαλό σας αντί για το "4" να βάλω το userID του κάθε χρήστη του wordpress γιατί θέλω δίπλα στο όνομα του να υπολογίζει και να γράφει και την βαθμολογία του (που υπολογίζω με τον τρόπο του dva_dev).....

@gvre δεν είναι κάποο plugin, είναι μέσα σε έτοιμο theme.
http://www.automotonet.com πραγματικές καταναλώσεις αυτοκινήτων και μοτοσυκλετών όπως διαμορφώνονται απο τους οδηγούς
http://www.ipedia.gr online εγκυκλοπαίδεια με ερωτήσεις και απαντήσεις απο τους επισκέπτες

Άβαταρ μέλους
tempo
Δημοσιεύσεις: 808
Εγγραφή: 25 Μάιος 2002 16:41
Επικοινωνία:

εύρεση απο ΒάσηΔεδομένων και χρήση σε php file

Δημοσίευση από tempo » 10 Μαρ 2013 16:37

σήμερα έκατσα (επιτέλους) για να φτιάξω αυτό που περιγράφω στο post.

δυστυχώς ενώ στο phpmyadmin το query λειτουργεί κανονικά όταν πάω να το κάνω σε php αρχείο δεν λειτουργεί.

θα σας γράψω τι ακριβώς θέλω μήπως και μπορέσετε να με βοηθήσετε. Αν έχετε διαβάσει τα παραπάνω posts θα είδατε ότι ζητάω να υπολογίσω ένα άθροισμα απο 2 στήλες ενός πίνακα με το φίλτρο το άθροισμα να προκύπτει μόνο για τις εγγραφές κάποιου χρήστη που το id του είναι μέσα σε ένα αλφαριθμητικό.....

εγώ για το κάθε comment (σε wordrpess είναι όλο το θέμα) έχω προσθέσει την γραμμή

<?php $commentator_id = get_comment(get_comment_ID())->user_id; ?>

με την οποία παίρνω το user_ID του χρήστη που έχει κάνει το comment. Με το user_ID αυτό θέλω να φτιάξω το ερώτημα στην βάση που να μου υπολογίζει το άθροισμα που έγραψα παραπάνω....
http://www.automotonet.com πραγματικές καταναλώσεις αυτοκινήτων και μοτοσυκλετών όπως διαμορφώνονται απο τους οδηγούς
http://www.ipedia.gr online εγκυκλοπαίδεια με ερωτήσεις και απαντήσεις απο τους επισκέπτες

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

εύρεση απο ΒάσηΔεδομένων και χρήση σε php file

Δημοσίευση από dva_dev » 10 Μαρ 2013 18:14

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

$commentator_id = get_comment&#40;get_comment_ID&#40;&#41;&#41;->user_id;
$query = "select sum&#40;anodos - ka8odos&#41; sum_AK from table where info like '%&#58;\"$commentator_id\";%';";
Αν έχεις ακόμα πρόβλημα πρέπει να μας δείξεις το query που χρησιμοποιείς στο phpmyadmin.

Άβαταρ μέλους
tempo
Δημοσιεύσεις: 808
Εγγραφή: 25 Μάιος 2002 16:41
Επικοινωνία:

εύρεση απο ΒάσηΔεδομένων και χρήση σε php file

Δημοσίευση από tempo » 10 Μαρ 2013 20:07

dva_dev έγραψε:

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

$commentator_id = get_comment&#40;get_comment_ID&#40;&#41;&#41;->user_id;
$query = "select sum&#40;anodos - ka8odos&#41; sum_AK from table where info like '%&#58;"$commentator_id";%';";
Αν έχεις ακόμα πρόβλημα πρέπει να μας δείξεις το query που χρησιμοποιείς στο phpmyadmin.
οκ τελικά δουλεύει κανονικά.......ευχαριστώ πάρα πολύ!!!!
http://www.automotonet.com πραγματικές καταναλώσεις αυτοκινήτων και μοτοσυκλετών όπως διαμορφώνονται απο τους οδηγούς
http://www.ipedia.gr online εγκυκλοπαίδεια με ερωτήσεις και απαντήσεις απο τους επισκέπτες

Άβαταρ μέλους
tempo
Δημοσιεύσεις: 808
Εγγραφή: 25 Μάιος 2002 16:41
Επικοινωνία:

εύρεση απο ΒάσηΔεδομένων και χρήση σε php file

Δημοσίευση από tempo » 18 Αύγ 2013 14:08

τελικά όλα λειτουργούν ΟΚ και μπορώ πλέον να υπολογίζω τους πόντους του κάθε χρήστη που προέρχονται απο τις αξιολογήσεις των απαντήσεων (σχολίων) του (όπως μπορείτε να δείτε στην http://www.ipedia.gr ).


το επόμενο θέμα στο οποίο θέλω την βοήθεια σας είναι το εξής:
μπορώ με βάση αυτόν τον πίνακα να βγάλω μια ταξινομημένη λίστα με τους χρήστες που έχουν πόντους (η ταξινόμηση να γίνει με βάση του πόντους απο max->min);

τέλος για να το πάω και λίγο πιο μακριά: που μπορώ να ζητήσω απο κάποιον να αναλάβει να φτιάξει ένα συνολικό σύστημα βαθμολογίας (πχ πόντοι απο απαντήσεις, πόντοι κάθε φορά που κάποιος κάνει μια ερώτηση, πόντοι όταν κάποιος κάνει login κλπ). Υπάρχει κάποια Ελληνική σελίδα όπου κάποιος μπορεί να αναλάβει την εργασία αυτή (με αμοιβή φυσικά) ή κάποια αντίστοιχη ξένη;
http://www.automotonet.com πραγματικές καταναλώσεις αυτοκινήτων και μοτοσυκλετών όπως διαμορφώνονται απο τους οδηγούς
http://www.ipedia.gr online εγκυκλοπαίδεια με ερωτήσεις και απαντήσεις απο τους επισκέπτες

Απάντηση

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

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

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