Problema con select su altervista

Ciao ho un problema con una select su altervista, in locale và benissimo, ho una pagina dove ci sono dei link nel formato:

 "Link1?categoria=Lavoro&sottocategoria=Organizazz. Di Produzione"cliccando si collega alla pagina Link1 dove ce una select che seleziona gli annunci presenti nella tabella per tutte le provincie interessate,categoria e sottocategoria lo faccio in questo modo

$lettura_risultati=mysql_query("select* from annunci where provincia = 'chieti' or provincia = 'teramo' and categoria = '$categoria' and sottocategoria = '$sottocategoria' && confermato = '1' order by date_time desc" );

Purtroppo la select non mi filtra i risulati per categoria e sottocategoria posto la parte di codice interessata:

<html>
<!------LINK CHE RICHIAMA LA PAGINA---------!>
<a href="leggi_annunci.php?categoria=Abbigliamento&sottocategoria=uomo">-Uomo</a>
</html>

leggi annnunci .php

<?php
$categoria = $_GET[categoria];
$sottocategoria = $_GET[sottocategoria];
$lettura_risultati=mysql_query("select* from annunci where provincia = 'chieti' or provincia = 'teramo' or provincia = 'laquila' or provincia ='pescara' and categoria = '$categoria' and sottocategoria = '$sottocategoria' and confermato = '1' order by date_time desc" );
  while($scatola_temporanea=mysql_fetch_array($lettura_risultati)){
     $id=$scatola_temporanea[id];
     $nome=$scatola_temporanea[nome];
     $titolo=$scatola_temporanea[titolo];
     $categoria=$scatola_temporanea[categoria];
     $date_time=$scatola_temporanea[date_time];
//non mi filtra alcun tipo di risultato se per sempio clicco sul link come questo:
<a href="leggi_annunci.php?categoria=Abbigliamento&sottocategoria=uomo">-Uomo</a> 
lui mi visualizza tutti gli annunci che fanno parte anche delle altre categorie e sottocategorie
?>

Grazie!! :bye:

inviato 6 anni fa
gianluca80
modificato 6 anni fa
X 0 X

Nella tua query usi OR e non AND, ciò significa che lui cerca o questo o quell'altro, non entrambi.

La query viene eseguita correttamente.

risposto 6 anni fa
Mario Santagiuliana
X 0 X

Ma se usassi AND tra le provincie mi cercherebbe solo i record con tutte le provincie....e non mi troverebbe nulla..ciascun record ha una provincia sola e a me servono i record  di tutte e quattro le provincie.

Come faccio a fare una query mi cerchi i record dove nella colonna provincie ce una delle quattro provincie?

risposto 6 anni fa
gianluca80
modificato 6 anni fa
X 0 X

Si, hai ragione, scusami...

Prova così:

SELECT * FROM annunci WHERE (provincia = 'chieti' OR provincia = 'teramo' OR provincia = 'laquila' OR provincia ='pescara') AND categoria = '$categoria' AND sottocategoria = '$sottocategoria' AND confermato = '1' ORDER BY date_time DESC
risposto 6 anni fa
Mario Santagiuliana
X 0 X

Ora ci provo grazie!

risposto 6 anni fa
gianluca80
X 0 X

Il codice tutto intero è cosi:

<?php
$categoria = $_GET['$categoria'];
$sottocategoria = $_GET['sottocategoria'];
echo "<table border=\"0\" height=\"25\" width=\"100%\" align=\"center\" bgcolor=\"#ff0000\" cellspacing=\"0\" cellpadding=\"0\" bordercolor=\"black\">";
echo "<tr>";
echo "<td>";
echo "<b>sei in: <i> <a href=\"../../index.htm\">Home Page</a>&nbsp >&nbsp <a href=\"abruzzo.htm\">Abruzzo</A>&nbsp >&nbsp <a href=\"leggi_annuncia.php?categoria=$categoria\">$categoria</a> &nbsp >&nbsp $sottocategoria</b></i>";
echo "</td>";
echo "</tr>";
echo "</tab>";
//FINE PERCORSO SITO-------------------------------------------------------!>
echo "<table border=\"0\" height=\"25\" width=\"100%\" align=\"center\" bgcolor=\"#ff0000\" cellspacing=\"0\" cellpadding=\"0\" bordercolor=\"black\">";
echo "<tr>";
echo "<td>";
echo "<center><b><i><u>per mettere un tuo annuncio con foto gratuitamente <a href=\"../../scrittura_annunci1.php\"> clicca qui</a></i></u></b></center></td>";
echo "</tr>";
echo "</tab>";
echo "<table border=\"2\" height=\"50\" width=\"100%\" align=\"center\" bgcolor=\"#ff0000\" cellspacing=\"2\" bordercolor=\"#2c8522\" cellpadding=\"2\">";
echo "<tr>";
echo "<td width=\"15%\" rowspan=\"2\">&nbsp<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></td>";
echo "<td width=\"70%\" height=\"10\" valign=\"top\"><i><b>Visualizza i risultati solamente per &nbsp<a href=\"http://localhost/annunciamonline/regioni/abruzzo/provincie/chieti/leggi_annunci1.php?categoria=$categoria&sottocategoria=$sottocategoria&cerco_offro=offro\">offro</a>&nbsp oppure per&nbsp<a href=\"leggi_annunci1.php?categoria=$categoria&sottocategoria=$sottocategoria&cerco_offro=cerco\"> cerco</a> </i></b></td>";
echo "<td width=\"15%\" rowspan=\"2\">&nbsp<br><br><br><br><br><br></td>";
echo "<tr>";
echo "<td valign=\"top\">";
$connessione = mysql_connect("localhost", "annunciamonline", "elettronica");
$selezione_db = mysql_select_db("my_annunciamonline", $connessione);
  $lettura_risultati=mysql_query("SELECT * FROM annunci WHERE (provincia = 'chieti' OR provincia = 'teramo' OR provincia = 'laquila' OR provincia = 'pescara') AND categoria = '$categoria' AND sottocategoria = '$sottocategoria' AND confermato = '1' ORDER BY date_time DESC" );
  while($scatola_temporanea=mysql_fetch_array($lettura_risultati)){
     $id=$scatola_temporanea[id];
     $nome=$scatola_temporanea[nome];
     $titolo=$scatola_temporanea[titolo];
     $categoria=$scatola_temporanea[categoria];
    $date_time=$scatola_temporanea[date_time];
?>

l idirizzo url è questo:

leggi_annunci.php?categoria=Abbigliamento&sottocategoria=bambino

quindi è giusto il passaggio dei dati dal link.....almeno penso che debba essere cosi!

ora non mi fa vedere nulla.....ma penso che non mi legga la $categoria, perchè faccio il percorso del sito con la stampa delle variabili e dove dovrebbe stamparmi categoria è vuota

risposto 6 anni fa
gianluca80
modificato 6 anni fa
X 0 X

Sbagli:

$categoria = $_GET['$categoria'];

Deve essere:

$categoria = $_GET['categoria'];
risposto 6 anni fa
Mario Santagiuliana
X 0 X

Si grazie Marios..avevo gia sistemato facendo copia incolla...ma non avevo capito ancora il perchè! :2funny:

 :bye: :bye:

risposto 6 anni fa
gianluca80
X 0 X

Adesso funziona correttamente?

risposto 6 anni fa
Mario Santagiuliana
X 0 X

si si va una bomba!

 :bye: :bye:

risposto 6 anni fa
gianluca80
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda