• 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. 2 di 6 Succ. Ultimo

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 5 Gen 2012
  • #21
ciao
prova in questo modo.
a me nel mio sito funzia

PHP:
<?php
if(!isset($_SESSION)){session_start ();}
class MySQL{    
	function MySQL()    
	{    
		require_once "db_connect.php";  //metti l'once
	}    
}    
$data = new MySQL();  
if(isset($_POST['cerca']){
	$_SESSION['cerca']=$_POST['cerca']
}
$cerca=mysql_escape_string(stripslashes($_SESSION['cerca']));
if($cerca=="" || strlen($cerca)<2){
	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 regione ON (annunci.regioneid=regione.id )  
		INNER JOIN provincia ON (annunci.provinciaid=provincia.id)  
		INNER JOIN citta ON (annunci.cittaid=citta.id)  
		INNER JOIN cliente ON (annunci.clienteid=cliente.id)  
		INNER JOIN users ON (annunci.user_id=users.id)  
		INNER JOIN tipo ON (annunci.tipoid=tipo.id) 
		INNER JOIN tipo_barca ON (annunci.tipo_barcaid=tipo_barca.id) 
		WHERE id_annunci LIKE '%$cerca%'  OR name LIKE '%$cerca%' OR regione LIKE '%$cerca%' OR citta LIKE '%$cerca%' OR descrizione LIKE '%$cerca%' OR prezzo LIKE '%$cerca%' OR mq LIKE '%$cerca%'  ";
	$count=mysql_num_rows(mysql_query($q));
	if($count ==0){
		echo "non ci sono dati col valore cercato";
		//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";
		$q_lim=$q.$lim;//ripetere lo stesso codice uguale è sempre cattiva programmazione
		$risultato=mysql_query($q_lim);
		echo" <h5><table width='100%'>";
		while($row=mysql_fetch_array($risultato)){
			$click_annuncio = $row['click_annuncio'];  
			$id_annunci = $row['id_annunci'];  
			$user_id = $row['id'];
			//..NON LI SCRIVO TUTTI......
			$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"<tr><td colspan='3'><a href=\"rannunci.php?id=$id_annunci\"/>$via,$citta,$name,$sigla,$regione</a></td></tr>"; 
			//....anche qui non li scrivo tutti.......
			echo"<tr><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></tr>";
		}
		$lista = $p->listaPagine($_GET['p'], $pagine);
		//p.s. per le prime prove commenta navigatore
		//$navigatore = $p->precedenteSuccessiva($_GET['p'], $pagine);  
		echo "<tr><td colspan=/"3/">";
		echo $lista . "<br>";
		//echo $navigatore;
		echo "</td></tr>";
		echo"</table></h5>";
	}//fine if-else ci sono dati
}//fine if-else post giusto
?>
poi come ti ho già detto cerca di tenere più pulito il codice
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 5 Gen 2012
  • #22
ciao

nella prima pagina mi da questo

string(747) "SELECT * FROM annunci INNER JOIN regione ON (annunci.regioneid=regione.id ) INNER JOIN provincia ON (annunci.provinciaid=provincia.id) INNER JOIN citta ON (annunci.cittaid=citta.id) INNER JOIN cliente ON (annunci.clienteid=cliente.id) INNER JOIN users ON (annunci.user_id=users.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) WHERE id_annunci LIKE '%torino%' OR name LIKE '%torino%' OR regione LIKE '%torino%' OR citta LIKE '%torino%' OR descrizione LIKE '%torino%' OR prezzo LIKE '%torino%' OR mq LIKE '%torino%' OR modello LIKE '%torino%' OR tipo LIKE '%torino%' OR fascia LIKE '%torino%' "

nella seconda pagina : pagina bianca
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 5 Gen 2012
  • #23
mi da pagina bianca perché ci sono degli errori nel codice ma ho paura a modificarlo dato che non so come l'hai immaginato .... tranne uno che l'ho già risolto

PHP:
<?php 
if(!isset($_SESSION)){session_start ();} 
class MySQL{     
    function MySQL()     
    {     
        require_once "db_connect.php";  //metti l'once 
    }     
}     
$data = new MySQL();   
if(isset($_POST['cerca']){   //da un errore in questo if  ma anche qui non capisco cosa ci sia di strano ????
    $_SESSION['cerca']=$_POST['cerca'] 
} 
$cerca=mysql_escape_string(stripslashes($_SESSION['cerca'])); 
if($cerca=="" || strlen($cerca)<2){ 
    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 regione ON (annunci.regioneid=regione.id )   
        INNER JOIN provincia ON (annunci.provinciaid=provincia.id)   
        INNER JOIN citta ON (annunci.cittaid=citta.id)   
        INNER JOIN cliente ON (annunci.clienteid=cliente.id)   
        INNER JOIN users ON (annunci.user_id=users.id)   
        INNER JOIN tipo ON (annunci.tipoid=tipo.id)
          INNER JOIN users ON (annunci.user_id=users.id) 
        INNER JOIN modello ON (annunci.modelloid=modello.id)  
        WHERE id_annunci LIKE '%$cerca%'  OR name LIKE '%$cerca%' OR regione LIKE '%$cerca%' OR citta LIKE '%$cerca%' OR descrizione LIKE '%$cerca%' OR prezzo LIKE '%$cerca%' OR mq LIKE '%$cerca%'  OR modello LIKE '%$cerca%' ";
    $count=mysql_num_rows(mysql_query($q)); 
    if($count ==0){ 
        echo "non ci sono dati col valore cercato"; 
        //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"; 
        $q_lim=$q.$lim;//ripetere lo stesso codice uguale è sempre cattiva programmazione 
        $risultato=mysql_query($q_lim); 
        echo" <h5><table width='100%'>"; 
        while($row=mysql_fetch_array($risultato)){ 
             $click_annuncio = $row['click_annuncio'];

$click_annuncio = $row['click_annuncio']; 
$id_annunci = $row['id_annunci']; 
$user_id = $row['id']; 
    $modello = $row['modello'];
  $descrizione = substr($row['descrizione'], 0, 25);  
  $mq = $row['mq'];
  $messaggio = $row['messaggio'];
  $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: $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); 
        //p.s. per le prime prove commenta navigatore 
        //$navigatore = $p->precedenteSuccessiva($_GET['p'], $pagine);   
        echo "<tr><td colspan=/"3/">";   //qui da un errore ho contato " e sono 4 e non capisco la tabella come l'hai fatta :( scusa
        echo "$lista . <br>"; 
        //echo $navigatore; 
        echo "</td></tr>"; 
        echo"</table></h5>"; 
    }//fine if-else ci sono dati 
}//fine if-else post giusto 
?>

Promesso che ti faro' un regalo ...


intanto per ora se vuoi posso mettere un tuo link sul mio sito di ricette che tra l'altro a pagerank 1
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 5 Gen 2012
  • #24
Borgo l'ho corretto io ..... ma mi da sempre che non ci sono dati con il valore cercato

PHP:
<?php 
if(!isset($_SESSION)){session_start ();} 
class MySQL{     
    function MySQL()     
    {     
        require_once "db_connect.php";  //metti l'once 
    }     
}     
$data = new MySQL();   
if(isset ($_POST['cerca'])){ 
    $_SESSION['cerca']=$_POST['cerca']; 
} 
$cerca=mysql_escape_string(stripslashes($_SESSION['cerca'])); 
if($cerca=="" || strlen($cerca)<2){ 
    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 regione ON (annunci.regioneid=regione.id )   
        INNER JOIN provincia ON (annunci.provinciaid=provincia.id)   
        INNER JOIN citta ON (annunci.cittaid=citta.id)   
        INNER JOIN cliente ON (annunci.clienteid=cliente.id)   
        INNER JOIN users ON (annunci.user_id=users.id)   
        INNER JOIN tipo ON (annunci.tipoid=tipo.id)
         INNER JOIN users ON (annunci.user_id=users.id) 
        INNER JOIN modello ON (annunci.modelloid=modello.id)  
        WHERE id_annunci LIKE '%$cerca%'  OR name LIKE '%$cerca%' OR regione LIKE '%$cerca%' OR citta LIKE '%$cerca%' OR descrizione LIKE '%$cerca%' OR prezzo LIKE '%$cerca%' OR mq LIKE '%$cerca%'  OR modello LIKE '%$cerca%' ";
    $count=mysql_num_rows(mysql_query($q)); 
    if($count ==0){ 
        echo "non ci sono dati col valore cercato"; 
        //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"; 
        $q_lim=$q.$lim;//ripetere lo stesso codice uguale è sempre cattiva programmazione 
        $risultato=mysql_query($q_lim); 
        echo" <h5><table width='100%'>"; 
        while($row=mysql_fetch_array($risultato)){ 
             $click_annuncio = $row['click_annuncio'];

$click_annuncio = $row['click_annuncio']; 
$id_annunci = $row['id_annunci']; 
$user_id = $row['id']; 
    $modello = $row['modello'];
  $descrizione = substr($row['descrizione'], 0, 25);  
  $mq = $row['mq'];
  $messaggio = $row['messaggio'];
  $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: $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); 
        //p.s. per le prime prove commenta navigatore 
        //$navigatore = $p->precedenteSuccessiva($_GET['p'], $pagine);   
        echo "<tr><td colspan=\"3\">"; 
        echo "$lista . <br>"; 
        //echo $navigatore; 
        echo "</td></tr>"; 
        echo"</table></h5>"; 
    }//fine if-else ci sono dati 
}//fine if-else post giusto 
?>
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 5 Gen 2012
  • #25
prima che sbagli questo è il form con qui passo l'interrogazione al db

PHP:
 <table width="100%">
  <tr>
    <td width="26%"><img src="immagini/italia.jpg" width="257" height="264" border="0" usemap="#Map" /></td>
    <td width="74%">
    <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' o un prezzo o una lunghezza</h5>
            
            <form action='cerca.php' method='POST'>




  <input type='text' tabindex='15' name='cerca' class='input' size="15" >
  
  
 

  
  
  </td>
            <td width="9%"><br /><br /><br /><br /><br />
            <button class="button orangeButt">Trova<br />Barche</button>

        </form><td width="1%"></td>
          </tr>
        </table>
            
            
            
    
    </td>
  </tr>
</table>

in ultimo se prima non l'hai letto ovvio grazie mille ancora e dato che non so come sdebitarmi al momento rinnovo il link del tuo sito sul mio di ricette che ha pagerank 1
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 5 Gen 2012
  • #26
ciao
prova a modificare

WHERE id_annunci LIKE '%$cerca%' OR name LIKE '%$cerca%' OR regione LIKE '%$cerca%' OR citta LIKE '%$cerca%' OR descrizione LIKE '%$cerca%' OR prezzo LIKE '%$cerca%' OR mq LIKE '%$cerca%' OR modello LIKE '%$cerca%' ";

cioè mettere anche il nome della tabella a cui il campo si riferisce (devi correggerli tu perchè non so esattamente in che tabella sono i canpi)
WHERE annunci.id_annunci LIKE '%$cerca%' OR utente.name LIKE '%$cerca%' OR regioni.regione LIKE '%$cerca%' OR citta.citta LIKE '%$cerca%' OR annunci.descrizione LIKE '%$cerca%' OR annunci.prezzo LIKE '%$cerca%' OR annunci.mq LIKE '%$cerca%' OR annunci.modello LIKE '%$cerca%' ";
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 5 Gen 2012
  • #27
fatto, ma mi dice sempre : non ci sono dati col valore cercato


é praticamente il secondo controllo ???
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 5 Gen 2012
  • #28
Ciao Borgo,
dato che mamp mi stava dando una marea di errori allora mi sono deciso di caricare tutto online e ta ta taaaaaa mi da questo errore

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/usatobarchenautica.it/httpdocs/cerca.php on line 28
non ci sono dati col valore cercato

PHP:
<?php 
if(!isset($_SESSION)){session_start ();} 
class MySQL{     
    function MySQL()     
    {     
        require_once "db_connect.php";  //metti l'once 
    }     
}     
$data = new MySQL();   
if(isset ($_POST['cerca'])){ 
    $_SESSION['cerca']=$_POST['cerca']; 
} 
$cerca=mysql_escape_string(stripslashes($_SESSION['cerca'])); 
if($cerca=="" || strlen($cerca)<2){ 
    echo "dati inseriti non validi"; 
    //e qui il ritorno alla pagina di inserimento o a quella che ti fa più piacere 
}else{ 
    $q= mysql_query ("SELECT * FROM   
        annunci INNER JOIN regione ON (annunci.regioneid=regione.id )   
        INNER JOIN provincia ON (annunci.provinciaid=provincia.id)   
        INNER JOIN citta ON (annunci.cittaid=citta.id)   
        INNER JOIN cliente ON (annunci.clienteid=cliente.id)   
        INNER JOIN users ON (annunci.user_id=users.id)   
        INNER JOIN tipo ON (annunci.tipoid=tipo.id)
         INNER JOIN users ON (annunci.user_id=users.id) 
        INNER JOIN modello ON (annunci.modelloid=modello.id)  
        WHERE annunci.id_annunci LIKE '%$cerca%'  OR annunci.name LIKE '%$cerca%' OR annunci.regione LIKE '%$cerca%' OR annunci.citta LIKE '%$cerca%' OR annunci.descrizione LIKE '%$cerca%' OR annunci.prezzo LIKE '%$cerca%' OR annunci.mq LIKE '%$cerca%' OR annunci.modello LIKE '%$cerca%' OR tipo LIKE '%$cerca%' OR annunci.fascia LIKE '%$cerca%' "); 
   $count=mysql_num_rows(mysql_query($q));  //la riga che da errore è la seguente ????  ho provato anche ad aggiungere a $q=  (mysql_query ) ("SELECT * FROM  ma da sempre lo stesso errore
    if($count ==0){ 
        echo "non ci sono dati col valore cercato"; 
        //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"; 
        $q_lim=$q.$lim;//ripetere lo stesso codice uguale è sempre cattiva programmazione 
        $risultato=mysql_query($q_lim); 
        echo" <h5><table width='100%'>"; 
        while($row=mysql_fetch_array($risultato)){ 
            
            $click_annuncio = $row['click_annuncio']; 
$id_annunci = $row['id_annunci']; 
$user_id = $row['id']; 
    $modello = $row['modello'];
  $descrizione = substr($row['descrizione'], 0, 25);  
  $mq = $row['mq'];
  $messaggio = $row['messaggio'];
  $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: $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); 
        //p.s. per le prime prove commenta navigatore 
        //$navigatore = $p->precedenteSuccessiva($_GET['p'], $pagine);   
        echo "<tr><td colspan=\"3\">"; 
        echo "$lista . <br>"; 
        //echo $navigatore; 
        echo "</td></tr>"; 
        echo"</table></h5>"; 
    }//fine if-else ci sono dati 
}//fine if-else post giusto 
?>
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 7 Gen 2012
  • #29
ciao,
ho provato a mettere un vardump e mi da il seguente errore

bool(false)

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/usatobarchenautica.it/httpdocs/cerca.php on line 29
non ci sono dati col valore cercato

PHP:
  $q= mysql_query ("SELECT * FROM   
        annunci INNER JOIN regione ON (annunci.regioneid=regione.id )   
        INNER JOIN provincia ON (annunci.provinciaid=provincia.id)   
        INNER JOIN citta ON (annunci.cittaid=citta.id)   
        INNER JOIN cliente ON (annunci.clienteid=cliente.id)   
        INNER JOIN users ON (annunci.user_id=users.id)   
        INNER JOIN tipo ON (annunci.tipoid=tipo.id)
         INNER JOIN users ON (annunci.user_id=users.id) 
        INNER JOIN modello ON (annunci.modelloid=modello.id)  
        WHERE annunci.id_annunci LIKE '%$cerca%'  OR annunci.name LIKE '%$cerca%' OR annunci.regione LIKE '%$cerca%' OR annunci.citta LIKE '%$cerca%' OR annunci.descrizione LIKE '%$cerca%' OR annunci.prezzo LIKE '%$cerca%' OR annunci.mq LIKE '%$cerca%' OR annunci.modello LIKE '%$cerca%' OR annunci.tipo LIKE '%$cerca%' OR annunci.fascia LIKE '%$cerca%' "); 
    var_dump($q); 
    $count=mysql_num_rows(mysql_query($q));

il problema è sempre qui :


PHP:
$count=mysql_num_rows(mysql_query($q));

se invece faccio il vardump così mi restituisce

PHP:
  $q= ("SELECT * FROM   
        annunci INNER JOIN regione ON (annunci.regioneid=regione.id )   
        INNER JOIN provincia ON (annunci.provinciaid=provincia.id)   
        INNER JOIN citta ON (annunci.cittaid=citta.id)   
        INNER JOIN cliente ON (annunci.clienteid=cliente.id)   
        INNER JOIN users ON (annunci.user_id=users.id)   
        INNER JOIN tipo ON (annunci.tipoid=tipo.id)
         INNER JOIN users ON (annunci.user_id=users.id) 
        INNER JOIN modello ON (annunci.modelloid=modello.id)  
        WHERE annunci.id_annunci LIKE '%$cerca%'  OR annunci.name LIKE '%$cerca%' OR annunci.regione LIKE '%$cerca%' OR annunci.citta LIKE '%$cerca%' OR annunci.descrizione LIKE '%$cerca%' OR annunci.prezzo LIKE '%$cerca%' OR annunci.mq LIKE '%$cerca%' OR annunci.modello LIKE '%$cerca%' OR annunci.tipo LIKE '%$cerca%' OR annunci.fascia LIKE '%$cerca%' "); 
     var_dump($q); 
    $count=mysql_num_rows($q);

mi restituisce questo
string(866) "SELECT * FROM annunci INNER JOIN regione ON (annunci.regioneid=regione.id ) INNER JOIN provincia ON (annunci.provinciaid=provincia.id) INNER JOIN citta ON (annunci.cittaid=citta.id) INNER JOIN cliente ON (annunci.clienteid=cliente.id) INNER JOIN users ON (annunci.user_id=users.id) INNER JOIN tipo ON (annunci.tipoid=tipo.id) INNER JOIN users ON (annunci.user_id=users.id) INNER JOIN modello ON (annunci.modelloid=modello.id) WHERE annunci.id_annunci LIKE '%torino%' OR annunci.name LIKE '%torino%' OR annunci.regione LIKE '%torino%' OR annunci.citta LIKE '%torino%' OR annunci.descrizione LIKE '%torino%' OR annunci.prezzo LIKE '%torino%' OR annunci.mq LIKE '%torino%' OR annunci.modello LIKE '%torino%' OR annunci.tipo LIKE '%torino%' OR annunci.fascia LIKE '%torino%' "
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/usatobarchenautica.it/httpdocs/cerca.php on line 29
non ci sono dati col valore cercato
 
Ultima modifica: 7 Gen 2012
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 7 Gen 2012
  • #30
Ho risolto il primo errore con qualche piccola modifica e infatti la paginazione si forma ..

ora mi si blocca qui

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/usatobarchenautica.it/httpdocs/cerca.php on line 47
1 2 3 > Ultima pag. .



un po di codice l'errore è alla riga 47 ... io provo e riprovo se qualcuno capisce e mi aiuta ... grazieeeeeeeee

PHP:
<?php 
if(!isset($_SESSION)){session_start ();} 
class MySQL{     
    function MySQL()     
    {     
        require_once "db_connect.php";  //metti l'once 
    }     
}     
$data = new MySQL();   
if(isset ($_POST['cerca'])){ 
    $_SESSION['cerca']=$_POST['cerca']; 
} 
$cerca=mysql_escape_string(stripslashes($_SESSION['cerca'])); 
if($cerca=="" || strlen($cerca)<2){ 
    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 regione ON (annunci.regioneid=regione.id )   
        INNER JOIN provincia ON (annunci.provinciaid=provincia.id)   
        INNER JOIN citta ON (annunci.cittaid=citta.id)   
        INNER JOIN cliente ON (annunci.clienteid=cliente.id)   
        INNER JOIN tipo ON (annunci.tipoid=tipo.id)
         INNER JOIN users ON (annunci.user_id=users.id) 
        INNER JOIN modello ON (annunci.modelloid=modello.id)
        INNER JOIN fascia ON (annunci.fasciaid=fascia.id) 
        WHERE id_annunci LIKE '%$cerca%'  OR name LIKE '%$cerca%' OR regione LIKE '%$cerca%' OR citta LIKE '%$cerca%' OR messaggio LIKE '%$cerca%' OR prezzo LIKE '%$cerca%' OR mq LIKE '%$cerca%' OR modello LIKE '%$cerca%' OR tipo LIKE '%$cerca%' OR fascia LIKE '%$cerca%' "); 
     
     $q = mysql_query($q) or die (mysql_error()) ; 
    $count=mysql_num_rows($q);
    if($count == 0){ 
        echo "non ci sono dati col valore cercato"; 
        //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"; 
        $q_lim=$q.$lim;//ripetere lo stesso codice uguale è sempre cattiva programmazione 
        $risultato=mysql_query($q_lim); 
      
        while($row=mysql_fetch_array($risultato)){    
            $click_annuncio = $row['click_annuncio']; 
$id_annunci = $row['id_annunci']; 
$user_id = $row['id'];
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 7 Gen 2012
  • #31
se bypasso la riga 47 :

PHP:
$sq_lim=$q.$lim;//ripetere lo stesso codice uguale è sempre cattiva programmazione  
        $risultato=mysql_query($sq_lim);  
       
        while($row=mysql_fetch_array($sq_slim)){

in questa maniera non mi prende il limite ma funziona .............

PHP:
<?php  
if(!isset($_SESSION)){session_start ();}  
class MySQL{      
    function MySQL()      
    {      
        require_once "db_connect.php";  //metti l'once  
    }      
}      
$data = new MySQL();    
if(isset ($_POST['cerca'])){  
    $_SESSION['cerca']=$_POST['cerca'];  
}  
$cerca=mysql_escape_string(stripslashes($_SESSION['cerca']));  
if($cerca=="" || strlen($cerca)<2){  
    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 regione ON (annunci.regioneid=regione.id )    
        INNER JOIN provincia ON (annunci.provinciaid=provincia.id)    
        INNER JOIN citta ON (annunci.cittaid=citta.id)    
        INNER JOIN cliente ON (annunci.clienteid=cliente.id)    
        INNER JOIN tipo ON (annunci.tipoid=tipo.id) 
         INNER JOIN users ON (annunci.user_id=users.id)  
        INNER JOIN modello ON (annunci.modelloid=modello.id) 
        INNER JOIN fascia ON (annunci.fasciaid=fascia.id)  
        WHERE id_annunci LIKE '%$cerca%'  OR name LIKE '%$cerca%' OR regione LIKE '%$cerca%' OR citta LIKE '%$cerca%' OR messaggio LIKE '%$cerca%' OR prezzo LIKE '%$cerca%' OR mq LIKE '%$cerca%' OR modello LIKE '%$cerca%' OR tipo LIKE '%$cerca%' OR fascia LIKE '%$cerca%' ");  
      
     $q = mysql_query($q) or die (mysql_error()) ;  
    $count=mysql_num_rows($q); 
    if($count == 0){  
        echo "non ci sono dati col valore cercato";  
        //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;//ripetere lo stesso codice uguale è sempre cattiva programmazione  
        $risultato=mysql_query($sq_lim);  
       
        while($row=mysql_fetch_array($q)){     // bypasso la parte del limite annunci e funziona ... non capisco come mai ????? 
            $click_annuncio = $row['click_annuncio'];  
$id_annunci = $row['id_annunci'];  
$user_id = $row['id'];

Chi mi fa' capire cosa c'è di sbagliato ?????
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 7 Gen 2012
  • #32
borgo premesso che il limite che si è prefissato in automatico di 14 risultati mi vada bene ....

mi è venuta in mente una cosa ..... ma non funge ....

allora questo e cerca.php che mi hai suggerito e ho fatto un bypass al limit fino a quando non si capisce perché

PHP:
<?php  
if(!isset($_SESSION)){session_start ();}  
class MySQL{      
    function MySQL()      
    {      
        require_once "db_connect.php";  //metti l'once  
    }      
}      
$data = new MySQL();    
if(isset ($_POST['cerca'])){  
    $_SESSION['cerca']=$_POST['cerca'];  
}  
$cerca=mysql_escape_string(stripslashes($_SESSION['cerca']));  
if($cerca=="" || strlen($cerca)<2){  
    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 regione ON (annunci.regioneid=regione.id )    
        INNER JOIN provincia ON (annunci.provinciaid=provincia.id)    
        INNER JOIN citta ON (annunci.cittaid=citta.id)    
        INNER JOIN cliente ON (annunci.clienteid=cliente.id)    
        INNER JOIN tipo ON (annunci.tipoid=tipo.id) 
         INNER JOIN users ON (annunci.user_id=users.id)  
        INNER JOIN modello ON (annunci.modelloid=modello.id) 
        INNER JOIN fascia ON (annunci.fasciaid=fascia.id)  
        WHERE id_annunci LIKE '%$cerca%'  OR name LIKE '%$cerca%' OR regione LIKE '%$cerca%' OR citta LIKE '%$cerca%' OR messaggio LIKE '%$cerca%' OR prezzo LIKE '%$cerca%' OR mq LIKE '%$cerca%' OR modello LIKE '%$cerca%' OR tipo LIKE '%$cerca%' OR fascia LIKE '%$cerca%' ");  
      
     $q = mysql_query($q) or die (mysql_error()) ;  
    $count=mysql_num_rows($q); 
    if($count == 0){  
        echo "non ci sono dati col valore cercato";  
        //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 
?>

ho aggiunto al form di ricerca dei campi per renderlo più performante ma non mi prende la query ??? qualcuno mi può' aiutare ???

form

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.php' method='POST'>
           <input type='text' tabindex='15' name='cerca' 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";
  }
  ?>
</select></p><br />

  
  
  </td>
            <td width="9%"><br /><br /><br /><br /><br />
            <button class="button orangeButt">Trova<br />Barche</button>

        </form><td width="1%"></td>
          </tr>
        </table>
     </td>
  </tr>
</table>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 8 Gen 2012
  • #33
ciao
scusa una cosa, ma tu hai fatto un form di ricerca che punta a action='cerca.php', ma su cerca.php vedo solamente un $_POST['cerca'] mentre
sulla pag del form
$aid = $_POST['aid'];
$bid = $_POST['bid'];
$cid = $_POST['cid'];
cioè la lettura dei campi trasmessi dal form
ma cosa ti servono? se poi non li trasmetti/elabori , nella pag del form mi sembra che non facciano nulla salvo inizializzare delle variabili
se invece volevi trasmetterli a cerca.php le istruzioni devono essere in cerca.php.
da quello che ho capito stai cercando di semplificare la ricerca facendo delle selezioni tramite delle select box dinamiche (e si qui è giusto), ma se non invia a cerca php e non cambi la select allaa/e tabella
non ottieni nulla.
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 8 Gen 2012
  • #34
ciao Borgo,
non sapevo neanche cosa stavo facendo quando l'ho fatto scherzo questa volta ho elaborato la cosa pensando a cosa facevo ma immaginavo che dovevo mettere le variabili in cerca

ho provato così ma immagino che è sbagliato dato che mi restituisce tutti i risultati

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'])){   
    $_SESSION['cerca']=$_POST['cerca'];   
}   
$cerca=mysql_escape_string(stripslashes($_SESSION['cerca']));   
if($cerca=="" || strlen($cerca)<2){   
    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 regione ON (annunci.regioneid=regione.id )    
        INNER JOIN provincia ON (annunci.provinciaid=provincia.id)    
        INNER JOIN citta ON (annunci.cittaid=citta.id)    
        INNER JOIN cliente ON (annunci.clienteid=cliente.id)    
        INNER JOIN tipo ON (annunci.tipoid=tipo.id) 
         INNER JOIN users ON (annunci.user_id=users.id)  
        INNER JOIN modello ON (annunci.modelloid=modello.id) 
        INNER JOIN fascia ON (annunci.fasciaid=fascia.id)  
        WHERE id_annunci LIKE '%$cerca%'  OR name LIKE '%$cerca%' OR regione LIKE '%$cerca%' OR citta LIKE '%$cerca%' OR messaggio LIKE '%$cerca%' OR prezzo LIKE '%$cerca%' OR mq LIKE '%$cerca%' OR modello LIKE '%$cerca%' OR tipo LIKE '%$cerca%' OR fascia 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 
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 9 Gen 2012
  • #35
ciao
mi sembra evidente il perchè ti dia tutti i risultati
tu hai messo i post
$aid = $_POST['aid'];
$bid = $_POST['bid'];
$cid = $_POST['cid'];
nella pagina cerca ma poi non usi nella query le variabili.
non vorrei scoraggiarti, ma secondo me dovresti ripensare il tutto, dal form alla query anche perchè nella query che hai fatto (incasinata) ci sono alcune cose un po' assurde.
esempio tu metti
...id_annunci LIKE '%$cerca%'...
1. generalmente l'id non è conosciuto quindi che senso ha cercarlo
2. l'id generalmente (e penso nel tuo caso) è un numero intero
3. scrivendo quello che hai scritto in pratica dici (se ad es in $cerca c'e la stringa 'torino') cerca un id che inizi o temini per torino, a che ti serve?
4. analogo discorso ...OR prezzo LIKE '%$cerca%'..., prezzo 'torino' ?

da quello che ho capito stai cercando di fare un sito di annunci di vendita, se è così prova a dare un occhio in "presenta il tuo sito" al sito 'skambio' che ha fatto un forumista così vedi come organizzare il tuo
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 9 Gen 2012
  • #36
Ciao Borgo,
grazie mille per i tuoi consigli sempre utilissimiiiii...

Ebbene si sto facendo un sito gratuito di barche che sono dopo il volo una delle mie passioni più grandi ...

Tornando al motore di ricerca ho messo id_annunci perché lo uso come codice annuncio e mi serve che si possa cercare anche così.

Gli altri campi servono perché questo motore che è in home page deve tirarmi fuori il grosso degli annunci poi in tutte le altre pagine ci deve essere quello chiamiamolo chirurgico che restituisca i risultati in maniera più precisa e migliore possibile.

Ovviamente come già sai io lo faccio per divertimento anche se ormai il php è entrato in me e quindi ho acquistato anche il corso di mrwebmaster proprio perché ne voglio sapere tanto e voglio impararlo bene ma ovviamente in questo momento ho molte lacune e quindi mi rivolgo al forum per capire spunti ecc ecc per i progettino che mi vengono in mente.

Detto questo tu sai dove potrei trovare un tutor ecc ecc che mi spieghi come realizzare ciò' che sto cercando di fare ???? che in poche parole potrebbe essere simile a quello che ha scambio in home page !

Grazie infinite per tutto
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 9 Gen 2012
  • #37
ciao

Ebbene si sto facendo un sito gratuito di barche che sono dopo il volo una delle mie passioni più grandi ...
Clicca per allargare...
mi era sembrato che c'entrassero le barche

Tornando al motore di ricerca ho messo id_annunci perché lo uso come codice annuncio e mi serve che si possa cercare anche così.
Clicca per allargare...
se serve a te (es per modificare o eliminare l'annuncio) dovresti farti una pag apposita di admin, all'utente che guarda non serve di certo.

Gli altri campi servono perché questo motore che è in home page deve tirarmi fuori il grosso degli annunci poi in tutte le altre pagine ci deve essere quello chiamiamolo chirurgico che restituisca i risultati in maniera più precisa e migliore possibile.
Clicca per allargare...
non mi sembra molto bello, o fai vedere tutti e quindi l'utente fa le sue scelte, oppure (meglio secondo me) fa le sue scelte (affinabili comunque) e vede gli annunci che gli interessano

Ovviamente come già sai io lo faccio per divertimento anche se ormai il php è entrato in me e quindi ho acquistato anche il corso di mrwebmaster proprio perché ne voglio sapere tanto e voglio impararlo bene ma ovviamente in questo momento ho molte lacune e quindi mi rivolgo al forum per capire spunti ecc ecc per i progettino che mi vengono in mente.
Clicca per allargare...
il corso di mrwm è perfetto, ma ricorda che per fare qualcosa come quello che vuoi fare non basta una conoscenza di un linguaggio (sia php o asp o js...) ma tanta pazienza preventiva con carta e matita per impostare bene quello che vuoi fare.

Detto questo tu sai dove potrei trovare un tutor ecc ecc che mi spieghi come realizzare ciò' che sto cercando di fare ???? che in poche parole potrebbe essere simile a quello che ha scambio in home page !
Clicca per allargare...
Per il tutor non saprei (per php l'hai già trovato) salvo continuare a postare qui su mrwm.
il consiglio che posso darti è quello di pensare a quello che vuoi fare partendo da una visione più generale scendendo via via sempre più nel particolare (es. sia relativamente alla parte grafica che agli script)
altro piccolo consiglio è di pensare a come l'utente potrebbe navigare nel tuo sito (io nel mio sito navigo a occhi chiusi, ma spesso mi domando se un utente del burundi di sotto non si trovi in difficoltà... anche se per pigrizia spesso non faccio nulla per migliorare)
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 9 Gen 2012
  • #38
Non è detto

Tornando al motore di ricerca ho messo id_annunci perché lo uso come codice annuncio e mi serve che si possa cercare anche così.
se serve a te (es per modificare o eliminare l'annuncio) dovresti farti una pag apposita di admin, all'utente che guarda non serve di certo.
Clicca per allargare...

alcuni utenti o meglio i clienti ( che postano gratis ) cercano i loro annunci per vedere se esistono

io nell'area amministrativa mi sono creato un tool per recuperare annunci ecc ecc modificarli cancellarli e tutto quello che serve dietro

il corso di mrwm è perfetto, ma ricorda che per fare qualcosa come quello che vuoi fare non basta una conoscenza di un linguaggio (sia php o asp o js...) ma tanta pazienza preventiva con carta e matita per impostare bene quello che vuoi fare.
Clicca per allargare...

Lo immaginavo infatti non sai quanti fogli di block notes ho sulla scrivania ... qualche gg mi ammazzano a casa per il disordine ..

Il sito è talmente semplice e intuitivo che neanche ti immagini, l'ho già fatto testare a parecchi ignoranti in materia ...

ma tutti mi dicono la stessa cosa ...

ora serve un motore più chirurgico e sto tentando di farlo ...

qui è il posto giusto ??
Clicca per allargare...

Secondo te sono così stolto che avrei scritto qui o comprato il corso di mrw ?????

voglio solo capire come devo farlo perché ho sete di sapere e perché questa volta voglio portare a termine il mio progetto ...

ma Voi geni aiutatemiiiiiiiiiiiii

se vuoi vedere come sta uscendo clicca su usatobarchenautica.it poi se vuoi togli pure il link ... anzi così mi dai un feedback anche tu

Ps purtroppo con ie ho qualche problema di css con i pulsanti .. ma risolverò' anche quello
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 10 Gen 2012
  • #39
ciao
ho guardato e graficamente secondo me si presenta bene.
però come ti ho detto le tricerca non mi sembra un granche almeno nella home, andando su un tipo di barca la ricerca è migliore.
intanto, per non disorientare l'utente, la ricerca dovrebbe essere uguale in tutte le pagine e più mirata e guidata possibile.
per esempio tu metti scrivi regione. per me sarebbe meglio che uno non dovsse scrivere ma selezionara da un menu a discesa (o simile, potresti far cliccare sulla cartina) dove però vengono visualizzate solo le regioni che hanno degli annunci (analogo discorso per le province e comuni). tra l'altro se guardi negli articoli di mrwm c'è un sistema per cui se uno selezione una regione nel menù a discesa appaiono solo le province di quella regione (selezionata la regione e la provincia appaiono solo i comuni appartenenti a quella regione/provincia)

stai facendo come impostazione un sito di bell'aspetto non rovinarlo (cioè far scappare gli utenti) perchè le varie ricerche non sono fatte bene
 
S

searedone

Utente Attivo
11 Giu 2010
508
0
0
  • 10 Gen 2012
  • #40
ciao
ho guardato e graficamente secondo me si presenta bene.
Clicca per allargare...
Grazie mille
però come ti ho detto le tricerca non mi sembra un granche almeno nella home, andando su un tipo di barca la ricerca è migliore.
intanto, per non disorientare l'utente, la ricerca dovrebbe essere uguale in tutte le pagine e più mirata e guidata possibile.
Clicca per allargare...
Questa preferisco che sia così almeno fino a quando non sarà star popolato di annunci
per esempio tu metti scrivi regione. per me sarebbe meglio che uno non dovsse scrivere ma selezionara da un menu a discesa (o simile, potresti far cliccare sulla cartina) dove però vengono visualizzate solo le regioni che hanno degli annunci (analogo discorso per le province e comuni). tra l'altro se guardi negli articoli di mrwm c'è un sistema per cui se uno selezione una regione nel menù a discesa appaiono solo le province di quella regione (selezionata la regione e la provincia appaiono solo i comuni appartenenti a quella regione/provincia)
Clicca per allargare...
Questa è una figata... l'ho cercata ma mi avevano detto che era solo in javascript e che in php non si poteva fare ....
se sai dov'è l'articolo o come posso cercarlo lo provo e implemento subito o meglio appena possibile..
stai facendo come impostazione un sito di bell'aspetto non rovinarlo (cioè far scappare gli utenti) perchè le varie ricerche non sono fatte bene
Clicca per allargare...

Cerchero' di non farli scappare ma sappi che le capacità sono sempre le medesime ... ;( anche se a differenza dei miei primi post ora qualcosa inizio a capirla ...

Tornando all'inizio della discussione

la ricerca dovrebbe essere più mirata e guidata possibile.
Clicca per allargare...

Lo so per quello sto provando a fare quel motore di ricerca che hai visto nelle altre pagine ma non trovo nulla online da dove prendere spunti spero che qui qualcuno oltre a te che sei sempre gentilissimo possa aiutarmi ....... dim quando ti viene comodo dimmi come posso cercare quell'articolo....
 
Prec.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
Succ.
Primo Prec. 2 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
3K
PHP 17 Ott 2019
Phelps
P
[PHP] Aggiungere link al codice
  • Shyson
  • 1 Ott 2019
  • PHP
Risposte
0
Visite
1K
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?