Custom sorting σε MySQL πινακα, με Javascript & php

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

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

kilikeio
Δημοσιεύσεις: 52
Εγγραφή: 08 Ιούλ 2008 16:53

Custom sorting σε MySQL πινακα, με Javascript & php

Δημοσίευση από kilikeio » 18 Δεκ 2009 17:06

ωραιο και ενδιαφερον το script σου Korgr.
εγω θα ηθελα να κανω μια ταξινομηση του τυπου να υπαρχει πχ ενα Sort by και να βγαινει ενα list.
p.x Sort by Date
Name
κλπ
ξερει κανει κανενα καλο tutorial ή κανα λινκ??

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Custom sorting σε MySQL πινακα, με Javascript & php

Δημοσίευση από korgr » 18 Δεκ 2009 17:13

Δηλαδη κατι σαν αυτο που εχω στο portfolio μου?

mgiota
Δημοσιεύσεις: 190
Εγγραφή: 15 Σεπ 2009 13:11
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

Custom sorting σε MySQL πινακα, με Javascript & php

Δημοσίευση από mgiota » 18 Δεκ 2009 17:21

Τι γίνεται στην περίπτωση που θέλω να ταξινομεί μόνο τις εγγραφές που είναι published. Έχω δηλαδή και ένα πεδίο που όταν ο χρήστης το τσεκάρει μόνο τότε δημοσιεύεται στο site η αντίστοιχη εγγραφή. Επομένως το πεδίο position θα πρέπει να παίρνει τιμή μόνο όταν ο χρήστης τσεκάρει τη δημοσίευση;

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Custom sorting σε MySQL πινακα, με Javascript & php

Δημοσίευση από korgr » 18 Δεκ 2009 17:41

mgiota έγραψε:Τι γίνεται στην περίπτωση που θέλω να ταξινομεί μόνο τις εγγραφές που είναι published. Έχω δηλαδή και ένα πεδίο που όταν ο χρήστης το τσεκάρει μόνο τότε δημοσιεύεται στο site η αντίστοιχη εγγραφή. Επομένως το πεδίο position θα πρέπει να παίρνει τιμή μόνο όταν ο χρήστης τσεκάρει τη δημοσίευση;
Απλα αλλαζεις το query που αποθηκευει την ταξινομηση

Απο

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

mysql_query("UPDATE records SET sort='$sort' WHERE id='$id'")
σε

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

mysql_query("UPDATE records SET sort='$sort' WHERE id='$id' and publish=1")
αν υποθεσουμε πως εχεις ονομασει το πεδιο "publish"

mgiota
Δημοσιεύσεις: 190
Εγγραφή: 15 Σεπ 2009 13:11
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

Custom sorting σε MySQL πινακα, με Javascript & php

Δημοσίευση από mgiota » 18 Δεκ 2009 17:45

οκ.

απλά όταν κάνω INSERT μια καινούρια εγγραφή αν την τσεκάρω για published μόνο τότε (μέσω κώδικα) συμπληρώνω και το πεδίο position;

kilikeio
Δημοσιεύσεις: 52
Εγγραφή: 08 Ιούλ 2008 16:53

Custom sorting σε MySQL πινακα, με Javascript & php

Δημοσίευση από kilikeio » 18 Δεκ 2009 18:58

korgr έγραψε:Δηλαδη κατι σαν αυτο που εχω στο portfolio μου?
ναι κατι τετοιο, εκει που εχεις ταξινομηση αλφαβητικα κλπ.
ξερεις κανα tutorial??

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Custom sorting σε MySQL πινακα, με Javascript & php

Δημοσίευση από korgr » 18 Δεκ 2009 19:29

mgiota έγραψε:οκ.

απλά όταν κάνω INSERT μια καινούρια εγγραφή αν την τσεκάρω για published μόνο τότε (μέσω κώδικα) συμπληρώνω και το πεδίο position;
Ναι.

Θυμησου μονο, στην ρουτινα του edit πρεπει να φροντιζεις εκτος απο την ενεργοποιηση του publish να δινεις τιμη και στο position...
Μιλαω για το update (αργοτερα)

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Custom sorting σε MySQL πινακα, με Javascript & php

Δημοσίευση από korgr » 18 Δεκ 2009 19:52

kilikeio έγραψε:
korgr έγραψε:Δηλαδη κατι σαν αυτο που εχω στο portfolio μου?
ναι κατι τετοιο, εκει που εχεις ταξινομηση αλφαβητικα κλπ.
ξερεις κανα tutorial??
Μα αυτο ειναι αρκετα απλο, δεν χρειαζεται καποιο εξειδικευμενο tutorial...
Δημιουργεις το select με ονομα πχ "sortMethod" και προσθετεις τις διαθεσιμες μεθοδους ταξινομησης οπως:

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

        
<select name="sortMethod">
<option value="byname">Ονομαστικά</option>
<option value="bydate">Χρονολογικά</option>
</select>
Οταν καλεσεις το php script σου, η $_POST['sortMethod'] θα περιεχει τον τυπο της ταξινομησης. Καλο θα ειναι να βαλεις και μια παγιδευση ωστε αν κληθει το script χωρις την sortMethod τοτε να οριζει μια default τιμη για να μην σου κτυπησει το query
Για παραδειγμα:

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

<?
$sortMethod = $_POST&#91;'sortMethod'&#93;;
$sortMethod = &#40;!$sortMethod &#41; ? 'byname' &#58; $sortMethod ; // δινουμε σαν default τιμη το byname αν δεν δωθηκε τυπος ταξινομησης
$sortMethod = &#40;$sortMethod == 'byname'&#41; ? 'name' &#58; $sortMethod; // αν δωθηκε &#40;ή εγινε αυτοματα&#41; by name
$sortMethod = &#40;$sortMethod == 'bydate'&#41; ? 'date' &#58; $sortMethod; // αν δωθηκε by date

// και οταν κανεις το query
$result=mysql_query&#40;"select * from &#91;mytable&#93; where &#91;mycondition&#93; order by $sortMethod"&#41;;
?>
Αλλαξε τα 'name' & 'date' με τα ονοματα των δικων σου mysql πεδιων και αντικατεστησε τα [mytable] & [mycondition] με τα δικα σου στοιχεια πινακα και συνθηκης

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Custom sorting σε MySQL πινακα, με Javascript & php

Δημοσίευση από Apostolis_38 » 18 Δεκ 2009 22:27

Παληκάρι, απ'ότι βλέπω μια χαρά τα καταφέρνεις με δύο θέματα μαζί. :D :D
Παιδιά, μη δημιουργείται άλλα θέματα.
Οτι θέλετε εδώ :P

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Custom sorting σε MySQL πινακα, με Javascript & php

Δημοσίευση από korgr » 18 Δεκ 2009 23:09

χαχα ειναι συγγενικα θεματα Αποστολη :D

kilikeio
Δημοσιεύσεις: 52
Εγγραφή: 08 Ιούλ 2008 16:53

Custom sorting σε MySQL πινακα, με Javascript & php

Δημοσίευση από kilikeio » 19 Δεκ 2009 16:57

ευχαριστω παιδια για τις απαντησεις.
ειμαι αραχαριος με php και Mysql και κολλαω στο ρεπερτοριο εντολων κ γιαυτο ρωταω συνεχεια.
anyway ευχαριστω και παλι. θα το δοκιμασω αυτο που εγραψες korgr.

Άβαταρ μέλους
vcore
Δημοσιεύσεις: 354
Εγγραφή: 20 Δεκ 2003 01:19
Τοποθεσία: Crete
Επικοινωνία:

Custom sorting σε MySQL πινακα, με Javascript & php

Δημοσίευση από vcore » 18 Φεβ 2010 00:24

fafos έγραψε:To position DEN prepei na einai auto_increment kai na einai typou INT...

me kathe nea eggrafh tou dineis to position=0 kai me ena for -meta to insert- prostheteis 1 gia OLES tis eggrafes (kai gia thn nea) kanontas update... etsi to 0 menei kai pali keno kai perimenei thn nea eggrafh h opoia tha parei pali thn timh 0 klp klp..

EDIT.. peripou me auto pou anaferei o kontopatrioths.. :lol:

Καλησπέρα προσπαθώ να κάνω την for μετά την insert αλλά κάτι δεν μου κάθεται...

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

// Finally insert menu to table
$insert = mysql_query&#40;"INSERT INTO neaeparxia_menu &#40;
									menu_id,
									menu_parent_id,
									menu_position,
									menu_title,
									menu_description,
									menu_active
									&#41; VALUES &#40;
									'',
									'$_POST&#91;menu_parent_id&#93;',
									'0',
									'$stripped',
									'$_POST&#91;menu_description&#93;',
									'$_POST&#91;menu_active&#93;'
									&#41;", $db&#41;;
									
if &#40;$insert&#41; &#123; 
									
$sql = mysql_query&#40;"SELECT * FROM neaeparxia_menu",$db&#41;;			
$row = mysql_fetch_array&#40;$sql&#41;;											
for &#40;$row&#91;menu_position&#93; = 0; $row&#91;menu_position&#93; < $row&#91;menu_position&#93;; $row&#91;menu_position&#93;++&#41; &#123;		
$update = mysql_query&#40;"UPDATE neaeparxia_menu SET menu_position = '$row&#91;menu_position&#93;'",$db&#41;; 
											&#125;
											if &#40;$update&#41; &#123;	
									
												$success = "";
											&#125;	
									&#125;
any tip ?
Ευχαριστώ
Easy CMS
------------
Το να ζητάς βοήθεια δεν σημαίνει ότι είσαι εξαρτημένος.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Custom sorting σε MySQL πινακα, με Javascript & php

Δημοσίευση από Apostolis_38 » 18 Φεβ 2010 14:23

vcore έγραψε:

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

$row&#91;menu_position&#93; < $row&#91;menu_position&#93;;
Λίγο παράξενο μου φαίνεται αυτό.
Στην αρχή μηδενίζεις τη μεταβλητή, εδώ της λες για όσο καιρό είναι μικρότερη από τον εαυτό της και στο τέλος της λες να αυξάνεται.

Η σύνταξη της for κανονικά είναι:

μηδενίζω την μεταβλητή,

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

$i = 0;
όσο η μεταβλητή παραμένει μικρότερη της συνθήκης ή της δεύτερης μεταβλητής,

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

$i < 100 ή $x;
αύξησε,

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

$i++

Άβαταρ μέλους
vcore
Δημοσιεύσεις: 354
Εγγραφή: 20 Δεκ 2003 01:19
Τοποθεσία: Crete
Επικοινωνία:

Custom sorting σε MySQL πινακα, με Javascript & php

Δημοσίευση από vcore » 18 Φεβ 2010 14:44

Λίγο παράξενο? Εγώ το είδα σήμερα το πρωϊ με καθαρό κεφάλι και έχασα και τα υπόλοιπα μαλιά μου :lol:

Anyways με την βοήθεια του Cha0s βγήκε το αποτέλεσμα:

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

								$select_position = mysql_query&#40;"SELECT menu_position FROM neaeparxia_menu ORDER BY menu_position DESC LIMIT 0, 1", $db&#41;;
								$menu_position = mysql_fetch_array&#40;$select_position&#41;;
								
								$position = $menu_position&#91;'menu_position'&#93; + 1;								
								// Finally insert menu to table
								$insert = mysql_query&#40;"INSERT INTO neaeparxia_menu &#40;
									menu_id,
									menu_parent_id,
									menu_position,
									menu_title,
									menu_description,
									menu_active
									&#41; VALUES &#40;
									'',
									'$_POST&#91;menu_parent_id&#93;',
									'$position',
									'$stripped',
									'$_POST&#91;menu_description&#93;',
									'$_POST&#91;menu_active&#93;'
									&#41;", $db&#41;;
Ευχαριστώ για τις απαντήσεις σας.
Easy CMS
------------
Το να ζητάς βοήθεια δεν σημαίνει ότι είσαι εξαρτημένος.

txc
Δημοσιεύσεις: 626
Εγγραφή: 02 Δεκ 2003 23:08

Custom sorting σε MySQL πινακα, με Javascript & php

Δημοσίευση από txc » 06 Ιούλ 2011 00:27

να επανέλθω στο θέμα μετά από χρόνια :)
τρέχω το script όπως είναι εδώ αλλάζοντας τους πίνακες και τα connection στη βάση και μου βγάζει το εξής μήνυμα :

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

Notice&#58; Undefined index&#58; data in C&#58;\xampp\htdocs\e-collector\demo_order.php on line 3
καμιά ιδεά γιατί?
ευχαριστώ

Απάντηση

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

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

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