Pagina 3 di 19 primaprima 1 2 3 4 5 13 ... ultimoultimo
Visualizzazione dei risultati da 31 a 45 su 278
  1. #31
    all'interno del ciclo for.. devi estrare i dati.. cioè.. i dati vengono estratti ad ogni iterazione del ciclo.. il ciclo infatti scorre le righe del database... e ad ogn iterazione estrae una riga...

    ponendo per ipotesi che tu abbia la tabella news con questi dati: id, titolo, testo

    dovrai fare una cosa del genere:

    $id = mysql_result($res,$i,'id');
    $titolo = mysql_result($res,$i,'titolo');
    $testo = mysql_result($res,$i,'testo');

    all'interno del ciclo for.. e dopo potrai usare le variabili in modo simile a come prima usavi $news[i]

    quindi:


    for ($i = $da; $i < $a; $i++)
    {
    //per esempio
    $id = mysql_result($res,$i,'id');
    $titolo = mysql_result($res,$i,'titolo');
    $testo = mysql_result($res,$i,'testo');

    //stampa a video di dati e HTML
    }

    http://it3.php.net/manual/it/function.mysql-result.php



  2. #32
    ok ora provo:gren: cmq ti farò sapere

  3. #33
    ok non mi esce ancora ecco il codice con i dati. se nn ti disturba troppo ti chiedo di configurarmelo

    <?
    /*
    le modifiche da apportare sono pochissime:
    - configurare a piacimento la variabile $recordxpag
    - configurare una variaile $query con il codice SQl per l'interrogazione del database
    - Inserire nel punto opportuno il messaggio di avviso in caso di nessun dato trovato
    - Inserire nel punto opportuno il codice che stampa i vostri record dopo averli manipolati come meglio credete
    */
    $host="127.0.0.1";
    $user="xxx";
    $pass="xxx";
    $db="ilcorvo";
    $table="mail";
    mysql_connect($host,$user,$pass) or die .mysql_error();
    mysql_select_db($db) or die .mysql_error();
    //per comodità configuriamo qui delle variabili che ci può essere utile modificare:
    //la seguente variabile indica quanti record vogliamo mostrare per ogni pagina.. chiaro no?
    $recordxpag = 5;
    $query = "SELECT * FROM $table";


    //interrogazione del database:
    //quale che sia la vostra query avremo una situazione del genere:
    $res = mysql_query($query);
    $righe = mysql_num_rows($res);

    $numpag = ceil($righe/$recordxpag);
    //con l'ultima istruzione otteniamo il numero di pagine necessarie a
    //visualizzare un numero di record per pagina pari al valore della
    //relativa variabile

    //nel punto in cui preferite, ma dopo l'interrogazione del database
    //[volendo anche dopo la visualizzazione dei dati che vedremo a breve]
    //includiamo lo script visto in precedenza che ci crea, come detto,
    //un piccolo menu' di link alle altre pagine generate dalla nostra
    //interrogazione del database.
    //ovviamente dovrete modificare eventualmente il path del file
    include('paginazione_1.php');

    //per scrupolo ipotizziamo che la nostra interrogazione non abbia
    //fornito risultati... chiaramente vogliamo segnalare la cosa
    //all'utente.. basta gestire un semplice condizionale
    if ($righe<1)
    {
    echo "non ci sono dati";
    //gestite l'evento come meglio credete
    }
    else
    {
    //a questo punto cosa abbiamo a nstra disposizione?
    //Abbiamo una variabile $pag [creata dallo script incluso] che ci informa
    //di quale sia la pagina corrente.. cosa ce ne facciamo?
    //semplice: ci basiamo su di essa e sul numero di record che
    //vogliamo mostrare in ogni pagina, per crearci i due estremi
    //dell'intervallo:

    //moltiplicando il numero di record per pagina, per la pagina
    //precedente, otteniamo il numero di record finora mostrati,
    //quindi quello da cui partire nella pagina corrente [img]images/smilies/wink.gif[/img]
    $da = (($pag-1) * $recordxpag);

    //non credo ci siano difficoltà: il limite destro del nostro
    //intervallo, sarà il limite sinitro incrementato dell'intervallo stesso [img]images/smilies/wink.gif[/img]
    $a = $da + $recordxpag;

    //quest'ultima condizione serve a dire allo script che se
    //nell'ultima pagina ci fossero meno record di quelli da visualizzare
    //si deve limitare all'ultimo record dispobnibile.
    //tradotto in algoritmo: se il limite destro dell'intervallo, va
    // oltre il numero dei record, poni il limite destro uguale al
    // numero dei record
    if ($a > $righe){$a=$righe;}

    for ($i = $da; $i < $a; $i++)
    {
    $indirizzo = mysql_result($res, $i,'indirizzo');
    $id=mysql_result($res,£i,'id');
    echo ("<TR><TD width=480><A href=?ris=$id[0]>$id[1]</A><FONT class=focusdate> - $id[3]:$id[4]</FONT></TD></TR>");
    echo ("<TR><TD width=480><img src=../img/grigio.gif height=1 width=480></TD></TR>");
    echo ("<TR><TD width=480><FONT class=definizione>$id[2]</FONT></TD></TR>");
    echo ("<TR><TD width=480><FONT class=definizione>

    </FONT></TD></TR>");
    }

    }
    ?>

    grazie

  4. #34
    hum.. ad occhio e croce è tutto ok... non ti da nessun errore? :\\\

  5. #35
    errori no mi visualizza solo caratteri sparsi per la pagina con collegamenti che non centrano niente

  6. #36
    Originariamente inviato da Scubbia
    errori no mi visualizza solo caratteri sparsi per la pagina con collegamenti che non centrano niente
    eh.. ma se non mi riporti gli errori.. :quipy:

  7. #37
    scusa ricordavo male dei caratteri sparsi mi visualizza solo questo


    1 - :

    - :

    - :

    - :

    - :

  8. #38
    non mi ero accorto.. hai usato ancora gli array

    devi usare $indirizzo ed $id!

  9. #39
    dove???

  10. #40
    echo ("<TR><TD width=480><A href=?ris=$id[0]>$id[1]</A><FONT class=focusdate> - $id[3]:$id[4]</FONT></TD></TR>");
    echo ("<TR><TD width=480><img src=../img/grigio.gif height=1 width=480></TD></TR>");
    echo ("<TR><TD width=480><FONT class=definizione>$id[2]</FONT></TD></TR>");
    echo ("<TR><TD width=480><FONT class=definizione>

    </FONT></TD></TR>");



    qui!

    tu usi $id[1] etc etc

    allora... tu sei abituato a mysql_fetch_array() che restituisce un array... ciooè.. se hai id ed insirizzo:

    $array = mysql_fetch_array(...);
    $array[0] -> id
    $array[1] -> indirizzo


    INVECE mysql result funziona così:
    $id = mysql__result(....'id');
    $indirizzo = mysql__result(....'indirizzo');
    $id -> id
    $indirizzo -> indirizzo


    Devi usare le variabili senza indice! non sono array!

  11. #41
    Utilizzando un ciclo while così strutturato come devo cambiare il tuo codice:

    while ($rigo=@mysql_fetch_array ($query)){ // classico cicletto per "estrarre" i records

    $a1 = $rigo ["id"];

  12. #42
    una domandina...nn sulla paginazione...ma...mysql_result nn è meno efficente di mysql_fetch_row\assoc\array ?

    xche da quanto ho visto crea 1 oggetto

    When working on large result sets, you should consider using one of the functions that fetch an entire row (specified below). As these functions return the contents of multiple cells in one function call, they're MUCH quicker than mysql_result(). Also, note that specifying a numeric offset for the field argument is much quicker than specifying a fieldname or tablename.fieldname argument.

    [...]

    Recommended high-performance alternatives: mysql_fetch_row(), mysql_fetch_array(), and mysql_fetch_object().
    uhm...conviene secondo me passara a mysql_fetch_XXXXX (che nn è XXX )

    :P

    ciapzzzzz
    cmq bella la pillola

  13. #43

    Re: [PILLOLA] Gestire le paginazioni (riveduta e corretta)

    Originariamente inviato da }gu|do[z]{®©
    et voilà... non è così difficile vero?

    Spero che questa pillola sia + chiara e semplice della precedente...
    :master:

    prprio facile non è ! !

    dovro studiare ancora parecchio !!

    cmq bravo !

  14. #44
    Utente di HTML.it L'avatar di f108
    Registrato dal
    Feb 2003
    Messaggi
    93

    Re: [PILLOLA] Gestire le paginazioni (riveduta e corretta)

    Originariamente inviato da }gu|do[z]{®©
    A
    //inizializzo come stringa vuota una variabile querystring che
    //appendo sempre ai miei link... quindi la lascio vuota se non mi
    //serve, la modifico come spiegato più avanti se mi serve
    $querystring = "";

    //eventuale modifica alla query string
    //OMESSA PER ORA

    /
    Per la modifica [FACOLTATIVA] della querystring:
    poniamo che abbia fatto un motore di ricerca e lo script mi serva per paginare i risultati. E' chiaro che se la mia pagina prenderà una variabile chiamata $chiave che indichi la chiave di ricerca, questa vada passata A TUTTE LE PAGINE della stampa dei risultati, e non solo alla prima pagina.

    Come fare?

    Semplicissimo:
    if ($chiave != '') $querystring .= "&chiave=$chiave";

    in questo modo la querystring appesa ai link non è + vuota, e fa il suo dovere.

    Sorge però un potenziale problema al di fuori di questo file, ovvero nello script che lo include: la variabile letta da query string è passata con il metodo GET... invece il form per il motore di ricerca che abbiamo ipotizzato potrebbe funzionare con il metodo POST.. avremmo quindi che nella prima pagina la variabile proverrà da un POST, nelle seguenti da un GET... la cosa ci crea qualche problema con le recenti versioni PHp in quanto di default è disattivata la registrazione delle variabili globali e dovremmo estrarre la variabile dall'opportuno array.. ma dato che questo array potrebbe variare, come fare? Beh.. semplice... se non siete certi che il metodo con cui passate variabili usate nell'interrogazione del database sia il metodo GET... nella pagina in cui è inclusa la paginazione usate assegnazioni del genere prima di usare queste variabili:

    $chiave = isset($_POST['chiave'])? $_POST['chiave'] : $_GET['chiave'];

    Ovviamente dovrete farlo per ogni variabile cambiando la parola "chiave" con il nome della variabile in questione.

    E questo è davvero tutto sulla creazione del menu dinamico di link alle pagine.
    ciao vorrei chiederti qualche delucidazione sull'utilizzo di querystring.

    allora io ho un form dove immetto i paramentri per la ricerca. eso richiama un file che fa effetivamente tutti i controlli e la ricerca sul zDB in esso ho messo la paginazione e tutto funziona corretamente ma ovviamente come avevi gia' detto devo passare la chiave di ricerca. ma dove devo mettere
    if ($chiave != '') $querystring .= "&chiave=$chiave";

    nel file paginazione o nel file dove lo includo in coda?
    ggg

  15. #45

    Re: Re: [PILLOLA] Gestire le paginazioni (riveduta e corretta)

    Originariamente inviato da f108
    ciao vorrei chiederti qualche delucidazione sull'utilizzo di querystring.

    allora io ho un form dove immetto i paramentri per la ricerca. eso richiama un file che fa effetivamente tutti i controlli e la ricerca sul zDB in esso ho messo la paginazione e tutto funziona corretamente ma ovviamente come avevi gia' detto devo passare la chiave di ricerca. ma dove devo mettere
    if ($chiave != '') $querystring .= "&chiave=$chiave";

    nel file paginazione o nel file dove lo includo in coda?
    dove ho scritto:

    //eventuale modifica alla query string
    //OMESSA PER ORA






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.