problema query

bstaccount

Nuovo Utente
27 Set 2013
8
0
0
ciao a tutti.
ho un form di ricerca con 4 campi select.
vorrei che la query ricercasse nel db i record in base a quanti campi select ho utilizzato.
se ne uso 2 su 4 dovrebbe cercare nel db in base a quei 2 campi utilizzati.

Inoltre dovrei fare in modo che uno di quei campi select mi permettesse di trovare tutti i record creati da una data da me impostata, e poi a decrescere fino all''ultimo.

Qualcuno sa come aiutarmi?:crying::crying::crying:
 
ciao
eccoti uno schema
PHP:
<?php
//........
$wh="";
if(isset($_POST['sel_1'])){
	$wh.=" AND campo_1='".$_POST['sel_1']."' ";
}
if(isset($_POST['sel_2'])){
	$wh.=" AND campo_2='".$_POST['sel_2']."' ";
}
if(isset($_POST['sel_3'])){
	$wh.=" AND campo_3='".$_POST['sel_3']."' ";
}
if(isset($_POST['sel_4'])){
	$wh.=" AND campo_4='".$_POST['sel_4']."'";
}
if(isset($_POST['data'])){
	$wh.=" AND data >'".$_POST['data']."'";//qui attento a come formatti la data
}
$query="SELECT * FROM tabella WHERE 1=1 $wh ORDER BY data";
//.....
?>
 
Ti ringrazio il codice è perfetto..l'unico problema è che (ho sbagliato a scriverlo prima) vorrei che mi filtrasse i risultati della ricerca dalla data inserita nell'input fino alla prima immessa nel db.
Esempio:
Seleziono dal 21/01/2013 e mi restituisce tutti i record da questa data fino alla prima immessa..order by lo decido in seguito!
 
Giusto!
Purtroppo però non mi esegue la stampa..posso postarti il codice come l'ho strutturato?
 
ciao
stai attento a come formatti la data, ti faccio un esempio
12/02/2013 < 21/01/2013
per poterle confrontare le date devono essere nel formato
mm/gg/aaaa
allora quelle di prima diventano
02/12/2013 > 01/21/2013 come è giusto che sia
si puoi postare il codice, qualcuno ci darà un occhio.
 
la query è collegata alla stampa di markers su una google maps. ho provato ad inserire la query in un altra pagina test e funziona perfettamente (inserendo al posto di echo' var...' echo $nome;. Nel momento in cui lo provo in questa pagina invece non mi stampa alcun risultato. Eppure una semplice stampa dei record su mappa senza alcun input di mezzo non mi da problemi..
Codice:
<script type="text/javascript"> 
//<![CDATA[
      // this variable will collect the html which will eventually be placed in the side_bar 
      var side_bar_html = ""; 
    
      // arrays to hold copies of the markers and html used by the side_bar 
      // because the function closure trick doesnt work there 
      var gmarkers = []; 
      var map = null;
var dettagli="<a href='index.php'>vai</a>";

function initialize() {
  // create the map
  var myOptions = {
    zoom: 13,
    center: new google.maps.LatLng(40.635711,17.942255),
    mapTypeControl: true,
    mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
    navigationControl: false,
panControl: false,
      scaleControl: false,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }
  map = new google.maps.Map(document.getElementById("map_canvas"),
                                myOptions);
 
  google.maps.event.addListener(map, 'click', function() {
        infowindow.close();
        });

  // Add markers to the map
  // Set up three markers with info windows 
  // add the points    
<?php
include("vita/core.php");

$cat=$_GET['tv'];
$spe=$_GET['vl'];
// seleziona la citta
$scitta= $_POST['scitta'];
	foreach($scitta as $scitto){
$scitta = $scitto;}

// seleziona la t immobile
$timmo= $_POST['timmo'];
	foreach($timmo as $timmi){
$timmo = $timmi;}

// seleziona prezzo
$sprezzo= $_POST['sprezzo'];
	foreach($sprezzo as $sprezzi){
$sprezzo = $sprezzi;}

// seleziona mq
$smq= $_POST['smq'];
	foreach($smq as $smqu){
$smq = $smqu;}

$wh=""; 
if(isset($_POST['scitta'])){ 
    $wh.=" AND citta='".$scitta."' "; 
} 
if(isset($_POST['timmo'])){ 
    $wh.=" AND tipologia='".$timmo."' "; 
} 
if(isset($_POST['smq'])){ 
	if($smq=='51'){ $wh.=" AND mq >'".$smq."'"; }
	else {  $wh.=" AND mq <='".$smq."'";}
} 
if(isset($_POST['sprezzo'])){ 
	if($sprezzo=='4'){ $wh.=" AND prezzo >'".$sprezzo."'"; }
	else {  $wh.=" AND prezzo <='".$sprezzo."'";}
}
$rileva=mysql_query("SELECT * FROM mappa WHERE 1=1 and categoria='$cat' and commerce='$spe' $wh ORDER BY data_creazione DESC") or die(mysql_error()); 
if(mysql_num_rows($rileva)>0){
while($arrayr=mysql_fetch_array($rileva)){
	$nome=$arrayr['nome'];
		$info=$arrayr['info'];
	$coordinate=$arrayr['coordinate'];
	$identify=$arrayr['collega'];
		$image=$arrayr['image'];
$category=$arrayr['categoria'];

echo'var point = new google.maps.LatLng('.$coordinate.');
  var marker = createMarker(point,"<table><tr><td><div id=spostato><img src=img/'.$image.' style=width:150px; height:150px;></td><td><div id=stampato>'.$nome.' - '.$info.'</div></div></td></tr></table>","<div class=testoprimario>'.$nome.' - '.$category.'<br><br><table><tr><td><img src=img/'.$image.' style=width:150px; ></td><td> '.$info.'</div></td></tr></table><br><br><img src=img/guarda.gif> <a class=via href=index.php?pagina=Scheda&identify='.$identify.'>Visualizza la galleria</a><br><br><img src=img/guarda.gif> <a class=via href=index.php?pagina=Scheda&identify='.$identify.'>Visualizza la scheda completa</a>");';
}}

	?>

  // put the assembled side_bar_html contents into the side_bar div
  document.getElementById("side_bar").innerHTML = side_bar_html;
}
 
var infowindow = new google.maps.InfoWindow(
  { 
maxWidth: 300,
maxHeight: 300
  });
    
// This function picks up the click and opens the corresponding info window
function myclick(i) {
  google.maps.event.trigger(gmarkers[i], "click");
}

// A function to create the marker and set up the event window function 
function createMarker(latlng, name, html) {
    var contentString = html;
    var marker = new google.maps.Marker({
        position: latlng,
        map: map,
        zIndex: Math.round(latlng.lat()*-100000)<<5
        });

    google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(contentString); 
        infowindow.open(map,marker);
        });
    // save the info we need to use later for the side_bar
    gmarkers.push(marker);
    // add a line to the side_bar html
    side_bar_html += ' <a style=color:#121273; href="javascript:myclick(' + (gmarkers.length-1) + ')">' + name + '<\/a><br>';

}
 

    // This Javascript is based on code provided by the
    // Community Church Javascript Team
    // http://www.bisphamchurch.org.uk/   
    // http://econym.org.uk/gmap/
    // from the v2 tutorial page at:
    // http://econym.org.uk/gmap/basic2.htm 
//]]>
</script><img src='img/surprise.jpg' class='bg'>

<div id='pag'>Risultati della ricerca: 
</div>

<div id='openyourmind_1'>
    <!-- you can use tables or divs for the overall layout --> 
   <table style='position:relative; left:50%; margin-left:-650px;'><tr><td valign="top" style="width:600px;" frame="below">       <div id="side_bar" style='background:white;'></div>           
        </td> 
        <td valign="top" style="width:700px; text-decoration: underline; color: #4444ff;"> 
    <a name='mappa'> <div id="map_canvas" style="width: 700px; float:right; height: 500px; "></div> 
        </td> 
      </tr> 
    </table>
</div><br><div id='spacedue'></div>
<div id='quart'><center><a href='' class='quart'>Scarica l'app per mobile</a> &nbsp;&nbsp;<a href='' class='quart'>Seguici su Facebook</a> &nbsp;&nbsp;
<a href='' class='quart'>Seguici su Twitter</a> &nbsp;&nbsp;<a href='' class='quart'>Contattaci via email</a> &nbsp;&nbsp;<a href='' class='quart'>Sito ottimizzato per Chrome</a></center></div>
<div id='spacetre'></div>
 

Discussioni simili