Ciao a tutti, ho 2 pagine PHP per effettuare una ricerca in php e mysql.
nella prima ho un campo di ricerca che tramite metogo GET in teoria dovrei passarle all' altra pagina per effettuare la query e poi stamparle con impaginazione.
Ecco i codici:

home.php
Codice PHP:
<?   
$string
=mysql_real_escape_string($_GET['string']); 
?> 
<form action="home.php?page=search&string=<? echo $string;?>&lim1=<?echo $lim1;?>&lim2=5" method="get"> 
                                    <table cellpadding="0" cellspacing="0"> 
                                        <tr> 
                                            <td valign="top"> 
                                                <input type="text" name="string" id="string" value="<?echo $string;?>" style="height: 34px; width: 400px; font-size: 30px;-webkit-border-top-left-radius: 7px;-webkit-border-bottom-left-radius: 7px;-moz-border-radius-topleft: 7px;-moz-border-radius-bottomleft: 7px;border-top-left-radius: 7px;border-bottom-left-radius: 7px;" autocomplete="on"> 
                                            </td> 
                                            <td valign="bottom"> 
                                                <input type="image" src="image/src.gif" height="40" width="40" id="cerca" autocomplete="off"> 
                                            </td> 
                                        </tr> 
                                    </table> 
                                </form> 
<?   
if($_GET['page']=="search"){   
   echo 
"Stai cercando ".$string.".";   
   include 
'search.php';   
}   
?>
search.php
Codice PHP:
<? 
$query
="SELECT * FROM articolo WHERE titolo LIKE '%".$string."%' ORDER BY data DESC LIMIT ".$_GET['lim1'].",5"
$risultati=mysql_query($query); 
$num=mysql_num_rows($risultati); 
if (
$num==0){  
    echo 
'Nessun risultato per: "';  
    echo 
$string
    echo 
'".'
}else{ 
?> 
    <div align="center"> 
<? 
    $i
=0
    while (
$i<$num){     
        
$id=mysql_result($risultati,$i,"id"); 
        
$t=mysql_result($risultati,$i,"titolo"); 
        
$a=mysql_result($risultati,$i,"autore"); 
        
$d=mysql_result($risultati,$i,"data"); 
        
$w=mysql_result($risultati,$i,"wiev"); 
        
$c=mysql_result($risultati,$i,"categoria"); 
        
$r=mysql_result($risultati,$i,"difficolta"); 
        
$ok=mysql_result($risultati,$i,"certificato"); 
?> 
        <a href="home.php?page=article&act=wiev&id=<? echo $id?>"> 
            <table width="100%" bgcolor="#e9e9e9" style="border: 1px solid #c0c0c0;" class="clickgui"> 
                <tr> 
                    <td align="left" width="33%" valign="middle"> 
                        <font size="4"> 
                            <? echo $t?> 
                        </font> 
                        
 
                        Visualizzazioni: <? echo $w?> 
                        
 
                        Difficolt&agrave: <?  
                        $stella
'[img]image/stella.png[/img]'
                        if(
$r==0){ echo $stella; echo ": Molto facile."; } 
                        else if(
$r==1){ echo $stella,$stella; echo ": Facile."; } 
                        else if(
$r==2){ echo $stella,$stella,$stella; echo ": Medio."; } 
                        else if(
$r==3){ echo $stella,$stella,$stella,$stella; echo ": Difficile."; } 
                        else if(
$r==4){ echo $stella,$stella,$stella,$stella,$stella; echo ": Molto difficile."; } 
?> 
                    </td> 
                    <td width="33%" valign="middle"> 
<? 
                        
if($ok==1){ 
?> 
                            [img]image/certif.png[/img] 
<? 
                        

?> 
                    </td> 
                    <td align="right" valign="middle" width="33%"> 
                        Data: <? echo $d?> 
                        
 
                        Autore: <? echo $a?> 
                        
 
                        Categoria: <? echo $c?> 
                    </td> 
                </tr> 
            </table> 
        </a> 
        
 
<? 
        $i
++; 
    } 
    if (
$_GET['lim1']!=0){ 
?>                                                     
        <a href="<?php print("home.php?page=search&string=".$string."&lim1=".($_GET['lim1']-5)."&lim2=5");?>"> 
            [img]image/pagina-precedente.png[/img] 
        </a> 
<? 
    

    
$cerca_altre="SELECT * FROM articolo WHERE titolo LIKE '%$string%' LIMIT ".($_GET['lim1']+5).",5"
    
$controllo_successivi=mysql_query($cerca_altre); 
    if (
mysql_fetch_row($controllo_successivi)){ 
?> 
        <a href="<?php print("home.php?page=search&string=".$string."&lim1=".($_GET['lim1']+5)."&lim2=5");?>"> 
            [img]image/prossima-pagina.png[/img] 
        </a>         
<?php 
          

?> 
    </div> 
<? 

?>
Bene, quello che mi succede se digito qualcosa ad esempio "r":

premo il tasto "cerca" e in teoria dovrebbe portarmi alla pagina "home.php?page=search&string=r&lim1=0&lim2=5"

Invece al momento del click mi porta a "home.php?string=r&x=10&y=12"

In pratica salta per prima cosa "page=search" e poi mi mette le coordinate dell' <input type="image" a seconda dove clicco.

Devo dire però che c'è qualcosa che mi ha stranizzato, in teoria non essendoci nel link "page=search" la pagina search.php non viene inclusa. Ma a me poi mi stampa a video questa parte di codice

Codice PHP:
$query="SELECT * FROM articolo WHERE titolo LIKE '%".$string."%' ORDER BY data DESC LIMIT ".$_GET['lim1'].",5"
$risultati=mysql_query($query); 
$num=mysql_num_rows($risultati); 
if (
$num==0){  
    echo 
'Nessun risultato per: "';  
    echo 
$string
    echo 
'".'

al che mi viene un dubbio!

Nella mia pagina "home.php" ho uno script che funziona alla stessa maniera di questo ma non tramite campo ricerca ma per "ultime inserite" e utilizzo i nomi delle query uguali in entrambe le pagine, quindi mi sono chiesto "ma può fare conflitto?".