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

    risultato di una query dentro un array?

    Ciao a tutti,
    ho un problema con la paginazione di una query che è il risultato di una select su db access.

    In MySql, utilizzavo il LIMIT, mentre in Access, sono costretto ad usare il SELECT TOP, ma questo mi crea non pochi problemi a livello di prestazioni, in pratica è lento da far paura.

    Allora ho pensato che potevo mettere il risultato della query dentro un array e poi portarmelo "in giro" attraverso una var session.

    Solo che se uso una sintassi di questo tipo
    Codice PHP:
        $rs $conn->Execute($sql);
        
    //Memorizzo i dati dentro un array e poi nella sessione
        
    while (!$rs->EOF)
        {
            
    $utenti[] = $rs->Fields['Tester']->Value;
            
    $_SESSION['SELECT_SHOW'] = $utent[];
            
    $rs->MoveNext();    
        } 
    ho questo errore
    Fatal error: Cannot use [] for reading in C:\Programmi\Apache Group\Apache2\htdocs\web\...

    Ciao e grazie

  2. #2
    IMHO è una selta pessima sovraccaricare le sessioni.

    In ogni caso, elimina $_SESSION['SELECT_SHOW'] = $utent[]; dal while e metti questo codice dopo il while:

    Codice PHP:
    $_SESSION['SELECT_SHOW'] = $utenti

  3. #3
    ok, funziona...

    grazie mille

    IMHO è una selta pessima sovraccaricare le sessioni.
    hai qualche altro suggerimento ?

  4. #4
    ma se invece di un singolo campo, volessi mettere tutti i campi estratti dalla select all'interno dell'array cosa dovrei fare ?


    una cosa del genere ?
    Codice PHP:

        
    while (!$rs->EOF)
        {
            
    $utenti[] = $rs->Fields['Tester']->Value;
            
    $id[]     = $rs->Fields['ID']->Value;
            
    $_SESSION['SELECT_SHOW'] = $id;
            
    $_SESSION['SELECT_SHOW'] .= $utenti;
            
    $rs->MoveNext();    
        } 

  5. #5

  6. #6
    pictor, grazie per il suggerimento.

    Ma posso utilizzare le funzioni mysql, anche se utilizzo un db access??

  7. #7
    Ops! Perdona la distrazione

    Con Access dovresti utilizzare i metodi ADO teoricamente.

    Quindi qualcosa come
    Codice PHP:
    $utenti[] = $rs->GetRows(); 
    Prova così


    EDIT: Anzi no, senza parentesi quadre

  8. #8
    e per stampare i dati ?
    se provo a fare un echo mi da questo orrore

    Catchable fatal error: Object of class variant could not be converted to string i

  9. #9
    Codice PHP:
    var_dump($utenti); 
    ?

    E' un array... non puoi farci una echo....


    EDIT:
    Oppure per il singolo valore

    $utenti[$numeroRiga]["nomeAttributo"];

    tipo
    Codice PHP:
    $utenti[2]["Cognome"]; 
    tira fuori il cognome dell'utente del recordset alla posizione con indice 2.

  10. #10
    con vardump ($utenti) ottengo
    object(variant)#2 (0) { }
    mentre con
    Codice PHP:
    for ($i=0;$i<10;$i++){
        
            echo 
    "Cont[".$i."] Valore[".$utenti[$i]["ID"]."]";


    ottengo

    errore di just in time debugger

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.