Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1

    Tornare Ad Una Data Riga Dopo Un Ciclo For

    Buon giorno a tutti.

    Il mio obbiettivo è tornare ad una riga specifica dopo l'estrazione di dati da db tramite un ciclo for.
    Questo è il ciclo che estrae:

    $query = "SELECT * FROM tbl";
    $result = mysql_query($query) or die("errore...");
    $numrows = mysql_num_rows($result);

    for($x=0; $x<$numrows; $x++){

    $resrow = mysql_fetch_array($result);

    $prog_list++;

    }
    -Il ciclo mi estrare una cosa come 200 righe di informazioni, che gestisco con una tabella, per ognuna di queste righe ho un link che mi aggiorna la pagina in modo da poter aggironare il db con un dato che mi interessa.

    Il problema è che ad ogni refresh della pagina il ciclo estre di nuovo tutto, quindi se stavo lavorando alla riga numero 100 mi devo scorrere la pagina per andare a trovarla di nuovo.
    Ho letto della funzione mysql_data_seek()...
    Dovrei fare in modo di poter tornare alla riga appena modificata dopo il refresh, quini alla riga 100, per poter proseguire il lavoro da li in poi.
    Qualcuno mi sa dare qualche indicazione ?

    grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    128
    così come l'hai postato il tuo ciclo è un pò strano, comunque perchè durante il ciclo non salvi i dati in un array, così poi ti recuperi quello che vuoi?

  3. #3
    tieni conto che sono un megaprincipiante di php, saresti così gentile da farmi un esempio ?

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520

    Re: Tornare Ad Una Data Riga Dopo Un Ciclo For

    Originariamente inviato da alexgentili
    Il mio obbiettivo è tornare ad una riga specifica dopo l'estrazione di dati da db tramite un ciclo for.
    il tuo obbiettivo non è chiaro, che vuol dire tornare a una riga???

  5. #5
    intendo, visualizzare la stessa riga estratta dalla query sulla quale stavo lavorando prima del refresch della pagina.

    tenendo conto che le righe estratte dalla query sono molte, ecco perchè ho la necessità di tornare a quella riga estratta, altrimenti dovrei scorrere la pagina fino a ritrovarmela.

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    128
    ok, la cosa strana è che nel tuo ciclo non fai nulla. ogni volta salvi i risultati in un array, ma non estrai nessun dato. poi incrementi una variabile che (se parte da 1) sarà uguale al valore di $numrows, quindi non ha senso.

    innanzitutto bisognerebbe capire quello che vuoi fare durante il ciclo poniamo che ciò che vuoi fare è una tabella con i risultati della query, e contemporaneamente salvarti i dati in modo poi da utilizzare il record numero 100. potresti fare così, ti scrivo il codice "grezzo"

    Codice PHP:
    <html>
    <table>
    <thead>
      <tr>
        <th>COLONNA 1</th>
        <th>COLONNA 2</th>
      </tr>
    </thead>
    <tbody>
    <?php
    $query 
    "SELECT * FROM tbl";
    $result mysql_query($query) or die("errore...");
    $numrows mysql_num_rows($result);
    $i 1// apriamo un contatore
    while ($resrow mysql_fetch_array($result)){
    echo 
    "<tr><td>" $resrow["colonna1"] . "</td><td>" $resrow["colonna2"] ."</td></tr>";
    $valoredasalvare[$i] =  $resrow["colonna1"];
    $i++;
    }

    // finito il ciclo, recupero il valore del record numero 100 

    $recordcento $valoredasalvare[100];

    // ora chiudo la tabella, poi dovrai inserire il codice di ciò che vuoi fare col record 100
    ?>
    </tbody>
    </table>


    </html>

  7. #7
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    allora per ogni riga devi fare una cosa del genere


    <a name="riga0"></a>
    <a name="riga1"></a>
    <a name="riga2"></a>
    etc etc
    <a name="rigan"></a>


    per selezionare la riga n poi in fondo all'url quando torni alla pagina del for devi mettere #rigan

    ovvero www.tuosito.it/pagina.php#rigan

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    128
    ah ho capito cosa vuoi fare, beh in tal caso se ad ogni riga hai un link, è sufficiente che appendi al link l'id della riga (o comunque un valore univoco per quella riga), così poi recuperi solo quella riga.

    correggendo il codice postato prima

    Codice PHP:
    ........
    echo 
    "<tr>";
    echo 
    "<td>[url='aggiornapagina.php?id=".$resrow["colonna1"]."']" $resrow["colonna1"] . "[/url]</td>;
    echo "
    <td>" . $resrow["colonna2"] ."</td>;
    echo 
    "</tr>"
    ...... 
    poi nella pagina di aggiornamento ti trovi la variabile id. non so se la pagina è la stessa o un'altra, se è la stessa fai:

    Codice PHP:
    $id $_REQUEST["id"];
    if (isset(
    $id)) {
    // codice da eseguire se è stata richiesta una sola riga
    }
    else {
    // tabella con tutti i risultati della query

    tutto chiaro?

  9. #9
    ma non puoi rendere attiva la riga che ti interessa e inviare il valore via $_GET ad esempio?

    ...ops mentre scrivevo diabolik ha scritto quello che pensavo...

  10. #10
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    comunque credo che lui intenda posizionarsi in un certo punto della pagina web non come inviare la riga

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.