Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Individuare numero della riga in mysql

    supponiamo che io abbia una query "SELECT * FROM table"
    esiste un modo per sapere qual'è la riga in cui è presente l'username "x"?
    nella tabella ci sono 20 entry ad esempio
    devo ricavare in qualche modo il numero della riga dove l'username è uguale a "x"
    come posso ottenere qualcosa del genere in PHP/MySQL?

  2. #2
    Esegui un ciclo estraendo ogni record dalla resource restituita mysql_query ed esegui una semplice comparazione all'interno del ciclo.

  3. #3
    se fai l'interrogazione

    SELECT * FROM table where username <= "x"

    il numero di record estratti è proprio la posizione che x ha nella query

    SELECT * FROM table

    ammesso che username sia una chiave primaria.

    ciao
    sergio

  4. #4
    chi identifica un record in modo inequivocabile e' l'id associato ad una chiave primaria o unica. Il numero di riga come posizione spaziale del record estratto non ha alcun significato perche' dipende dall'ordinamento adottato e non serve per l'identificazione del record.

    Quindi direi che per identificare il record dove si trova un certo username la via certa sia:

    select id from tabella where username = 'x'

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Originariamente inviato da piero.mac
    chi identifica un record in modo inequivocabile e' l'id associato ad una chiave primaria o unica. Il numero di riga come posizione spaziale del record estratto non ha alcun significato perche' dipende dall'ordinamento adottato e non serve per l'identificazione del record.

    Quindi direi che per identificare il record dove si trova un certo username la via certa sia:

    select id from tabella where username = 'x'
    quotone ;-)

  6. #6
    in realtà la richiesta su una chiave primaria o su una selezione con clausula order by ha senso e potrebbe essere sensato voler sapere a quale riga, per esempio di un <select>/<option>, corrisponda un dato valore di questa chiave.
    Io non ci trovo niente di strano e la soluzione che ho proposto che impegna solo il server mysql mi sembra efficace, specialmente se i record della selezione fossero molti (nel caso di 20 va bene logicamente anche fare una scansione con un for o un while nel codice php).
    Evidentemente se la chiave non è primaria o se non è presente la clausola order by l'ordinamento non è a priori conoscibile.
    ciao
    sergio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.