sinikos Δημοσ. 8 Ιουνίου 2022 Share Δημοσ. 8 Ιουνίου 2022 (επεξεργασμένο) Καλησπέρα. Έχω ενώσει 2 queries για να πάρω αποτελέσματα από 2 πίνακες σε ένα foreach. Δουλεύει μια χαρά, με σορτάρισμα ανα ημερομηνία κλπ... Τώρα θέλω όμως να sortάρω και σαν 2η παράμετρος τον αριθμό του δελτίου. Δεν μπορώ να καταλάβω όμως πως το κάνω αυτό... $results = $query->result(); function cmp($a, $b) { return strcmp($a->date, $b->date); } usort($results, "cmp"); return $results; Δηλαδή θέλω να εισάγω κάπως και το return strcmp($a->number, $b->number); Έκανα διάφορες πατέντες με διπλές function και διπλά usosrt αλλά δεν μπορώ να βγάλω άκρη... Επεξ/σία 8 Ιουνίου 2022 από sinikos Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
thiva7 Δημοσ. 8 Ιουνίου 2022 Share Δημοσ. 8 Ιουνίου 2022 (επεξεργασμένο) Στην function που σου δουλεύει μια χαρά και παίρνει τις ημερομηνίες κλπ βάλε άλλη μια παράμετρο και περάσετο στην sql call. Επεξ/σία 8 Ιουνίου 2022 από thiva7 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
sinikos Δημοσ. 8 Ιουνίου 2022 Μέλος Share Δημοσ. 8 Ιουνίου 2022 1 ώρα πριν, thiva7 είπε Στην function που σου δουλεύει μια χαρά και παίρνει τις ημερομηνίες κλπ βάλε άλλη μια παράμετρο και περάσετο στην sql call. Τι εννοεις αλλη μια παράμετρο. Στο results μου υπάρχουν και οι τιμές ->number Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
thiva7 Δημοσ. 8 Ιουνίου 2022 Share Δημοσ. 8 Ιουνίου 2022 Με αυτή την function function cmp($a, $b) { return strcmp($a->date, $b->date); } Κάνεις sort τις ημερομηνίες σωστά? Εάν ναι, δεν έχει πουθενά της Τρίτη παραμετρο που θέλεις. Εάν το κάνεις αλλού εξήγησε άμα θέλεις Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
thiva7 Δημοσ. 8 Ιουνίου 2022 Share Δημοσ. 8 Ιουνίου 2022 (επεξεργασμένο) Σορρυ τώρα κατάλαβα οτι θες να κάνεις σόρτ ξεχωριστά τις τιμές. Επεξ/σία 8 Ιουνίου 2022 από thiva7 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
elvizakos Δημοσ. 9 Ιουνίου 2022 Share Δημοσ. 9 Ιουνίου 2022 Γιατί δεν κάνεις το sort από τη βάση με union και order by; Αν για κάποιο λόγο θες να το κάνεις με PHP και usort: function cmp($a, $b) { if ($a->date == $b->date) return $a->number - $b->number; return strcmp($a->date, $b->date); } Επίσης με μια αναζήτηση βρήκα και αυτό, που μπορεί να σε βολέψει: https://www.php.net/manual/en/function.array-multisort.php 1 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
sinikos Δημοσ. 9 Ιουνίου 2022 Μέλος Share Δημοσ. 9 Ιουνίου 2022 15 ώρες πριν, elvizakos είπε Γιατί δεν κάνεις το sort από τη βάση με union και order by; Αν για κάποιο λόγο θες να το κάνεις με PHP και usort: function cmp($a, $b) { if ($a->date == $b->date) return $a->number - $b->number; return strcmp($a->date, $b->date); } Ευχαριστώ πολύ. Με αυτή την λύση δούλεψε άψογα. Απλα στο return του if το έκανα strcmp($a->number, $b->number), γιατί μου πέταγε σφάλμα. Το πεδίο δεν είναι int αλλά varchar γιατί ο αριθμός δελτίου, μπορεί να περιέχει και γράμμα Σε ευχαριστώ 1 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα