Query veloce veloce...

  • Creatore Discussione Creatore Discussione Trapano
  • Data di inizio Data di inizio

Trapano

Utente Attivo
27 Set 2012
238
0
16
49
Ciao a tutti...
In questa query,
PHP:
SELECT * FROM oggetti WHERE id LIKE '%$txt%' ORDER BY id DESC
Vado a prendere i campi della tabella oggetti che hanno 'id' = a XXX e li ordina.
Se volessi aggiungere nella lista anche i risultati del campo id_venditore = a XXX?
Dove XXX è lo stesso valore per entrambi...

Pensavo a una cosa del genere ma non mi funziona...
PHP:
SELECT * FROM oggetti WHERE id LIKE '%$txt%' AND id_venditore LIKE '%$txt%' ORDER BY id DESC

Dove sbaglio????
 
Ciao,
con AND deve soddisfare entrambe le condizioni
sostituiscilo con OR
 
ciao
ma perche non dovrebbe funzionare con l'AND?
dato che usa il like %tex% se in text ad es c'è "9" dovrebbe turare fuiri tutti i record in cui nell'id c'è un 9 e nell'id_venditore lo stesso
es.
1139336 225587 (non estratto)
1166992 589673 (estrato)

con l'OR li estrae entrambi
 
Così mi funziona...
PHP:
SELECT * FROM oggetti WHERE id LIKE '$txt' OR id_venditore LIKE '$txt' OR venduto_a LIKE '$txt' ORDER BY nome DESC

Se ci metto AND, no.
 
PHP:
SELECT * FROM oggetti WHERE id LIKE '$txt' OR id_venditore LIKE '$txt' OR venduto_a LIKE '$txt' ORDER BY nome DESC

Volevo anche dividerli, ma non riesco. Mettendo
PHP:
ORDER BY nome DESC
mi mette il risultato di "ID" all'inizio e va bene... ma mi mischia gli altri due risultati... Si può elencare prima "id_venditore" e poi "venduto_a"?
 
PHP:
<?php 
include_once ("config.php");  
include_once ("connect.php");  

$txt = $_POST['txt'];
$result = mysql_query("SELECT * FROM oggetti WHERE id LIKE '$txt' OR id_venditore LIKE '$txt' OR venduto_a LIKE '$txt' ORDER BY nome DESC");
$num=mysql_numrows($result);
 

echo "<table align='center' bgcolor='yellow' border='1' height='' width='100%' cellpadding='0' cellspacing='0'>"; 
echo "<tr> 
<th align='center'>Cod.Id</th>
<th align='center'>Data</th>
<th align='center'>Nome</th>
<th align='center'>Cognome</th>
<th align='center'>Descrizione</th>
<th align='center'>Prezzo</th>
<th align='center'>Q.ta'</th>
<th align='center'>%</th>
<th align='center'>Ha venduto</th>
<th align='center'>Ha comprato</th>
<th align='center'>Stato</th>
<th align='center'>data vendita</th>
<th align='center'>Stato</th>
<th align='center'>data rimborso</th>
</tr>"; 
 
while($row = mysql_fetch_array( $result )) { 
    $id=$row['id'];
    echo "<tr>
    <td align='center'><a href=\"modifica_oggetti.php?mod=$id\"><input style='color:black;background-color:#33FF33;' type='submit' value='".$row['id']."'></a></td>
    <td align='center'>".$row['data']."</td>
    <td align='center'>".$row['nome']."</td>
    <td align='center'>".$row['cognome']."</td>
    <td align='center'>".$row['descrizione']."</td>
    <td align='center'>".$row['prezzo']."</td>
    <td align='center'>".$row['quantita']."</td>
    <td align='center'>".$row['percento']."</td>
    <td align='center'>".$row['id_venditore']."</td>
    <td align='center'>".$row['venduto_a']."</td>
    <td align='center'>".$row['venduto']."</td>
    <td align='center'>".$row['data_vendita']."</td> 
	<td align='center'>".$row['pagamento']."</td>
	<td align='center'>".$row['data_rimborso']."</td></tr>";
     
        
}  
echo "Oggetti $num<br>\n";
echo "</table>"; 

?>
 
Ma a me così non va...
PHP:
("SELECT * FROM oggetti WHERE id LIKE '$txt' OR id_venditore LIKE '$txt' OR venduto_a LIKE '$txt' ORDER BY nome, id_venditore, venduo_a")
 
Ho risolto così...
PHP:
"SELECT * FROM oggetti WHERE id LIKE '$txt' OR id_venditore LIKE '$txt' OR venduto_a LIKE '$txt' ORDER BY venduto_a='$txt' , id_venditore='$txt' , id='$txt'"
 

Discussioni simili