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

    aiutino: mysql_result(................)

    salve a tutti e ben tornati dalle vostre ferie (io mi sono accontentato di soli 10 giorni )

    torniamo a noi. Come da titolo sto utilizzando il comando mysql_result per estrarre dati da un db nn avendo l'id del record nella tabella (per vari motivi di progetto).

    dal manuale PHP leggo:
    mysql_result (RESOURCE risultato, INT numero riga, MIXED nome campo);

    script generale:
    mysql_result ($result,2 ,"nome_campo");
    in questo modo funzica perfettamente, ma se al posto del numeretto in rosso ci metto una variabile (contenente il numero della riga) lo script nn funge, ossia:
    $a = ($_POST['a']);
    mysql_result($result,$a,"nome_campo");

    qualche suggerimento????
    grazie mille

  2. #2
    Qualunque cosa fa mysql_result lo puo fare mysql_fetch_array, o sui simili.

    E' sconsigliato l'uso se hai vari risultati da estrarre.

    Per quanto riguarda la variabile fai un echo $a e vedi che c'e'.
    Deve essere un intero, i dati passati con POST sono stringhe, in questo caso mettici le virgolette.


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

  3. #3
    Originariamente inviato da piero.mac
    Qualunque cosa fa mysql_result lo puo fare mysql_fetch_array, o sui simili.

    E' sconsigliato l'uso se hai vari risultati da estrarre.

    Per quanto riguarda la variabile fai un echo $a e vedi che c'e'.
    Deve essere un intero, i dati passati con POST sono stringhe, in questo caso mettici le virgolette.

    grazie per il suggerimento...
    la variabile è un numero intero mandata da flash. Utilizzo mysql_result perchè deve estrarre i dati da una riga $a; con mysql_fetch_array nn saprei come fare, ossia, è possibile utilizzarla chidendogli di estrarre i dati dalla riga numero $a ?

    spulcio un pò in giro e vedo che trovo

  4. #4
    ok... con mysql_fecth_array($result) posso estrarre piùd ati da una riga; ma come faccio ad indicarli la seconda riga o ad esempio la terza?
    grazie mille

  5. #5
    Originariamente inviato da alempas
    ok... con mysql_fecth_row($result) posso estrarre piùdati da una riga; ma come faccio ad indicarli la seconda riga o ad esempio la terza?
    Ma come fai a sapere quale record devi estrarre... i record escono secondo l'ordinamento imposto da ORDER BY.

    Se sai quale record devi estrarre ti puoi muovere nel result set con mysql_data_seek

    Gli passa l'identificativo di risorsa ed il record numerico su cui spostarsi, anche con una variabile ovviamente.

    La var mettila comunque tra apici '$a' oppure forzala a numerico (casting) per esempio con:

    $a = $_POST['a'] * 1;

    Non mettere parentesi inutili, non servono ma devono essere risolte comunque se ci sono.



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

  6. #6
    Aspetta.... se intendi dire come fai ad avanzare nella lettura dei record allora devi mettere mysql_fetch_array (oppure _row o _assoc) dentro un WHILE.

    Estrarra' tutto fino a quando ricevera' un false....

    Ma non so se ho capito bene...


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

  7. #7
    hai ragione,è il caso che spieghi meglio... cmq quello che intendo fare è piùfacile da fareche da spiegare .

    ho un ciclo FOR in un filmato flash che mi genera "n" numeri, tanti quanti sono le righe della tab del db.
    Il numero totale delle righe lo estrapolo con:
    codice:
    $sql = "SELECT * FROM info_siti";
    $query = @mysql_query($sql, $connessione);
    $num = @mysql_num_rows($query);
    printf ("num=$num");
    mysql_close ($connessione) or die (errore());
    il numero totale delle righe è 4;
    sottraendo questo numero a quello generato dal ciclo for ho un numero compreso tra 0 e 4 (ad esempio 2 )
    a questo punto vorrei estrarre i dati della riga numero 2 del db

    LINK D'ESEMPIO
    come puoi notare dall'esempio, viene estratta solo l'img presente nel primo rigo della tabella
    grazie per l'aiuto piero.mac

  8. #8
    Quindi hai necessita' di "saltare" dentro il result set.

    potresti provare cosi:
    codice:
    $result = mysql_query($query,$conn) or die(mysql_error());
    mysql_data_seek($result,$a);
    $row = mysql_fetch_assoc($result);
    
    echo "<pre>";     // tanto per stampare l'array
    print_r($row);
    echo "</pre>";
    Da verificare sempre che $a risulti una variabile numerica.


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

  9. #9
    ok ci provo, grazie ancora

  10. #10
    scusate non ho capito bene il problema di alempas cmq io ho questa esigenza:

    devo inserire tutti i valori estratti con una query in varie parti di uan pagina html per cui non posso utilizzare il WHILE quindi mysql_result è l'unica soluzione?
    IO e TE 5 metri sopra il cielo.....perchè a 3 metri c'è già troppa gente.

    IO HO VISTO LA LUCE....

    Sono lo scippatore di emozioni

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.