Multiple sort php/mysql

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

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

Απάντηση
dtravlos
Δημοσιεύσεις: 244
Εγγραφή: 29 Ιαν 2009 15:03
Τοποθεσία: Keratsini
Επικοινωνία:

Multiple sort php/mysql

Δημοσίευση από dtravlos » 08 Νοέμ 2010 17:03

Καλησπέρα. Έχω ένα datagrid το οποίο θέλω να το κάνω sort σε 2-3 πεδία. Έχω φτιάξει αυτό:
index.php

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

<script type="text/javascript">
  
	
	
	function mainOrder&#40;&#41;&#123;
		var main = $&#40;'select#main'&#41;.val&#40;&#41;;
		$.post&#40;"getlounges.php", &#123; main&#58; main&#125;,
		   function&#40;data&#41;&#123;
			 $&#40;'div#content'&#41;.html&#40;data&#41;;
		   &#125;&#41;;
	&#125;
	
	function secondaryOrder&#40;&#41;&#123;
		var main = $&#40;'select#main'&#41;.val&#40;&#41;;
		var secondary = $&#40;'select#secondary'&#41;.val&#40;&#41;;
		$.post&#40;"getlounges.php", &#123; main&#58; main, secondary&#58; secondary&#125;,
		   function&#40;data&#41;&#123;
			 $&#40;'div#content'&#41;.html&#40;data&#41;;
		   &#125;&#41;;
	&#125;
	

</script>


<form name="orders" id="orders">
<select name="main" id="main	" onchange="mainOrder&#40;&#41;">
	<option value="lounge_title_gr ASC">Επωνυμία &#40;Αύξουσα&#41;</option>
    <option value="lounge_title_gr DESC">Επωνυμία &#40;Φθίνουσα&#41;</option>
</select>

<select name="secondary" id="secondary" onchange="secondaryOrder&#40;&#41;">
	<option value=", lounge_town ASC">Πόλη &#40;Αύξουσα&#41;</option>
    <option value=", lounge_town DESC">Πόλη &#40;Φθίνουσα&#41;</option>
</select>
</form>
και το getlounges.php

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

 <?php
     include&#40;'includes/connect.php'&#41;;
$mainOrder = $_POST&#91;'main'&#93;;
$secondaryOrder = $_POST&#91;'secondary'&#93;;
              $result = mysql_query&#40;"SELECT * FROM lounges ORDER BY ".$mainOrder."", $db&#41;;
            echo "SELECT * FROM lounges ORDER BY ".$mainOrder.$secondaryOrder."";
            while&#40;$row = mysql_fetch_array&#40;$result&#41;&#41;
            &#123;
  ?>
      <tr>
        <td><?php echo $row&#91;'lounge_title_gr'&#93;; ?></td>
        <td><?php echo $row&#91;'lounge_contact'&#93;; ?></td>
        <td><?php echo $row&#91;'lounge_town'&#93;; ?></td>
        <td><?php echo $row&#91;'lounge_address'&#93;; ?></td>
    </tr>
    <?php &#125; ?>
Είναι σωστό έτσι όπως το έγραψα? Τι πρέπει να κάνω;

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

Multiple sort php/mysql

Δημοσίευση από gvre » 08 Νοέμ 2010 18:43

1. Κάνε το sort στον client με javascript ( http://tablesorter.com/docs/ )
2. Όταν πρέπει να το κάνεις στον server, θα βάζεις στο select αριθμούς (1, 2 κλπ) αντί ονόματα πεδίων και στον server θα προσθέτεις στο query τα αντίστοιχα πεδία.

dtravlos
Δημοσιεύσεις: 244
Εγγραφή: 29 Ιαν 2009 15:03
Τοποθεσία: Keratsini
Επικοινωνία:

Multiple sort php/mysql

Δημοσίευση από dtravlos » 08 Νοέμ 2010 22:11

Ευχαριστώ πολύ για τη βοήθεια. Όταν λες θα βάζω αριθμούς εννοείς πχ $row[0] $row[1] κτλ?

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

Multiple sort php/mysql

Δημοσίευση από gvre » 09 Νοέμ 2010 08:43

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

<select name="main" id="main" onchange="mainOrder&#40;&#41;"> 
   <option value="1">Επωνυμία &#40;Αύξουσα&#41;</option> 
   <option value="2">Επωνυμία &#40;Φθίνουσα&#41;</option> 
</select> 

dtravlos
Δημοσιεύσεις: 244
Εγγραφή: 29 Ιαν 2009 15:03
Τοποθεσία: Keratsini
Επικοινωνία:

Multiple sort php/mysql

Δημοσίευση από dtravlos » 09 Νοέμ 2010 10:28

Καλημέρα. Πιστεύω πως κατάλαβα.... :P Άρα το tablesorter δε θα μου χρειαστεί σωστά; Εφόσον είναι τα select με ajax

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

Multiple sort php/mysql

Δημοσίευση από gvre » 09 Νοέμ 2010 15:26

Είναι καλύτερα να κάνεις το sort στον client, όπου αυτό είναι εφικτό.

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

Multiple sort php/mysql

Δημοσίευση από fafos » 09 Νοέμ 2010 15:52

gvre έγραψε:Είναι καλύτερα να κάνεις το sort στον client, όπου αυτό είναι εφικτό.
ektos kai an yparxei selidopoihsh ton apotelesmaton..
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

dtravlos
Δημοσιεύσεις: 244
Εγγραφή: 29 Ιαν 2009 15:03
Τοποθεσία: Keratsini
Επικοινωνία:

Multiple sort php/mysql

Δημοσίευση από dtravlos » 09 Νοέμ 2010 15:59

Σελιδοποίηση θα υπάρχει σίγουρα... Απλά θα πρέπει να φτιάξω 3 select με 3 function για ajax requests.

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

Multiple sort php/mysql

Δημοσίευση από gvre » 09 Νοέμ 2010 15:59

Γι' αυτό έγραψα "όπου είναι εφικτό" ;)

dtravlos
Δημοσιεύσεις: 244
Εγγραφή: 29 Ιαν 2009 15:03
Τοποθεσία: Keratsini
Επικοινωνία:

Multiple sort php/mysql

Δημοσίευση από dtravlos » 09 Νοέμ 2010 16:01

:D I know... :P Ασ ελπίσουμε πως δε θα μας κάνει καμιά στραβή.... BTW Ξέρει κανείς κάνα σουβλατζίδικο αλεξάνδρας και πατησίων κοντά;;;;;; :pint: :pint: :pint: :pint:

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

Multiple sort php/mysql

Δημοσίευση από gvre » 09 Νοέμ 2010 16:07

Μπορείς το sort να το κάνεις με το πάτημα κάποιου submit αντί με το change του <select>. Έτσι θα κάνεις 1 request ανεξάρτητα από τον αριθμό των πεδίων βάσει των οποίων γίνεται η ταξινόμηση. Στη σελιδοποίηση θα έχεις έτσι κι αλλιώς τα στοιχεία του αρχικού sort από τις τιμές των <select>.

dtravlos
Δημοσιεύσεις: 244
Εγγραφή: 29 Ιαν 2009 15:03
Τοποθεσία: Keratsini
Επικοινωνία:

Multiple sort php/mysql

Δημοσίευση από dtravlos » 09 Νοέμ 2010 16:12

Δε γίνεται στο sort να έχει κι αυτό τα στοιχεία; Αν βάλω το pagination και μέσα στο request?

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

Multiple sort php/mysql

Δημοσίευση από gvre » 09 Νοέμ 2010 16:13

Δεν κατάλαβα τι εννοείς :(

dtravlos
Δημοσιεύσεις: 244
Εγγραφή: 29 Ιαν 2009 15:03
Τοποθεσία: Keratsini
Επικοινωνία:

Multiple sort php/mysql

Δημοσίευση από dtravlos » 09 Νοέμ 2010 16:17

Επειδή μου είπες πως θα έχω τα στοιχεία του αρχικού sort. Δε θα μπορεί να τραβάει κανονικά το sort και στην αλλαγή της σελίδας;

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

Multiple sort php/mysql

Δημοσίευση από gvre » 09 Νοέμ 2010 16:21

Στην αλλαγή σελίδας ξαναφτιάχνεις το query. Άρα θα πρέπει να του ξαναπείς πως θα κάνει το sort. Συνήθως περνάς τα κριτήρια αυτά στο url.

Απάντηση

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

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

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