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..
e il relativo css:
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
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 = "&tipo=". $tipo;
} else {
$pg.= "&tipo=". $tipo;
}
}
elseif($acquisto != ""){
if($pg == ""){
$pg = "&c=". $acquisto;
} else {
$pg.= "&c=". $acquisto;
}
}
elseif($prezzo != "") {
if($pg == ""){
$pg = "&p=". $prezzo;
} else {
$p .= "&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 = "&tipo=". $tipo;
} else {
$pg.= "&tipo=". $tipo;
}
}
elseif($acquisto != ""){
if($pg == ""){
$pg = "&c=". $acquisto;
} else {
$pg.= "&c=". $acquisto;
}
}
elseif($prezzo != "") {
if($pg == ""){
$pg = "&p=". $prezzo;
} else {
$pg.= "&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 = "&tipo=". $tipo;
} else {
$pg.= "&tipo=". $tipo;
}
}
elseif($acquisto != ""){
if($pg == ""){
$pg = "&c=". $acquisto;
} else {
$pg.= "&c=". $acquisto;
}
}
elseif($prezzo != "") {
if($pg == ""){
$pg = "&p=". $prezzo;
} else {
$pg.= "&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 . " &pagina=" . $i . "&Inviato=true&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 = "€ " . $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