christomar Δημοσ. 30 Σεπτεμβρίου 2010 Δημοσ. 30 Σεπτεμβρίου 2010 Γεια σας παιδιά. Έχω ένα SELECT query του στυλ: $sql="SELECT * FROM table where name=tade"; Αυτό που θέλω είναι να μπορέσω να κρατήσω σε μία μεταβλητή σε ποιο row του table βρίσκεται το αποτέλεσμα που θα μου βγάλει το query. Δεν θέλω να τραβήξω το "id" το οποίο είναι auto_increment, γιατί μέσα απ'την εφαρμογή μπορούν να διαγραφούν ενδιάμεσες εγγραφές οπότε το id δεν μου δείχνει τη σωστή σειρά μέσα στο table που βρίσκεται η εγγραφή που θέλω. Π.χ. Το πάνω name (tade) βρίσκεται στο 3ο row του table μου, αλλά έχει id=6. Εγώ θέλω με κάποιον τρόπο να κρατήσω το 3. Αν μπορεί κάποιος να βοηθήσει θα το εκτιμούσα Έχω προσπαθήσει με αυτό τον τρόπο: $counter=1; $name="tade"; $sql="SELECT * FROM table where name=$name"; $result=mysql_query($sql, $db); while($row=mysql_fetch_assoc($result)) { if($row['name']!=$name) { $counter++; } } Αλλά δε δουλεύει. Υπάρχει κάποιο άλλο query που μπορώ να χρησιμοποιήσω; Ευχαριστώ
Uberalles_gr Δημοσ. 30 Σεπτεμβρίου 2010 Δημοσ. 30 Σεπτεμβρίου 2010 > $counter=1; $name="tade"; $position = ""; $sql="SELECT * FROM table ORDER ΒΥ id ASC"; $result=mysql_query($sql, $db); while($row=mysql_fetch_assoc($result)) { if ( $row['name'] == $name ) { $position = $counter; } $counter++; } echo $position; Να σημειώσω ότι θα βγει ας πούμε 10ο με βάση το order που γίνεται, δηλαδή το ID του πίνακα Εάν το κάνεις με άλλο ORDER εννοείται ότι θα βγει άλλος αριθμός Αυτό το θες για κάποια εργασία σου;
elefter Δημοσ. 1 Οκτωβρίου 2010 Δημοσ. 1 Οκτωβρίου 2010 >select count (id) from table where id < (select id from table where name='tade') Το name πρέπει να είναι μοναδικό εδώ για κάθε εγγραφή φυσικά αυτό άμα σε ενδιαφέρει ordering με το id
el02154 Δημοσ. 1 Οκτωβρίου 2010 Δημοσ. 1 Οκτωβρίου 2010 δεν βρίσκω το λόγο που δεν δουλεύει αυτό που παράθεσες..
dewn735 Δημοσ. 1 Οκτωβρίου 2010 Δημοσ. 1 Οκτωβρίου 2010 δεν βρίσκω το λόγο που δεν δουλεύει αυτό που παράθεσες.. Δε δουλεύει επειδή αυτός ο βρόγχος: >while($row=mysql_fetch_assoc($result))//Για όλες τις εγγραφές που πληρούν τα κριτήρια { if($row['name']!=$name) { $counter++;//Άθροισε αυτές που δε πληρούν τα κριτήρια (!) } } ουσιαστικά σου γυρίζει πάντα 0
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.