Paginazione impossibile

lughino

Nuovo Utente
23 Mar 2010
24
0
0
Ciao a tutti, prima di tutto chiedo scusa per le mie sempre domande stupide riguardo la programmazione, ma si sa, non si nasce imparati!
Sto cercando di imparare, ma la fregola e le tante nozioni mi fregano...
Dopo essere impazzito con il php per creare la paginazione dei risultati di una ricerca, ora li devo mettere in un div, all'interno di un altro div, sia in alto che in basso nella pagina.
Mi spiego con un po' di codice..
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html lang="it" xmlns="http://www.w3.org/1999/xhtml" xml:lang="it"> 
<head>
<link href="css/stile_ufficiale.css" rel="stylesheet" type="text/css"/>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<title>
Risultato Ricerca
</title>

</head>
<body>
<div id="container">
       		 
	<div id="header"> 
    
    	<a href="home.php"><img src="http://Img/logo.jpg" width="920" height="122"  border="0" /></a>
		</div>
        <div id="navigation">
	In questa sezione ci sarà la barra dei menu con la funzione di ricerca e il login all'area riservata
	In questa sezione ci sarà la barra dei menu con la funzione di ricerca e il login all'area riservata
	In questa sezione ci sarà la barra dei menu con la funzione di ricerca e il login all'area riservata
	In questa sezione ci sarà la barra dei menu con la funzione di ricerca e il login all'area riservata
		</div>
        <div id="content">
<?php
function pagination_4($total_pages,$page,$_REQUEST){

    global $webpage;
    global $tipo;
    global $prezzo;
    global $acquisto;
    global $comune;
    $pagination="";

        if($total_pages!=1){

       //Impostiamo il numero massimo di elementi visualizzabili all'apertura della pagina, in questo caso 20;

        $max = 20;

        //Usiamo questa variabile nel cilco for piu sotto;

        $max_links = $max+1;
        $h=1;

            //Se la pagina è > di $max_links

        if($page>$max_links){

            //Facciamo partire il nostro loop

            $h=(($h+$page)-$max_links);
        }

          //Se la pagina non è l'unica

        if($page>=1){

                //estendiamo il nosto range di link visualizzabili

            $max_links = $max_links+($page-1);
        }

            //Se il numero massimo di link visualizzabili, supera il numero totale delle pagine, allora il numero di links è =numero totale di pagine

        if($max_links>$total_pages){
            $max_links=$total_pages+1;
        }

            //Creiamo i link prima e prev
	$pg = "&tipo=". $tipo ."&c=". $acquisto ."&com". $comune ."&p=". $prezzo;
        if($page>1){
/*		if($tipo != ""){
			if($pg == ""){
				$pg = "&amp;tipo=". $tipo;
			} else {
				$pg.= "&amp;tipo=". $tipo;
			}
		} 
		elseif($acquisto != ""){
			if($pg == ""){
				$pg = "&amp;c=". $acquisto;
			} else {
				$pg.= "&amp;c=". $acquisto;
			}
		}
		elseif($prezzo != "") {
			if($pg == ""){
				$pg = "&amp;p=". $prezzo;
			} else {
				$p .= "&amp;p=". $prezzo;
			}
		}*/
		$pagination.="<a href=". $webpage ."?page=". ($page-1) . $pg .">Prev</a>";

        }

            //Creiamo le pagine linkate

        for ($i=$h;$i<$max_links;$i++){
            if($i==$page){
                $pagination.="<a>".$i."</a>";
            }
            else{
/*		if($tipo != ""){
			if($pg == ""){
				$pg = "&amp;tipo=". $tipo;
			} else {
				$pg.= "&amp;tipo=". $tipo;
			}
		} 
		elseif($acquisto != ""){
			if($pg == ""){
				$pg = "&amp;c=". $acquisto;
			} else {
				$pg.= "&amp;c=". $acquisto;
			}
		}
		elseif($prezzo != "") {
			if($pg == ""){
				$pg = "&amp;p=". $prezzo;
			} else {
				$pg.= "&amp;p=". $prezzo;
			}
		}*/
                $pagination.="<a href=". $webpage ."?page=". $i . $pg .">". $i . "</a>";


            }
        }

            //Creiamo i link Next buttons

        if(($page >="1")&&($page!=$total_pages)){
/*		 if($tipo != ""){
			if($pg == ""){
				$pg = "&amp;tipo=". $tipo;
			} else {
				$pg.= "&amp;tipo=". $tipo;
			}
		} 
		elseif($acquisto != ""){
			if($pg == ""){
				$pg = "&amp;c=". $acquisto;
			} else {
				$pg.= "&amp;c=". $acquisto;
			}
		}
		elseif($prezzo != "") {
			if($pg == ""){
				$pg = "&amp;p=". $prezzo;
			} else {
				$pg.= "&amp;p=". $prezzo;
			}
		}*/
            $pagination.="<a href=".$webpage."?page=". ($page+1) . $pg .">Next</a>";

        }
    }

    //if one page of results

    else{
        $pagination.="";
    }
    
    return($pagination);
}

function query_immobili($tipo,$acquisto,$prezzo,$comune) {
require_once ("../conndb.php");
if (get_magic_quotes_gpc()) 
{ 
    $tipo = stripslashes($tipo); 
}
$tipo = mysql_real_escape_string($tipo);
$acquisto = mysql_real_escape_string($_REQUEST['c']);
$prezzo = mysql_real_escape_string($_REQUEST['p']);
$comune = mysql_real_escape_string($_REQUEST['com']);
//inizio parte inerente la paginazione
/*$ris_conteggio = mysql_query("SELECT count(*) as tot FROM Immobili WHERE Tipo LIKE '%$tipo%'") or die( mysql_error() );
$righe = mysql_fetch_array( $ris_conteggio );
$messaggi = 20;
$current_page = (!$_GET['pag']) ? 1 : (int)$_GET['pag'];
$pagine = ceil ( $righe['tot'] / $messaggi );
echo "Pagine: ";
for ($i = 1; $i <= $pagine; $i++) {
	if($i == $current_page) {
$paginazione .= $i . " ";
} else {
$paginazione .= "<a href=\"risultato.php?tipo=" . $tipo . " &amp;pagina=" . $i . "&amp;Inviato=true&amp;Invia=Invia!\">" . $i . "</a>";
}
}
echo "$paginazione";
// estraggo i record
if (! isset($_GET['pag']) || (int)$_GET['pag'] < 1) {
  $_GET['pag'] = 1;
}

if (isset($_GET['pag']) && (int)$_GET['pag'] > $pagine) {
  $_GET['pag'] = $pagine;
}
if(isset($_GET['Invia']) && $_GET['Inviato'] == "true") {
$query = "SELECT Immobili.Tipo, Immobili.Comune, Immobili.Acquisto, Immobili.Prezzo, Immobili.Descrizione, Immobili.ID, Immagini.Id_Immobili, Immagini.Percorso, Immagini.Flag FROM Immobili JOIN Immagini ON Immobili.ID = Immagini.Id_Immobili  WHERE Immobili.Tipo LIKE '%$tipo%' LIMIT " . ( ( (int)$_GET['pag'] - 1 ) * $messaggi ) . "," . $messaggi;
$risultato = mysql_query($query);
// qui il codice che stampa i messaggi 

if(mysql_num_rows($ris_conteggio) == 0) {
echo ("<div id=\"contenutorecord\">Non ci sono immobili al momento per questa sezione.</div>");
}else{*/
//prova mr webmaster
$page = $_GET['page'];
// Controllo se $pag è valorizzato...
// ...in caso contrario gli assegno valore 1
if (!$page) $page = 1; 
/*Setto il numero massimo di record per pagina */ 
$max_results = 20; 
//query di ricerca 
//$query_ricerca= "SELECT Immobili.Tipo, Immobili.Comune, Immobili.Acquisto, Immobili.Prezzo, Immobili.Data_ins, Immobili.Descrizione, Immobili.ID, Immagini.Id_Immobili, Immagini.Percorso, Immagini.Flag FROM Immobili JOIN Immagini ON Immobili.ID = Immagini.Id_Immobili "; 
//metti vuota la variabile
$were="";
if($tipo != ""){ 
    $were= "WHERE Immobili.Tipo = '". $tipo ."' "; 
} //fine if tipo
if($acquisto != ''){
    if($were ==""){
        $were= "WHERE Immobili.Acquisto = '". $acquisto ."'";
    }else{
        $were .= " AND Immobili.Acquisto = '". $acquisto ."'";
    }//fine if-else were vuota
} // fine if acquisto
if($comune != ''){
    if($were ==""){
        $were= "WHERE Immobili.Comuni = '". $comune ."'";
    }else{
        $were .= " AND Immobili.Comuni = '". $comune ."'";
    }//fine if-else were vuota
} // fine if comuni
if($prezzo == "fino1") {
    if($were ==""){
        $were= "WHERE Immobili.Prezzo <= 100000 ";
    }else{
        $were .= " AND Immobili.Prezzo <= 100000 ";
    }
}elseif($prezzo == "100000") {
    if($were ==""){
        $were= "WHERE Immobili.Prezzo BETWEEN 100000 AND 200000";
    }else{
        $were .= " AND Immobili.Prezzo BETWEEN 100000 AND 200000";
    }
}elseif($prezzo == "oltre2"){
    if($were ==""){
        $were= "WHERE Immobili.Prezzo > 200000";
    }else{
        $were .= " AND Immobili.Prezzo > 200000";
    }
}//fine selezione prezzi

$query_ricerca = "SELECT Immobili.Tipo, Immobili.Comune, Immobili.Acquisto, Immobili.Prezzo, Immobili.Data_ins,
 Immobili.Descrizione, Immobili.ID, Immagini.Id_Immobili, Immagini.Percorso, Immagini.Flag FROM Immobili 
 JOIN Immagini ON Immobili.ID = Immagini.Id_Immobili ". $were; 
//$sql = substr($query_ricerca,0,strlen($query_ricerca)-4); // questo serve a togliere l'ultima and che farebbe andare in errore la query
$result= mysql_query($query_ricerca) or die(mysql_error()); 
$total_results = mysql_num_rows($result); 
$total_pages = ceil($total_results / $max_results); 
$webpage = basename($_SERVER['PHP_SELF']); 
$pagination = pagination_4($total_pages,$page); 
/* Mi calcolo l'offset */ 
$from = ($page - 1) * $max_results;
//$from = (($page * $max_results) - $max_results);  
$query_ricerca .= " ORDER BY Immobili.Prezzo ASC, Immobili.Data_ins DESC LIMIT $from, $max_results ";
$result2 = mysql_query($query_ricerca) or die(mysql_error()); 
while ($ris_array = mysql_fetch_assoc($result2)) {
	if ($ris_array['Flag'] == 1){
		echo "<div id=\"contenutorecord\">";
		echo "<div id=\"sfondoimgsmall\"><img src=\"" . $ris_array['Percorso'] . "\" height=\"99\" width=\"150\" /></div>";
		echo "<div id=\"contenutoimmobile\">";
		$Acquisto = strtoupper($ris_array['Acquisto']);
		$Tipo = strtoupper($ris_array['Tipo']);
		$Comune = strtoupper($ris_array['Comune']);
		$Descrizione = tagliastringa($ris_array['Descrizione'],150);
		$Prezzo = "&euro; " . $ris_array['Prezzo'];
		echo "<h2><a href=\"scheda.php?id=" . $ris_array['ID'] . "\">" . $Acquisto . " - " . $Tipo . " - " . $Comune . "   -   " . $Prezzo . "</a></h2>";
		echo "<p>" . $Descrizione . "</p></div>";
		echo "<div id=\"schedaimmobile\"><a href=\"scheda.php?id=" . $ris_array['ID'] . "\"><img src=\"/Img/scheda-casa.jpg\" border=\"0\" width=\"155\" height=\"105\" /></a></div></div>";
	}
}
echo "<div class=\"pagine\">" .$pagination;
mysql_close($link);
}
$tipo = htmlentities($_REQUEST['tipo']);
query_immobili($tipo,$acquisto,$prezzo,$comune);

e il relativo css:
Codice:
/*stili per il layout fisso*/
html,body{margin: 0;padding:0}
body {
	background:#363636 url(../Img/bg_body_red2.jpg) repeat-x fixed center top;
	margin:0 auto;
	padding: 0 auto;
	font-family:Arial, Helvetica, sans-serif;
	font-size:12px;
	text-align:justify;}
div#container{width: 920px;margin: 0 auto;text-align: left;}
/*paginazione*/
.pagine {
	background-color: #FFF;
	text-align: left;
	height: 25px;
	width: 318px;
	margin-top:2px;
	margin-left:5px;
	float:right;
}
/*stili generici, su header e footer*/
#header{background-image:url(../Img/header.jpg);color: #ff0;border-left: 0px;border-right: 0px}
h1,h2{margin: 0;padding:0}
h1{padding-left:0.5em;font: bold 2.3em/80px arial,serif}
h2{color: #999;font-size: 1.5em}
/*div#footer{text-align:center;padding: 0.5em;
    background-color: red; color: #000;border-left: 2px solid red;border-right: 2px solid red}*/
div#footer a{color: #fff;font-weight: bold;text-decoration: underline;border-left: 2px solid red;border-right: 2px solid red}
/*colori link*/
a:link {
color : black;
text-decoration : none;
}
a:visited {
color : #b50042;
text-decoration : none;
}
a:hover {
color : #999;
text-decoration : none;
}
/*fine colori link*/
/*stili specifici per il layout*/
div#navigation{background-color:red;border-left: 2px solid red;border-right: 2px solid red}
div#content{background-color:white;padding: 1em;border: 2px solid red;}
#contenuto {
	margin:0 auto;
	text-align: center;
	background-color: white;
	padding: 1em;
	border: 2px solid red;
	}

#contenutorecord {
	width:800px;
	background-color: white;
	float:left;
	padding-left:50px;
	padding-right:35px;
	padding-bottom:15px;
	border: 2px solid red;
	}	
#contenuto-dettaglio {
	width:906px;
	margin-top:25px;
	float:left;}

#contenutoimmobile {
	width:420px;
	height:115px;
	padding-top:5px;
	padding-left:15px;
	text-align:justify;
	float:left;
}


#sfondoimgsmall {
	width:155px;
	height:105px;
	float:left;
	background:white;
	padding-top:1px;
	padding-left:1px;
	margin-top:3px;
/*	margin-left:17px; */
margin-right:18px}

#schedaimmobile {
	width:155px;
	height:105px;
	float:right;
	position:relative;
	margin-top:20px;
	padding-left:5px;
	padding-top:5px;
	background:white;
	border:0;
	}
	
#schedaimmobile:hover{
	width:165px;
	height:115px;
	position:relative;
	margin-top:19px;
	padding-left:5px;
	padding-top:5px;
	background-image:url(../Img/sfondoimg2.png);
	float:right;
	border:0;
	}

dal lato del funzionamento, va tutto, ma per la paginazione...se non metto "<div class=\"pagine\">" nell'echo alla quintultima riga tutto ok, il div "content" racchiude tutti i risultati, se invece lo metto il div "content" si apre e si chiude ma è alto circa 10pixel e non raccihude un bel niente! i risultati del ciclo ed il div "pagine" sono fuori dal div "content".
E questo proprio non lo capisco, i div racchiudono tutti gli altri div ma questo gli sta antipatico!
Tra l'altro il div "pagine" lo vorrei mettere prima del ciclo e dopo.
Spero che abbiate pazienza di aiutarmi, mi sento molto indietro ma voglio assolutamente imparare.
Grazie ciao
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
prova a verificare che per ogni <div> aperto corrisponda il suo </div> chiuso
quello che hai postato è un po' incasinato da leggere e sembrerebbe che ci siano dei div non chiusi
 

lughino

Nuovo Utente
23 Mar 2010
24
0
0
Ciao,
si quello l'ho verificato ed è ok.
So che è un po' tutto incasinato ma all'atto del funzionamento va tutto, è l'impaginazione che s'incasina quando metto quel div..
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao, dai un occhio
PHP:
</head>
<body>
<div id="container">           
	<div id="header"> 
		<a href="home.php"><img src="http://Img/logo.jpg" width="920" height="122"  border="0" /></a>
	</div><!--fine div header -->
	<div id="navigation">
		In questa sezione ci........
	</div><!--fine div navigation -->
	<div id="content">
	<?php
		//tutto quello che ci deve essere
	?>
	</div> <!--fine div content -->
		<div class="pagine">
		<?php
			echo $pagination; 
		?>
		</div> <!--fine div pagine -->
</div> <!--fine div container -->
	
oppure se la paginazione tutta dentro php

	</div> <!--fine div content -->
	<?php
		//tutto quello che ci deve essere
		echo "<div class=\"pagine\">$pagination</div>";
	?>
</div> <!--fine div container -->

verifica che lo schema sia simile, eventualmente devi provare a dare display block e/o clear ai div,
caso mai fai uno screeshot di come dovrebbe venire e postalo
 
Discussioni simili
Autore Titolo Forum Risposte Data
I Errore 80040220 nella newsletter con paginazione Classic ASP 0
motleyrulez Paginazione Tabella Bootstrap Javascript 2
B [Java] Paginazione in risposta HTTP Java 0
L [PHP] paginazione con classi vendor PHP 2
K [PHP] Paginazione Wordpress: passare variabile PHP 6
A [PHP] If e Else paginazione ok ci sono risultati no ma avanti lo stesso PHP 15
paloppa [PHP] paginazione con ajax PHP 1
O paginazione php mysql PHP 10
A [PHP] limitare counter paginazione PHP 7
V [ASP] paginazione-risultati-query-grandi-dimensioni Classic ASP 8
A [PHP] Problema paginazione motore di ricerca PHP 48
A [PHP] inserire paginazione su script php/mysql PHP 6
Marcello.Fiore Paginazione jQuery - PHP jQuery 2
elpirata [PHP] Paginazione dati estratti da una query con più condizioni PHP 17
X come modificare paginazione del tutorial PHP 0
MarcoGrazia Problema con bootstrap, saltata tutta la paginazione in IE8 HTML e CSS 1
F paginazione record di una query Classic ASP 5
Luca13 ASP Easy-News paginazione Classic ASP 2
G Problema di Indice e Paginazione PHP 5
L articolo: Paginazione dei dati presenti in un file di testo - informazioni PHP 2
M Paginazione di risultati query mysql PHP 2
D Paginazione dati PDO PHP 8
zorro Help paginazione PHP 10
M Problema su numerazione paginazione php PHP 6
D [risolto] Problemi di paginazione dei risultati con una determinata query Classic ASP 4
L paginazione testo senza troncare le parole PHP 3
L testare una paginazione "Creazione di 1000 dati random in una tabella" PHP 7
L problema paginazione con valori -1 -2 -3 -4 PHP 0
N Paginazione con invio modulo PHP 0
L Paginazione file di testo PHP 3
N Script paginazione PHP 0
N Paginazione PHP 2
felino Pagina di ricerca: la paginazione non funziona WordPress 0
xone Evitare Meta Tag duplicati su paginazione php PHP 2
filippino Paginazione file txt con PHP? PHP 1
felino PHP e Paginazione Jquey PHP 2
H [RISOLTO] paginazione PHP + mysql PHP 15
M Problema Paginazione con Mod_rewrite .htaccess PHP 0
J Paginazione PHP in jQuery UI Tabs jQuery 13
ste80 interazione PHP Access con paginazione PHP 7
W Problema eliminazione ultimo record da ultima pagina di crud con paginazione PHP 2
L Paginazione con pdo. PHP 8
G Paginazione php utilizzando le api di careerjet PHP 0
G Paginazione php utilizzando le api di careerjet WordPress 1
S paginazione PHP 2
L Paginazione file evitare di inserire questi \ o altro nella get PHP 1
K problemi con paginazione tabella PHP 7
L Creare paginazione numerica PHP 3
L Problema paginazione che ripete i dati doppi PHP 1
L Paginazione elenco File da una cartella PHP 11

Discussioni simili