• Home
  • Forum
  • Fare Web
  • PHP

aggiungere la paginazione

  • Creatore Discussione Creatore Discussione searedone
  • Data di inizio Data di inizio 2 Gen 2012
Prec.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
Succ.
Primo Prec. 3 di 6 Succ. Ultimo
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 10 Gen 2012
  • #41
ho provato così

cerca_c.php

PHP:
 <?php
class MySQL{       
    function MySQL()       
    {       
        require_once "db_connect.php";  //metti l'once   
    }       
}
$aid = $_POST['aid'];   
    $bid = $_POST['bid']; 
     $cid = $_POST['cid'];       
$data = new MySQL();     
if(isset ($_POST['cerca_c'])){   
    $_SESSION['cerca_c']=$_POST['cerca_c'];   
}   
$cerca=mysql_escape_string(stripslashes($_SESSION['cerca_c']));   
if($cerca_c=="" || strlen($cerca_c)<2){   
    echo "dati inseriti non validi";   
    //e qui il ritorno alla pagina di inserimento o a quella che ti fa più piacere  
}else{  
  $query = "SELECT * FROM
    annunci INNER JOIN citta ON (annunci.cittaid=citta.id)
      INNER JOIN tipo ON (annunci.tipoid=tipo.id)
      INNER JOIN tipo ON (annunci.fasciaid=fascia.id)
       INNER JOIN modello ON (annunci.modelloid=modello.id)
     INNER JOIN users ON (annunci.user_id=users.id)
    
    WHERE citta LIKE '%$cerca%'  OR fascia LIKE '%$cerca%' OR tipo LIKE '%$cerca%' OR modello LIKE '%$cerca%' "; 

     $q = mysql_query($q) or die (mysql_error()) ;  
    $count=mysql_num_rows($q); 
    if($count == 0){  
        echo "Non ci sono risultati con la tua ricerca. Prova a cambiare la parola chiave";  
        //e qui il ritorno alla pagina di inserimento o a quella che ti fa più piacere es. registrati  
    }else{  
        //visto che ci sono dati inserisci anche la paginazione  
        require_once "paginazione.php";//metti l'once  
        $p = new Paging;  
        $max = 5;  
        // identifichiamo la pagina da cui iniziare la numerazione  
        $inizio = $p->paginaIniziale($max);  
        // troviamo il numero delle pagine che dovrà essere contato   
        $pagine = $p->contaPagine($count, $max);  
        $lim="LIMIT $inizio, $max";  
        $sq_lim=$q.$lim;//ripetere lo stesso codice uguale è sempre cattiva programmazione  
        $risultato=mysql_query($sq_lim);  
       
        while($row=mysql_fetch_array($q)){     
            $click_annuncio = $row['click_annuncio'];  
$id_annunci = $row['id_annunci'];  
$user_id = $row['id'];
    $modello = $row['modello'];
  $messaggio = substr($row['messaggio'], 0, 25);  
  $mq = $row['mq'];
  $prezzo = $row['prezzo']; 
  $tipologia = $row['tipologia']; 
    $sigla = $row['sigla']; 
   $tipo = $row['tipo']; 
  $name = $row['name']; 
   $locali = $row['locali']; 
  $via = $row['via']; 
  $citta = $row['citta']; 
  $username = $row['username']; 
  $email = $row['email']; 
   $condizioni = $row['condizioni']; 
    $regione = $row['regione']; 
     $tipo = $row['tipo']; 
      $condizioni = $row['condizioni']; 
       $logo_cliente = $row['logo_cliente']; 
          
   
   $nome_file = $row['nome_file']; 
  $tipo_file = $row['tipo_file']; 
  $dati_file = $row['dati_file']; 
   
  $nome_file_vero = $row['nome_file_vero']; 
  $tipo_file = $row['tipo_file']; 
  $dati_file = $row['dati_file']; 
   
            //cosa ci sta a fare in mezzo a una table <p class='three'> eventualmente la class dalla al td o al tr 
            //tra l'altro non c'è la chiusura del tag </p> 
            //poi c'è una chiusura </table> nel mezzo (quindi hai messo due chiusure e una sila apertura) e 
            //ci sono dei tr non aperti ma solo chiusi 
            echo" <h5><table width='100%'>"; 
  echo" <tr>"; 
   echo" <p class='three'><td colspan='3'> <a href=\"rannunci.php?id=$id_annunci\"/>$via,$citta,$name,$sigla,$regione</a></td>"; 
 echo" </tr>"; 
 echo" <tr>"; 
  echo"  <td width='14%' bgcolor='#f4f9fd'> <a href=\"rannunci.php?id=$id_annunci\"/><img src='immagini2.php?id_annunci=$id_annunci' name='nome_file'  alt'' width='150' height='150'  /></a></td>"; 
  echo"  <td width='45%' bgcolor='#f4f9fd'><table width='100%'>"; 
   echo"   <tr>"; 
    echo"    <td>Stato Imbarcazione :<br /> $tipo <br /> Tipo imbarcazione: <br />$modello<br /></td>"; 
    echo"  </tr>"; 
    echo"  <tr>"; 
      echo"  <td> <a href=\"rannunci.php?id=$id_annunci\"/><button class=\"button orangeButt\">Vedi dettagli </button></td>"; 
echo"</tr>"; 
 echo"     <tr>"; 
    echo"    <td>&nbsp;</td>"; 
    echo"  </tr>"; 
   echo" </table></td>"; 
  echo"  <td width='31%' bgcolor='#f4f9fd'>Prezzo:$prezzo<br />Lunghezza:$mq<br />Cabine:$locali</p> <a href=\"rannunci.php?id=$id_annunci\"/><img src='immagini1.php?id=$user_id' name='nome_file_vero' width='150' height='40'/></a></td>"; 
  echo"</tr>"; 
echo"</table></h5>"; 

}  

        $lista = $p->listaPagine($_GET['p'], $pagine); 
        echo "<tr><td colspan=\"3\">"; 
        echo "$lista . <br>"; 
          $navigatore = $p->precedenteSuccessiva($_GET['p'], $pagine);  
         echo $navigatore;  
        echo "</td></tr>"; 
        echo"</table></h5>"; 
    }//fine if-else ci sono dati 
}//fine if-else post giusto 
?>

form cerca

PHP:
  <?php
  require ("db_connect.php"); 
  $aid = $_POST['aid'];  
    $bid = $_POST['bid'];
     $cid = $_POST['cid'];
   $fascias = @mysql_query ("SELECT id, fascia FROM fascia");
  if (!$fascias) {
  exit('<p>unable to obtain fascias </p>');
  }
  $tipos = @mysql_query ("SELECT id, tipo FROM tipo ");
  if (!$tipos) {
  exit('<p>unable to obtain tipos </p>');
  }
  $modellos = @mysql_query ("SELECT id, modello FROM modello ");
  if (!$modellos) {
 exit('<p>unable to obtain tipos </p>');
  }
  ?>
  <table width="100%">
  <tr>
    <td width="22%"><p><img src="immagini/logo2.jpg" width="168" height="135" /></p>
    <p>
    <h2>Raffina la ricerca</h2>
    </p></td>
    <td width="78%">
    <table width="100%">
          <tr>
            <th width="90%" align="center" valign="bottom" scope="col">&nbsp;</th>
            <th width="9%" scope="col"></th>
          </tr>
          <tr>
  <td align="center" valign="bottom"> <h2>Vendita Barche</h2> <hr /><h5>inserisci: un comune o una provincia o una regione o una citta' </h5>
           <form action='cerca_c.php' method='POST'>
           <input type='text' tabindex='15' name='cerca_c' class='input' size="15" >
  <select name="aid" size="1">
  <option selected value="">Seleziona fascia prezzo</option>
 <?php
   while ($fascia = mysql_fetch_array($fascias)) {
    $aid = $fascia['id'];
    $afascia = htmlspecialchars($fascia['fascia']);
    echo "<option value='$aid'>$afascia</option>\n";
  }
  ?>
</select>

<select name="cid" size="1">
  <option selected value="">Tipologia barca</option>
<?php
   while ($modello = mysql_fetch_array($modellos)) {
    $cid = $modello['id'];
    $cmodello = htmlspecialchars($modello['modello']);
    echo "<option value='$cid'>$cmodello</option>\n";
  }
  ?>
</select>

<select name="bid" size="1">
  <option selected value="">Seleziona tipo annuncio</option>
  
<?php
   while ($tipo = mysql_fetch_array($tipos)) {
    $bid = $tipo['id'];
    $btipo = htmlspecialchars($tipo['tipo']);
    echo "<option value='$bid'>$btipo</option>\n";
  }
  ?>

ma mi da sempre

echo "dati inseriti non validi";
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 10 Gen 2012
  • #42
PHP:
$cerca = mysql_escape_string(stripslashes($_SESSION['cerca_c']));
if ($cerca_c == "" || strlen($cerca_c) < 2) {
    echo "dati inseriti non validi";
    //e qui il ritorno alla pagina di inserimento o a quella che ti fa più piacere  
}

Fai un controllo su $cerca_c che non esiste visto che inizializzi la variabile $cerca
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 10 Gen 2012
  • #43
Solitamente funziona..

qui voglio solo trovare i campi dei menu a tendina insieme alla città
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 10 Gen 2012
  • #44
Non ho letto tutto il codice

ma se il campo
PHP:
<input type='text' tabindex='15' name='cerca_c' class='input' size="15" >
viene lasciato vuoto la tua condizione sarà sempre vera e il messaggio
PHP:
echo "dati inseriti non validi";

verrà sempre stampato


Comincia con sistemare quella in questo modo

PHP:
$cerca = mysql_escape_string(stripslashes($_SESSION['cerca_c']));
if (strlen($cerca) < 2 && $aid == "" && $bid == "" && $cid == "") {
    echo "dati inseriti non validi";
    //e qui il ritorno alla pagina di inserimento o a quella che ti fa più piacere  
}

questo vuol dire che stampi il messaggio solo se $cerca è troppo corto e se tutti i campi sono vuoti
altrimenti se hai anche un solo dato valido vai avanti.

Poi secondo me dovresti rivedere la query aggiungendo le cocndizioni per icampi ricevuti dalle select del form

PHP:
$query = "SELECT * FROM annunci 
                           INNER JOIN citta ON (annunci.cittaid=citta.id)
                           INNER JOIN tipo ON (annunci.tipoid=tipo.id)
                           INNER JOIN tipo ON (annunci.fasciaid=fascia.id)
                           INNER JOIN modello ON (annunci.modelloid=modello.id)
                           INNER JOIN users ON (annunci.user_id=users.id)
                           WHERE 1";
if($cerca != "") {
$query.= " &&  (citta.citta LIKE '%$cerca%'  OR fascia.fascia LIKE '%$cerca%' OR tipo.tipo LIKE '%$cerca%' OR modello.modello LIKE '%$cerca%')";
}

if($aid != "") {
$query.= " && fascia.fascia = '$aid'";
}

nella query ripeti due volte la JOIN sulla tabella 'tipo' Probabilemte li va un errore e non ti da risultati

troppe tabelle .. non potevi farne proprio a meno?

Se i campi non sono validi o la ricerca non produce risultati dovresti tornare alla pagina del form

C'è un po di confusione ma credo che riuscirai a risolvere.... con un po di calma
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 10 Gen 2012
  • #45
Speriamo .... mi o sono messo in un loop tremendo ..

cmq ho fatto così e mi dice Query was empty

codice

PHP:
 <?php
class MySQL{       
    function MySQL()       
    {       
        require_once "db_connect.php";  //metti l'once   
    }       
}
$aid = $_POST['aid'];   
    $bid = $_POST['bid']; 
     $cid = $_POST['cid'];       
$data = new MySQL();     
if(isset ($_POST['cerca_c'])){   
    $_SESSION['cerca_c']=$_POST['cerca_c'];   
}   
$cerca = mysql_escape_string(stripslashes($_SESSION['cerca_c'])); 
if (strlen($cerca) < 2 && $aid == "" && $bid == "" && $cid == "") { 
    echo "dati inseriti non validi"; 
    //e qui il ritorno alla pagina di inserimento o a quella che ti fa più piacere   
}  else{  
  $query = "SELECT * FROM annunci  
                           INNER JOIN citta ON (annunci.cittaid=citta.id) 
                           INNER JOIN tipo ON (annunci.tipoid=tipo.id) 
                           INNER JOIN tipo ON (annunci.fasciaid=fascia.id) 
                           INNER JOIN modello ON (annunci.modelloid=modello.id) 
                           INNER JOIN users ON (annunci.user_id=users.id) 
                           WHERE 1"; 
if($cerca != "") { 
$query.= " &&  (citta.citta LIKE '%$cerca%'  OR fascia.fascia LIKE '%$cerca%' OR tipo.tipo LIKE '%$cerca%' OR modello.modello LIKE '%$cerca%')"; 
} 

if($aid != "") { 
$query.= " && fascia.fascia = '$aid'"; 
}  
     $q = mysql_query($q) or die (mysql_error()) ;  
    $count=mysql_num_rows($q); 
    if($count == 0){  
        echo "Non ci sono risultati con la tua ricerca. Prova a cambiare la parola chiave";  
        //e qui il ritorno alla pagina di inserimento o a quella che ti fa più piacere es. registrati  
    }else{  
        //visto che ci sono dati inserisci anche la paginazione  
        require_once "paginazione.php";//metti l'once  
        $p = new Paging;  
        $max = 5;  
        // identifichiamo la pagina da cui iniziare la numerazione  
        $inizio = $p->paginaIniziale($max);  
        // troviamo il numero delle pagine che dovrà essere contato   
        $pagine = $p->contaPagine($count, $max);  
        $lim="LIMIT $inizio, $max";  
        $sq_lim=$q.$lim;//ripetere lo stesso codice uguale è sempre cattiva programmazione  
        $risultato=mysql_query($sq_lim);  
       
        while($row=mysql_fetch_array($q)){     
            $click_annuncio = $row['click_annuncio'];  
$id_annunci = $row['id_annunci'];  
$user_id = $row['id'];
    $modello = $row['modello'];
  $messaggio = substr($row['messaggio'], 0, 25);  
  $mq = $row['mq'];
  $prezzo = $row['prezzo']; 
  $tipologia = $row['tipologia']; 
    $sigla = $row['sigla']; 
   $tipo = $row['tipo']; 
  $name = $row['name']; 
   $locali = $row['locali']; 
  $via = $row['via']; 
  $citta = $row['citta']; 
  $username = $row['username']; 
  $email = $row['email']; 
   $condizioni = $row['condizioni']; 
    $regione = $row['regione']; 
     $tipo = $row['tipo']; 
      $condizioni = $row['condizioni']; 
       $logo_cliente = $row['logo_cliente']; 
          
   
   $nome_file = $row['nome_file']; 
  $tipo_file = $row['tipo_file']; 
  $dati_file = $row['dati_file']; 
   
  $nome_file_vero = $row['nome_file_vero']; 
  $tipo_file = $row['tipo_file']; 
  $dati_file = $row['dati_file']; 
   
            //cosa ci sta a fare in mezzo a una table <p class='three'> eventualmente la class dalla al td o al tr 
            //tra l'altro non c'è la chiusura del tag </p> 
            //poi c'è una chiusura </table> nel mezzo (quindi hai messo due chiusure e una sila apertura) e 
            //ci sono dei tr non aperti ma solo chiusi 
            echo" <h5><table width='100%'>"; 
  echo" <tr>"; 
   echo" <p class='three'><td colspan='3'> <a href=\"rannunci.php?id=$id_annunci\"/>$via,$citta,$name,$sigla,$regione</a></td>"; 
 echo" </tr>"; 
 echo" <tr>"; 
  echo"  <td width='14%' bgcolor='#f4f9fd'> <a href=\"rannunci.php?id=$id_annunci\"/><img src='immagini2.php?id_annunci=$id_annunci' name='nome_file'  alt'' width='150' height='150'  /></a></td>"; 
  echo"  <td width='45%' bgcolor='#f4f9fd'><table width='100%'>"; 
   echo"   <tr>"; 
    echo"    <td>Stato Imbarcazione :<br /> $tipo <br /> Tipo imbarcazione: <br />$modello<br /></td>"; 
    echo"  </tr>"; 
    echo"  <tr>"; 
      echo"  <td> <a href=\"rannunci.php?id=$id_annunci\"/><button class=\"button orangeButt\">Vedi dettagli </button></td>"; 
echo"</tr>"; 
 echo"     <tr>"; 
    echo"    <td>&nbsp;</td>"; 
    echo"  </tr>"; 
   echo" </table></td>"; 
  echo"  <td width='31%' bgcolor='#f4f9fd'>Prezzo:$prezzo<br />Lunghezza:$mq<br />Cabine:$locali</p> <a href=\"rannunci.php?id=$id_annunci\"/><img src='immagini1.php?id=$user_id' name='nome_file_vero' width='150' height='40'/></a></td>"; 
  echo"</tr>"; 
echo"</table></h5>"; 

}  

        $lista = $p->listaPagine($_GET['p'], $pagine); 
        echo "<tr><td colspan=\"3\">"; 
        echo "$lista . <br>"; 
          $navigatore = $p->precedenteSuccessiva($_GET['p'], $pagine);  
         echo $navigatore;  
        echo "</td></tr>"; 
        echo"</table></h5>"; 
    }//fine if-else ci sono dati 
}//fine if-else post giusto 
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 11 Gen 2012
  • #46
ciao
intanto metti
WHERE 1=1 ";

WHERE 1 non è una condizione
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 11 Gen 2012
  • #47
cambia
PHP:
 $q = mysql_query($q) or die (mysql_error()) ;

con

PHP:
 $q = mysql_query($query) or die (mysql_error()) ;


$q é vuota fino a quel momento

credo che WHERE 1 o WHERE 1=1 si equivalgono (è sempre vera)

meglio 1=1
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 11 Gen 2012
  • #48
Ho provato così funge ma mi da' tutti i risultati ..

non fa' il chirurgo

PHP:
 <?php
class MySQL{       
    function MySQL()       
    {       
        require_once "db_connect.php";  //metti l'once   
    }       
}
$aid = $_POST['aid'];   
    $bid = $_POST['bid']; 
     $cid = $_POST['cid'];       
$data = new MySQL();     
if(isset ($_POST['cerca_c'])){   
    $_SESSION['cerca_c']=$_POST['cerca_c'];   
}   
$cerca = mysql_escape_string(stripslashes($_SESSION['cerca_c'])); 
if (strlen($cerca) < 2 && $aid == "" && $bid == "" && $cid == "") { 
    echo "dati inseriti non validi"; 
    //e qui il ritorno alla pagina di inserimento o a quella che ti fa più piacere   
}  else{  
  $q = "SELECT * FROM annunci  
                           INNER JOIN citta ON (annunci.cittaid=citta.id) 
                           INNER JOIN tipo ON (annunci.tipoid=tipo.id) 
                           INNER JOIN fascia ON (annunci.fasciaid=fascia.id) 
                           INNER JOIN modello ON (annunci.modelloid=modello.id) 
                           INNER JOIN users ON (annunci.user_id=users.id) 
                           WHERE 1=1 "; 
if($cerca != "") { 
$query.= " &&  (citta.citta LIKE '%$cerca%'  OR fascia.fascia LIKE '%$cerca%' OR tipo.tipo LIKE '%$cerca%' OR modello.modello LIKE '%$cerca%')"; 
} 

if($aid != "") { 
$query.= " && fascia.fascia = '$aid'"; 
}  
     $q = mysql_query($q) or die (mysql_error()) ;  
    $count=mysql_num_rows($q); 
    if($count == 0){  
        echo "Non ci sono risultati con la tua ricerca. Prova a cambiare la parola chiave";  
        //e qui il ritorno alla pagina di inserimento o a quella che ti fa più piacere es. registrati  
    }else{  
        //visto che ci sono dati inserisci anche la paginazione  
        require_once "paginazione.php";//metti l'once  
        $p = new Paging;  
        $max = 5;  
        // identifichiamo la pagina da cui iniziare la numerazione  
        $inizio = $p->paginaIniziale($max);  
        // troviamo il numero delle pagine che dovrà essere contato   
        $pagine = $p->contaPagine($count, $max);  
        $lim="LIMIT $inizio, $max";  
        $sq_lim=$q.$lim;//ripetere lo stesso codice uguale è sempre cattiva programmazione  
        $risultato=mysql_query($sq_lim);  
       
        while($row=mysql_fetch_array($q)){     
            $click_annuncio = $row['click_annuncio'];  
$id_annunci = $row['id_annunci'];  
$user_id = $row['id'];
    $modello = $row['modello'];
  $messaggio = substr($row['messaggio'], 0, 25);  
  $mq = $row['mq'];
  $prezzo = $row['prezzo']; 
  $tipologia = $row['tipologia']; 
    $sigla = $row['sigla']; 
   $tipo = $row['tipo']; 
  $name = $row['name']; 
   $locali = $row['locali']; 
  $via = $row['via']; 
  $citta = $row['citta']; 
  $username = $row['username']; 
  $email = $row['email']; 
   $condizioni = $row['condizioni']; 
    $regione = $row['regione']; 
     $tipo = $row['tipo']; 
      $condizioni = $row['condizioni']; 
       $logo_cliente = $row['logo_cliente']; 
          
   
   $nome_file = $row['nome_file']; 
  $tipo_file = $row['tipo_file']; 
  $dati_file = $row['dati_file']; 
   
  $nome_file_vero = $row['nome_file_vero']; 
  $tipo_file = $row['tipo_file']; 
  $dati_file = $row['dati_file']; 
   
            //cosa ci sta a fare in mezzo a una table <p class='three'> eventualmente la class dalla al td o al tr 
            //tra l'altro non c'è la chiusura del tag </p> 
            //poi c'è una chiusura </table> nel mezzo (quindi hai messo due chiusure e una sila apertura) e 
            //ci sono dei tr non aperti ma solo chiusi 
            echo" <h5><table width='100%'>"; 
  echo" <tr>"; 
   echo" <p class='three'><td colspan='3'> <a href=\"rannunci.php?id=$id_annunci\"/>$via,$citta,$name,$sigla,$regione</a></td>"; 
 echo" </tr>"; 
 echo" <tr>"; 
  echo"  <td width='14%' bgcolor='#f4f9fd'> <a href=\"rannunci.php?id=$id_annunci\"/><img src='immagini2.php?id_annunci=$id_annunci' name='nome_file'  alt'' width='150' height='150'  /></a></td>"; 
  echo"  <td width='45%' bgcolor='#f4f9fd'><table width='100%'>"; 
   echo"   <tr>"; 
    echo"    <td>Stato Imbarcazione :<br /> $tipo <br /> Tipo imbarcazione: <br />$modello<br /></td>"; 
    echo"  </tr>"; 
    echo"  <tr>"; 
      echo"  <td> <a href=\"rannunci.php?id=$id_annunci\"/><button class=\"button orangeButt\">Vedi dettagli </button></td>"; 
echo"</tr>"; 
 echo"     <tr>"; 
    echo"    <td>&nbsp;</td>"; 
    echo"  </tr>"; 
   echo" </table></td>"; 
  echo"  <td width='31%' bgcolor='#f4f9fd'>Prezzo:$prezzo<br />Lunghezza:$mq<br />Cabine:$locali</p> <a href=\"rannunci.php?id=$id_annunci\"/><img src='immagini1.php?id=$user_id' name='nome_file_vero' width='150' height='40'/></a></td>"; 
  echo"</tr>"; 
echo"</table></h5>"; 

}  

        $lista = $p->listaPagine($_GET['p'], $pagine); 
        echo "<tr><td colspan=\"3\">"; 
        echo "$lista . <br>"; 
          $navigatore = $p->precedenteSuccessiva($_GET['p'], $pagine);  
         echo $navigatore;  
        echo "</td></tr>"; 
        echo"</table></h5>"; 
    }//fine if-else ci sono dati 
}//fine if-else post giusto 
?>
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 11 Gen 2012
  • #49
o la chiami $q o la chiami $query

PHP:
$q = "SELECT * FROM annunci  
                           INNER JOIN citta ON (annunci.cittaid=citta.id) 
                           INNER JOIN tipo ON (annunci.tipoid=tipo.id) 
                           INNER JOIN fascia ON (annunci.fasciaid=fascia.id) 
                           INNER JOIN modello ON (annunci.modelloid=modello.id) 
                           INNER JOIN users ON (annunci.user_id=users.id) 
                           WHERE 1=1 ";
    if ($cerca != "") {
        $query.= " &&  (citta.citta LIKE '%$cerca%'  OR fascia.fascia LIKE '%$cerca%' OR tipo.tipo LIKE '%$cerca%' OR modello.modello LIKE '%$cerca%')";
    }

    if ($aid != "") {
        $query.= " && fascia.fascia = '$aid'";
    }
    $q = mysql_query($q) or die(mysql_error());
    $count = mysql_num_rows($q);

$query.= " diventerà $q.= " etc

in più devi aggiungere le condizioni su $bid e $cid
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 11 Gen 2012
  • #50
Ciao e grazie mille intanto ...

ho fatto la seguente modifica

PHP:
$cerca = mysql_escape_string(stripslashes($_SESSION['cerca_c'])); 
if (strlen($cerca) < 2 && $aid == "" && $bid == "" && $cid == "") { 
    echo "dati inseriti non validi"; 
    //e qui il ritorno alla pagina di inserimento o a quella che ti fa più piacere   
}  else{  
  $q = "SELECT * FROM annunci  
                           INNER JOIN citta ON (annunci.cittaid=citta.id) 
                           INNER JOIN tipo ON (annunci.tipoid=tipo.id) 
                           INNER JOIN fascia ON (annunci.fasciaid=fascia.id) 
                           INNER JOIN modello ON (annunci.modelloid=modello.id) 
                           INNER JOIN users ON (annunci.user_id=users.id) 
                           WHERE 1=1 "; 
if($cerca != "") { 
$q.= " &&  (citta LIKE '%$cerca%'  OR fascia LIKE '%$cerca%' OR tipo LIKE '%$cerca%' OR modello LIKE '%$cerca%')"; 
} 

if($aid != "") { 
$q.= " && fascia.fascia = '$aid'"; 
}  
     $q = mysql_query($q) or die (mysql_error()) ;  
    $count=mysql_num_rows($q); 
    if($count == 0){

HO messo q al posto di query ....

in più devi aggiungere le condizioni su $bid e $cid
Clicca per allargare...

questo intendi qui ???

PHP:
$aid = $_POST['aid'];   
    $bid = $_POST['bid']; 
     $cid = $_POST['cid'];

Oppure intendi così

PHP:
if($cerca != "") { 
$q.= " &&  (citta LIKE '%$cerca%'  OR fascia LIKE '%$cerca%' OR tipo LIKE '%$cerca%' OR modello LIKE '%$cerca%')"; 
} 

if($aid != "") { 
$q.= " && fascia.fascia = '$aid'"; 
}  
if($bid != "") { 
$q.= " && modello.modello = '$bid'"; 
}  
if($cid != "") { 
$q.= " && tipo.tipo = '$cid'"; 
}
 
Ultima modifica: 11 Gen 2012
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 11 Gen 2012
  • #51
cosi mi da' Non ci sono risultati con la tua ricerca. Prova a cambiare la parola chiave

PHP:
 <?php
class MySQL{       
    function MySQL()       
    {       
        require_once "db_connect.php";  //metti l'once   
    }       
}
$aid = $_POST['aid'];   
    $bid = $_POST['bid']; 
     $cid = $_POST['cid'];       
$data = new MySQL();     
if(isset ($_POST['cerca_c'])){   
    $_SESSION['cerca_c']=$_POST['cerca_c'];   
}   
$cerca = mysql_escape_string(stripslashes($_SESSION['cerca_c'])); 
if (strlen($cerca) < 2 && $aid == "" && $bid == "" && $cid == "") { 
    echo "dati inseriti non validi"; 
    //e qui il ritorno alla pagina di inserimento o a quella che ti fa più piacere   
}  else{  
  $q = "SELECT * FROM annunci  
                           INNER JOIN citta ON (annunci.cittaid=citta.id) 
                           INNER JOIN tipo ON (annunci.tipoid=tipo.id) 
                           INNER JOIN fascia ON (annunci.fasciaid=fascia.id) 
                           INNER JOIN modello ON (annunci.modelloid=modello.id) 
                           INNER JOIN users ON (annunci.user_id=users.id) 
                           WHERE 1=1 "; 
if($cerca != "") { 
$q.= " &&  (citta LIKE '%$cerca%'  OR fascia LIKE '%$cerca%' OR tipo LIKE '%$cerca%' OR modello LIKE '%$cerca%')"; 
} 

if($aid != "") { 
$q.= " && fascia.fascia = '$aid'"; 
}  
if($bid != "") { 
$q.= " && modello.modello = '$bid'"; 
}  
if($cid != "") { 
$q.= " && tipo.tipo = '$cid'"; 
}  
     $q = mysql_query($q) or die (mysql_error()) ;  
    $count=mysql_num_rows($q); 
    if($count == 0){  
        echo "Non ci sono risultati con la tua ricerca. Prova a cambiare la parola chiave";  
        //e qui il ritorno alla pagina di inserimento o a quella che ti fa più piacere es. registrati  
    }else{  
        //visto che ci sono dati inserisci anche la paginazione  
        require_once "paginazione.php";//metti l'once
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 11 Gen 2012
  • #52
sembra giusta

se sei sicuro che dovrebbe restituirti qualche record prova a stampare la query

PHP:
echo $q;
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 11 Gen 2012
  • #53
ciao
scusa una cosa, ma se fai
$aid = $_POST['aid'];
$bid = $_POST['bid'];
$cid = $_POST['cid'];
e poi nella query non li usi come vuoi che facciano il chirurgo?
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 11 Gen 2012
  • #54
Perdona la mia ignoranza Borgo. ;(

Ma dove intendi che devo metterli ??
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 11 Gen 2012
  • #55
ciao
scusa, mi sono espresso male
volevo dire che se metti
OR fascia LIKE '%$cerca%'
e poi
&& fascia.fascia = '$aid'"
o uno o l'altro non ha senzo che la fascia sia LIKE o poi uguale a qualcos'altro
per i campi per cui usi $aid $bid o $cid togli la parte LIKE %$cerca%
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 11 Gen 2012
  • #56
Ho fatto così ...... Non ci sono risultati con la tua ricerca. Prova a cambiare la parola chiave


PHP:
 <?php
class MySQL{       
    function MySQL()       
    {       
        require_once "db_connect.php";  //metti l'once   
    }       
}
$aid = $_POST['aid'];   
    $bid = $_POST['bid']; 
     $cid = $_POST['cid'];       
$data = new MySQL();     
if(isset ($_POST['cerca_c'])){   
    $_SESSION['cerca_c']=$_POST['cerca_c'];   
}   
$cerca = mysql_escape_string(stripslashes($_SESSION['cerca_c'])); 
if (strlen($cerca) < 2 && $aid == "" && $bid == "" && $cid == "") { 
    echo "dati inseriti non validi"; 
    //e qui il ritorno alla pagina di inserimento o a quella che ti fa più piacere   
}  else{  
  $q = "SELECT * FROM annunci  
                           INNER JOIN citta ON (annunci.cittaid=citta.id) 
                           INNER JOIN tipo ON (annunci.tipoid=tipo.id) 
                           INNER JOIN fascia ON (annunci.fasciaid=fascia.id) 
                           INNER JOIN modello ON (annunci.modelloid=modello.id) 
                           INNER JOIN users ON (annunci.user_id=users.id) 
                           WHERE 1=1 "; 
if($cerca != "") { 
$q.= " &&  (citta LIKE '%$cerca%')"; 
} 

if($aid != "") { 
$q.= " && fascia.fascia = '$aid'"; 
}  
if($bid != "") { 
$q.= " && modello.modello = '$bid'"; 
}  
if($cid != "") { 
$q.= " && tipo.tipo = '$cid'"; 
}
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 11 Gen 2012
  • #57
ora vedo che nella value delle select metti l'id

PHP:
echo "<option value='$cid'>

di conseguenza le condizioni devono cambiare

PHP:
if ($aid != "") {
        $q.= " && fascia.id = '$aid'";
    }
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 11 Gen 2012
  • #58
mi coreggo ... ho tolto il . a q

e mi dà il seguente errore

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '&& tipo.tipo = '3'' at line 1

PHP:
 <?php
class MySQL{       
    function MySQL()       
    {       
        require_once "db_connect.php";  //metti l'once   
    }       
}
$aid = $_POST['aid'];   
    $bid = $_POST['bid']; 
     $cid = $_POST['cid'];       
$data = new MySQL();     
if(isset ($_POST['cerca_c'])){   
    $_SESSION['cerca_c']=$_POST['cerca_c'];   
}   
$cerca = mysql_escape_string(stripslashes($_SESSION['cerca_c'])); 
if (strlen($cerca) < 2 && $aid == "" && $bid == "" && $cid == "") { 
    echo "dati inseriti non validi"; 
    //e qui il ritorno alla pagina di inserimento o a quella che ti fa più piacere   
}  else{  
  $q = "SELECT * FROM annunci  
                           INNER JOIN citta ON (annunci.cittaid=citta.id) 
                           INNER JOIN tipo ON (annunci.tipoid=tipo.id) 
                           INNER JOIN fascia ON (annunci.fasciaid=fascia.id) 
                           INNER JOIN modello ON (annunci.modelloid=modello.id) 
                           INNER JOIN users ON (annunci.user_id=users.id) 
                           WHERE 1=1 "; 
if($cerca != "") { 
$q= " &&  (citta LIKE '%$cerca%')"; 
} 

if($aid != "") { 
$q= " && fascia.fascia = '$aid'"; 
}  
if($bid != "") { 
$q= " && modello.modello = '$bid'"; 
}  
if($cid != "") { 
$q= " && tipo.tipo = '$cid'"; 
}
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 11 Gen 2012
  • #59
mi correggo ulteriormente
errore

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '&& modello.modello = '9'' at line 1


codice cerca_c.php

PHP:
<?php
class MySQL{       
    function MySQL()       
    {       
        require_once "db_connect.php";  //metti l'once   
    }       
}
$aid = $_POST['aid'];   
    $bid = $_POST['bid']; 
     $cid = $_POST['cid'];       
$data = new MySQL();     
if(isset ($_POST['cerca_c'])){   
    $_SESSION['cerca_c']=$_POST['cerca_c'];   
}   
$cerca = mysql_escape_string(stripslashes($_SESSION['cerca_c'])); 
if (strlen($cerca) < 2 && $aid == "" && $bid == "" && $cid == "") { 
    echo "dati inseriti non validi"; 
    //e qui il ritorno alla pagina di inserimento o a quella che ti fa più piacere   
}  else{  
  $q = "SELECT * FROM annunci  
                           INNER JOIN citta ON (annunci.cittaid=citta.id) 
                           INNER JOIN fascia ON (annunci.fasciaid=fascia.id)
                            INNER JOIN tipo ON (annunci.tipoid=tipo.id) 
                           INNER JOIN modello ON (annunci.modelloid=modello.id)
                           INNER JOIN users ON (annunci.user_id=users.id) 
                           WHERE 1=1 "; 
if($cerca != "") { 
$q= " &&  (citta LIKE '%$cerca%')"; 
} 

if($aid != "") { 
$q= " && fascia.fascia = '$aid'"; 
} 
if($bid != "") { 
$q= " && tipo.tipo = '$bid'"; 
}
if($cid != "") { 
$q= " && modello.modello = '$cid'"; 
}  
  
     $q = mysql_query($q) or die (mysql_error()) ;  
    $count=mysql_num_rows($q); 
    if($count == 0){  
        echo "Non ci sono risultati con la tua ricerca. Prova a cambiare la parola chiave";  
        //e qui il ritorno alla pagina di inserimento o a quella che ti fa più piacere es. registrati  
    }else{  
        //visto che ci sono dati inserisci anche la paginazione  
        require_once "paginazione.php";//metti l'once  
        $p = new Paging;  
        $max = 5;  
        // identifichiamo la pagina da cui iniziare la numerazione  
        $inizio = $p->paginaIniziale($max);  
        // troviamo il numero delle pagine che dovrà essere contato   
        $pagine = $p->contaPagine($count, $max);  
        $lim="LIMIT $inizio, $max";  
        $sq_lim=$q.$lim;//ripetere lo stesso codice uguale è sempre cattiva programmazione  
        $risultato=mysql_query($sq_lim);  
       
        while($row=mysql_fetch_array($q)){     
            $click_annuncio = $row['click_annuncio'];  
$id_annunci = $row['id_annunci'];  
$user_id = $row['id'];
    $modello = $row['modello'];
  $messaggio = substr($row['messaggio'], 0, 25);  
  $mq = $row['mq'];
  $prezzo = $row['prezzo']; 
  $tipologia = $row['tipologia']; 
    $sigla = $row['sigla']; 
   $tipo = $row['tipo']; 
  $name = $row['name']; 
   $locali = $row['locali']; 
  $via = $row['via']; 
  $citta = $row['citta']; 
  $username = $row['username']; 
  $email = $row['email']; 
   $condizioni = $row['condizioni']; 
    $regione = $row['regione']; 
     $tipo = $row['tipo']; 
      $condizioni = $row['condizioni']; 
       $logo_cliente = $row['logo_cliente']; 
          
   
   $nome_file = $row['nome_file']; 
  $tipo_file = $row['tipo_file']; 
  $dati_file = $row['dati_file']; 
   
  $nome_file_vero = $row['nome_file_vero']; 
  $tipo_file = $row['tipo_file']; 
  $dati_file = $row['dati_file']; 
   
            //cosa ci sta a fare in mezzo a una table <p class='three'> eventualmente la class dalla al td o al tr 
            //tra l'altro non c'è la chiusura del tag </p> 
            //poi c'è una chiusura </table> nel mezzo (quindi hai messo due chiusure e una sila apertura) e 
            //ci sono dei tr non aperti ma solo chiusi 
            echo" <h5><table width='100%'>"; 
  echo" <tr>"; 
   echo" <p class='three'><td colspan='3'> <a href=\"rannunci.php?id=$id_annunci\"/>$via,$citta,$name,$sigla,$regione</a></td>"; 
 echo" </tr>"; 
 echo" <tr>"; 
  echo"  <td width='14%' bgcolor='#f4f9fd'> <a href=\"rannunci.php?id=$id_annunci\"/><img src='immagini2.php?id_annunci=$id_annunci' name='nome_file'  alt'' width='150' height='150'  /></a></td>"; 
  echo"  <td width='45%' bgcolor='#f4f9fd'><table width='100%'>"; 
   echo"   <tr>"; 
    echo"    <td>Stato Imbarcazione :<br /> $tipo <br /> Tipo imbarcazione: <br />$modello<br /></td>"; 
    echo"  </tr>"; 
    echo"  <tr>"; 
      echo"  <td> <a href=\"rannunci.php?id=$id_annunci\"/><button class=\"button orangeButt\">Vedi dettagli </button></td>"; 
echo"</tr>"; 
 echo"     <tr>"; 
    echo"    <td>&nbsp;</td>"; 
    echo"  </tr>"; 
   echo" </table></td>"; 
  echo"  <td width='31%' bgcolor='#f4f9fd'>Prezzo:$prezzo<br />Lunghezza:$mq<br />Cabine:$locali</p> <a href=\"rannunci.php?id=$id_annunci\"/><img src='immagini1.php?id=$user_id' name='nome_file_vero' width='150' height='40'/></a></td>"; 
  echo"</tr>"; 
echo"</table></h5>"; 

}  

        $lista = $p->listaPagine($_GET['p'], $pagine); 
        echo "<tr><td colspan=\"3\">"; 
        echo "$lista . <br>"; 
          $navigatore = $p->precedenteSuccessiva($_GET['p'], $pagine);  
         echo $navigatore;  
        echo "</td></tr>"; 
        echo"</table></h5>"; 
    }//fine if-else ci sono dati 
}//fine if-else post giusto 
?>
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 11 Gen 2012
  • #60
provala cosi


PHP:
$q = "SELECT * FROM annunci  
                           INNER JOIN citta ON (annunci.cittaid=citta.id) 
                           INNER JOIN tipo ON (annunci.tipoid=tipo.id) 
                           INNER JOIN fascia ON (annunci.fasciaid=fascia.id) 
                           INNER JOIN modello ON (annunci.modelloid=modello.id) 
                           INNER JOIN users ON (annunci.user_id=users.id) 
                           WHERE 1=1 ";
    if ($cerca != "") {
        $q.= " &&  (citta LIKE '%$cerca%')";
    }
    if ($aid != "") {
        $q.= " && fascia.id = '$aid'";
    }
    if ($bid != "") {
        $q.= " && modello.id = '$bid'";
    }
    if ($cid != "") {
        $q.= " && tipo.id = '$cid'";
    }
 
Prec.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
Succ.
Primo Prec. 3 di 6 Succ. Ultimo
Devi accedere o registrarti per poter rispondere.

Discussioni simili

I
aggiungere la sessione
  • Imperor
  • 20 Mar 2023
  • PHP
Risposte
8
Visite
1K
PHP 24 Mar 2023
Imperor
I
K
[PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa
  • Kiko74b
  • 16 Mar 2023
  • PHP
Risposte
2
Visite
2K
PHP 18 Mar 2023
Kiko74b
K
E
Aggiungere Parole
  • egidiogelli
  • 9 Ott 2020
  • PHP
Risposte
1
Visite
1K
PHP 9 Ott 2020
Max 1
A
aggiungere stringa all'inizio di ogni riga di un file txt
  • AndreaCerre
  • 19 Lug 2020
  • PHP
Risposte
3
Visite
1K
PHP 26 Lug 2020
AndreaCerre
A
Aggiungere o rimuovere classi in javascript
  • MarcoGrazia
  • 26 Giu 2020
  • Javascript
Risposte
1
Visite
3K
Javascript 26 Giu 2020
MarcoGrazia
F
Aggiungere automaticamente sito a home del telefono
  • frapej
  • 25 Mag 2020
  • HTML e CSS
Risposte
2
Visite
2K
HTML e CSS 9 Giu 2020
MarcoGrazia
C
Aggiungere blocco dati
  • Cristian83
  • 13 Mag 2020
  • Javascript
Risposte
6
Visite
2K
Javascript 14 Mag 2020
Leonardo Scotti
L
F
[PHP] Aggiungere ruolo per accedere alle pagine
  • Frozzen
  • 22 Feb 2020
  • PHP
Risposte
2
Visite
2K
PHP 23 Feb 2020
Frozzen
F
E
[Offro] Realizzazione di siti web e ottimizzazione SEO per raggiungere il primo posto su Google
  • equaltech
  • 11 Dic 2019
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
0
Visite
2K
Offerte e Richieste di Lavoro e/o Collaborazione 11 Dic 2019
equaltech
E
Aggiungere pulsante pause/play a slideshow
  • Cosina
  • 10 Dic 2019
  • Javascript
Risposte
0
Visite
1K
Javascript 10 Dic 2019
Cosina
A
Twitter aggiungere tweet a campagna esistente o salvare pubblico
  • al404
  • 5 Dic 2019
  • Social Media Marketing
Risposte
0
Visite
1K
Social Media Marketing 5 Dic 2019
al404
A
S
aggiungere colonna date in una tabella già esistente
  • sal88
  • 24 Nov 2019
  • Database
Risposte
0
Visite
1K
Database 24 Nov 2019
sal88
S
P
[PHP] Aggiungere un mio script a prestashop?
  • Phelps
  • 16 Ott 2019
  • PHP
Risposte
10
Visite
4K
PHP 17 Ott 2019
Phelps
P
[PHP] Aggiungere link al codice
  • Shyson
  • 1 Ott 2019
  • PHP
Risposte
0
Visite
2K
PHP 1 Ott 2019
Shyson
D
Aggiungere file .css esterno su Android
  • Dani.exe
  • 29 Set 2019
  • HTML e CSS
Risposte
4
Visite
2K
HTML e CSS 8 Ott 2019
Dani.exe
D
R
[PHP] Aggiungere 90 minuti a stringa orario
  • Riccardo Contu
  • 14 Lug 2019
  • PHP
Risposte
1
Visite
3K
PHP 15 Lug 2019
macus_adi
[PHP] aggiungere timestamp in tabella correlata
  • brasoft2019
  • 24 Apr 2019
  • PHP
Risposte
0
Visite
1K
PHP 24 Apr 2019
brasoft2019
P
[PHP] Aggiungere giorni e stampare risultato da data inserita in input
  • pizzettino
  • 2 Apr 2019
  • PHP
Risposte
3
Visite
4K
PHP 3 Apr 2019
macus_adi
L
[Java] Aggiungere elementi ad array JSON
  • lucad93
  • 19 Mar 2019
  • Java
Risposte
0
Visite
2K
Java 19 Mar 2019
lucad93
L
F
[WordPress] [HTML] Aggiungere una pagina solo allo sticky menu
  • Fatirek90
  • 9 Mar 2019
  • WordPress
Risposte
4
Visite
2K
WordPress 10 Mar 2019
glm1986ITALY
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?