Προς το περιεχόμενο

Mysql query πώς παίρνω τον αριθμό της εγγραφής??


christomar

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια σας παιδιά.

 

Έχω ένα 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 που μπορώ να χρησιμοποιήσω; Ευχαριστώ :-)

Δημοσ.

>
$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 εννοείται ότι θα βγει άλλος αριθμός

 

Αυτό το θες για κάποια εργασία σου;

Δημοσ.

>select count (id) from table where id < (select id from table where name='tade')

 

Το name πρέπει να είναι μοναδικό εδώ για κάθε εγγραφή

φυσικά αυτό άμα σε ενδιαφέρει ordering με το id

Δημοσ.
δεν βρίσκω το λόγο που δεν δουλεύει αυτό που παράθεσες..

 

Δε δουλεύει επειδή αυτός ο βρόγχος:

>while($row=mysql_fetch_assoc($result))//Για όλες τις εγγραφές που πληρούν τα κριτήρια
{
  if($row['name']!=$name)
  {
      $counter++;//Άθροισε αυτές που δε πληρούν τα κριτήρια (!)
  }
}

ουσιαστικά σου γυρίζει πάντα 0

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...