Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: comando LIMIT con SQL

  1. #1

    comando LIMIT con SQL

    Ciao a tutti ho questa query

    Codice PHP:
    $query "SELECT
    nwPrevProdotti.IdLavoro,
    nwPrevProdotti.prodotto,
    nwPrevProdotti.tiratura1,
    nwPrevProdotti.tiratura2,
    nwPrevProdotti.tiratura3,
    nwPrevProdotti.tiratura4,
    nwPrevProdotti.prezzoUnitario1,
    nwPrevProdotti.prezzoUnitario2,
    nwPrevProdotti.prezzoUnitario3,
    nwPrevProdotti.prezzoUnitario4,
    nwPrevClienti.cliente,
    nwPrev.description,
    nwPrev.responsabile,
    nwPrevAgenti.agente

    FROM nwPrevProdotti
    LEFT JOIN nwPrevClienti ON  nwPrevProdotti.IdLavoro = nwPrevClienti.IdLavoro
    LEFT JOIN nwPrev        ON  nwPrevProdotti.IdLavoro = nwPrev.IdLavoro
    LEFT JOIN nwPrevAgenti  ON  nwPrevProdotti.IdLavoro = nwPrevAgenti.IdLavoro

    LIMIT 100 "

    però mi da il seguente errore

    codice:
    Warning: sqlsrv_fetch_array() expects parameter 1 to be resource, boolean given
    Idee?
    Griggio Claudio

  2. #2
    il problema non e' nella query ma nell'estrazione dei dati.

    Warning: sqlsrv_fetch_array() expects parameter 1 to be resource, boolean given

    devi passare il resource id# ... ma poi di quale db si sta parlando e cose' quella funzione?

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

  3. #3
    io ho 4 tabelle tutte collegate per un campo IdLavoro

    in teoria dovrebbe partire da nwPrevProdotti che è quella base.

    l'id poi lo passerò quando eseguo una ricerca al momento della prima apertura dovrebbe fornirmi tutti i record (che io vorrei limitare a 100)

    cosa intendi per funzione?
    Griggio Claudio

  4. #4
    Originariamente inviato da griggioclaudio
    io ho 4 tabelle tutte collegate per un campo IdLavoro

    in teoria dovrebbe partire da nwPrevProdotti che è quella base.

    l'id poi lo passerò quando eseguo una ricerca al momento della prima apertura dovrebbe fornirmi tutti i record (che io vorrei limitare a 100)

    cosa intendi per funzione?
    sqlsrv_fetch_array()

    ripeto, il problema non è nella query ma nello scritp che lo esegue.

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

  5. #5
    Appena torno al lavoro provo a postare il codice completo
    Griggio Claudio

  6. #6
    come promesso questo è il listato

    Codice PHP:
    if( $conn ) {
    {

    $query "SELECT
    nwPrevProdotti.IdLavoro,
    nwPrevProdotti.prodotto,
    nwPrevProdotti.tiratura1,
    nwPrevProdotti.tiratura2,
    nwPrevProdotti.tiratura3,
    nwPrevProdotti.tiratura4,
    nwPrevProdotti.prezzoUnitario1,
    nwPrevProdotti.prezzoUnitario2,
    nwPrevProdotti.prezzoUnitario3,
    nwPrevProdotti.prezzoUnitario4,
    nwPrevClienti.cliente,
    nwPrev.description,
    nwPrev.responsabile,
    nwPrevAgenti.agente

    FROM nwPrevProdotti
    LEFT JOIN nwPrevClienti ON  nwPrevProdotti.IdLavoro = nwPrevClienti.IdLavoro
    LEFT JOIN nwPrev        ON  nwPrevProdotti.IdLavoro = nwPrev.IdLavoro
    LEFT JOIN nwPrevAgenti  ON  nwPrevProdotti.IdLavoro = nwPrevAgenti.IdLavoro

    WHERE nwPrevProdotti.IdLavoro LIKE '%%'

    "
    ;
    }

    //

    // Perform Query
    $result sqlsrv_query($conn$query);


    if (!
    $result) {
        
    $texthtml .= 'Errore di query: ' sqlsrv_errors() . "
    "
    ;
        
    $texthtml .= 'Testo della query: ' $query;
    }


    while (
    $row sqlsrv_fetch_array($result)) {


        
    $texthtml .=  "<tr>";

        
    $texthtml .=  "<td>";
        
    $texthtml .=  $row['IdLavoro'];
        
    $texthtml .=  "
    "
    .$row['cliente'];
        
    $texthtml .=  "
    "
    .$row['agente'];
        
    $texthtml .= "
    "
    .$row['responsabile'];
        
    $texthtml .=  "</td>";

        
    $texthtml .=  "<td>";
        
    $texthtml .=  $row['prodotto'];
        
    $texthtml .=  "
    "
    .$row['description'];
        
    $texthtml .= "</td>";

        
    $texthtml .=  "<td>";
        
    $texthtml .=  $row['tiratura1'];
        
    $texthtml .=  "/";
        
    $texthtml .=  $row['tiratura2'];
        
    $texthtml .=  "/";
        
    $texthtml .=  $row['tiratura3'];
        
    $texthtml .=  "/";
        
    $texthtml .=  $row['tiratura4'];

        
    $texthtml .=  "
    "
    ;

        
    $texthtml .=  round($row['prezzoUnitario1'],4);
        
    $texthtml .=  "/";
        
    $texthtml .=  round($row['prezzoUnitario2'],4);
        
    $texthtml .=  "/";
        
    $texthtml .=  round($row['prezzoUnitario3'],4);
        
    $texthtml .=  "/";
        
    $texthtml .=  round($row['prezzoUnitario4'],4);
        
    $texthtml .=  "</td>";

        
    $texthtml .=  "</tr>";

    }

    // Free the resources associated with the result set
    // This is done automatically at the end of the script




    }
    else
    {
         
    $texthtml .= "Errore di connessione verificare file di programmazione.\n";
         die( 
    print_rsqlsrv_errors(), true));

    ???
    Griggio Claudio

  7. #7
    forse ricevi un FALSE dalla query. Metti il DIE subito dopo il controllo di $result.

    codice:
    // Perform Query
    $result = sqlsrv_query($conn, $query);
    
    
    if ($result === false) {
        $texthtml .= 'Errore di query: ' . sqlsrv_errors() . "
    ";
        $texthtml .= 'Testo della query: ' . $query;
    
        die();
    }
    Purtroppo non ho a disposizione SQL SERVER ....

    Sarebbe pero' meglio indicare gia' nel titolo del thread il tipo di server come previsto dal regolamento

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

  8. #8

    SQL SERVER

    Ho messo un die() ed effettivamente mi stampa "errore" quindi c'è un errore nella query?

    Codice PHP:
    if (!$result) {

        die(
    "errore");
        die(
    "sqlsrv_errors()");
        die(
    "$query")



    Griggio Claudio

  9. #9

    Re: SQL SERVER

    Originariamente inviato da griggioclaudio
    Ho messo un die() ed effettivamente mi stampa "errore" quindi c'è un errore nella query?

    Codice PHP:
    if (!$result) {

        die(
    "errore");
        die(
    "sqlsrv_errors()");
        die(
    "$query")



    dopo il primo die() muore tutto e non vedi l'errore. Stampa prima l'errore.

    Codice PHP:
    if (!$result) {

        echo 
    sqlsrv_errors();
        die(
    "$query");



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

  10. #10
    Facendo come mi dice tu mi stampa

    "Array"

    e poi la query
    Griggio Claudio

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.