Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Query sql select join

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    10

    Query sql select join

    Salve a tutti, ho un problema con una query di selezione, mi spiego: ho 2 tabelle una clienti, con idcli nomin cfpiva ecc, e l'altra prodotti con idprod, idcli, prodotto, sernum ecc. Facendo una query con join mi restituisce un errore tipo Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\Program Files (x86)\EasyPHP-5.3.5.0\www\rscerca.php on line 76. Mi dareste una mano...
    posto il codice
    Codice PHP:
      

    Clienti Trovati...</p>
      <table width="700" border="1">
        <tr>
          <td width="181">Nominativo</td>
          <td width="128">C.F/Rag.Soc</td>
          <td width="150">Prodotto</td>
          <td width="84">Serial n</td>
          <td width="123">Visualizza</td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td></td>
          <td></td>
          <td><input type="submit" name="vis" id="vis" value="Invia" /></td>
        </tr>
      
    <?php
    // CONNESSIONE AL DATABASE
    include('connect.php');

    // Seleziona tipo ricerca
    $find $_POST['find'];
    $radio $_POST['radio'];
    if (
    $radio == "nome")
    {
    $query mysql_query("SELECT * FROM prodotti AS idcli JOIN anagrafica AS idcli WHERE nomin LIKE '%$find%'");    

    //SELECT * FROM ordini AS o JOIN clienti AS c on o.idCliente = c.idCliente WHERE idOrdine > 1000;

    //$number = mysql_num_rows($query);
        
    while ($riga mysql_fetch_array($query)) { 
    //   echo $riga['idcli']." "; 
           
    $nomin $riga['nomin'];
           
    $cfpiva $riga['cfpiva'];
        
    $prodotto $riga['prodotto'];
        
    $sernmun $riga['sernum'];

    //   echo ("$riga['cfpiva'] 
    ");
    //   echo 
    $riga['ind'];
        //etc... 
        //echo ("
    $nomin 
     $cfpiva 
    ");
        echo "
    <tr>";
        echo "
    <td$nomin </td>";
        echo "
    <td$cfpiva </td>";
        echo "
    <td$prodotto </td>";
        echo "
    <td$sernum </td>";
        echo "
    <tdVisualizza </td>";
        echo "
    <td><input type='submit' name='vis' id='vis' value='Invia' /></td>";
        echo "
    </tr>";
        }
    }else
        {
        
    $query = mysql_query("SELECT FROM prodotti WHERE prodotto LIKE '%$find%'");    
    //    
    $number=mysql_num_rows($query);
    //    echo "
    Totale Clienti n°". $number;
        while (
    $riga = mysql_fetch_array($query)) { 
    //   echo 
    $riga['idcli']." "; 
       
    $nomin = $riga['nomin'];
       
    $cfpiva = $riga['cfpiva'];
    //   echo ("
    $riga['cfpiva'
    ");
    //   echo 
    $riga['ind'];
        //etc... 
        //echo ("
    $nomin 
     $cfpiva 
    ");
        echo "
    <tr>";
        echo "
    <td$nomin </td>";
        echo "
    <td$cfpiva </td>";
        echo "
    <tdVisualizza </td>";
        echo "
    </tr>";
        }    

    }
    ?>
      
      
      </table>

  2. #2
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    mysql_query() ti ritorna false se non ha successo. Ecco perchè in $query puoi ritrovarti un boolean al posto di una risorsa ed ottenere l'errore che hai indicato.

    In particolare l'errore nella istruzione SQL sta nel fatto che chiedi la join di due campi ma non indichi su quali campi effettuare il join con la clausola on.

    Ti rimando al manuale myslq per dettagli sulla sintassi da utilizzare.

    In più utilizzi gli AS in modo non corretto.

    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    10
    Allora ho risolto dando una ritoccata alla query e adesso pare funzioni, ora però ho un problemino un po più complicato, in una terza tabella di nome schede mi serve ricavare idsched, la tabella ha questi campi idsched idprod idcli datain ecc. Come posso modificare la mia query? scusate ma sono alle prime armi con php
    posto il codice
    Codice PHP:
      

    Clienti Trovati...</p>
      <table width="700" border="1">
        <tr>
          <td width="181">Nominativo</td>
          <td width="128">C.F/Rag.Soc</td>
          <td width="150">Prodotto</td>
          <td width="84">Serial n</td>
          <td width="123">Visualizza</td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td></td>
          <td></td>
          <td><input type="submit" name="vis" id="vis" value="Invia" /></td>
        </tr>
      
    <?php
    // CONNESSIONE AL DATABASE
    include('connect.php');

    // Seleziona tipo ricerca
    $find $_POST['find'];
    $radio $_POST['radio'];
    if (
    $radio == "nome")
    {
    $query mysql_query("SELECT anagrafica.nomin, anagrafica.cfpiva, prodotto, sernum FROM anagrafica INNER JOIN prodotti ON anagrafica.idcli = prodotti.idcli WHERE anagrafica.nomin LIKE '%$find%'");    

        while (
    $riga mysql_fetch_array($query)) { 
           
    $nomin $riga['nomin'];
           
    $cfpiva $riga['cfpiva'];
        
    $prodotto $riga['prodotto'];
        
    $sernum $riga['sernum'];

        echo 
    "<tr>";
        echo 
    "<td> $nomin </td>";
        echo 
    "<td> $cfpiva </td>";
        echo 
    "<td> $prodotto </td>";
        echo 
    "<td> $sernum </td>";
        echo 
    "<td><input type='submit' name='vis' id='vis' value='Invia' /></td>";
        echo 
    "</tr>";
        }
    }else
        {
    $query mysql_query("SELECT anagrafica.nomin, anagrafica.cfpiva, prodotto, sernum FROM anagrafica INNER JOIN prodotti ON anagrafica.idcli = prodotti.idcli WHERE prodotti.prodotto LIKE '%$find%'");

        while (
    $riga mysql_fetch_array($query)) { 
           
    $nomin $riga['nomin'];
           
    $cfpiva $riga['cfpiva'];
        
    $prodotto $riga['prodotto'];
        
    $sernum $riga['sernum'];
        echo 
    "<tr>";
        echo 
    "<td> $nomin </td>";
        echo 
    "<td> $cfpiva </td>";
        echo 
    "<td> $prodotto </td>";
        echo 
    "<td> $sernum </td>";
        echo 
    "<td><input type='submit' name='vis' id='vis' value='Invia' /></td>";
        echo 
    "</tr>";
        }    

    }
    ?>
      
      
      </table>

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.