Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346

    conteggio risultato query odbc

    Ciao,
    devo recuperare dei valori interrogando un db con funzioni odbc.
    interrogo il db con questa funzione:
    Codice PHP:
    $sqltxt="SELECT * FROM TABLE WHERE id='$codart'";
    // echo "DEBUG  $sqltxt 
    ";
     
    $result=odbc_exec($conn,$sqltxt) or die (" Errore nella query:  $sqltxt");    // esegue istruzione QUERY
    // devo sapere quante righe ho trovato
     echo odbc_num_rows(
    $result)." conto le righe";
    // qua devo controllare quante righe mi trova
    if(odbc_num_rows(
    $result)!=-1) {
    //se è una ok
    }
    else {
    //messaggio di errore

    il problema è che odbc_num_rows(...) mi restituisce sempre "-1"
    provando con count il valore è sempre "1".

    Sapete un modo per effetuare un controllo per sapere quanti risultati mi restituisce la query?

    Grazie a tutti.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Magari è valorizzata male la variabile $codart
    Fai una echo delle query prima di eseguirla, fai copia/incolla e la provi direttamente sul db e vedi che dice

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    non posos provarla da remoto purtroppo... cmq posos assicurarti che la query funziona correttamente, perchè se immetto un codarticolo forzato (00023..) che so che è presente, me lo restituisce correttamente in tutte le sue parti.
    ho letto che con alcuni driver quella funzione da problemi e restituisce sempre -1
    Per questo ho chiesto se percaso qualcuno conosce qualche altra soluzione.
    Riferimento a questa pagina:
    http://it.php.net/odbc_num_rows

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    Risolto...
    Il problema è che quella funzione non era supportata dla mio db!! per quello restituiva sempre -1 (data base AS400)

    Ho raggirato l'ostacolo facendo così:
    Codice PHP:
     $result=odbc_exec($conn,$sqltxt) or die (" Errore nella query:  $sqltxt");    // esegue istruzione QUERY
     
    $controllo=false;    
    while(
    odbc_fetch_row($result)){  // inizio ciclo do while per STMP00F
    $controllo true;// la imposto a vero se trova almeno un risultato!
    //eseguo processo

    }
     if (!
    $controllo
    //ovvero è rimasto false in quanto while(odbc_fetch_row($result)) non trova risultati
     
    {
    echo 
    " ATTENZIONE!!!
     CODICE ARTICOLO NON TROVATO.
     Riprovare inserendo un nuovo Cod. Articolo "
    ;
     } 


    magari può esser utile a qualcuno! ciau

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.