2013-09-04 8 views
1

Je veux joindre deux requêtes en une, mais je ne sais pas comment.Joindre deux requêtes en une seule

ceci est une page: http://www.izvrsiteljsu.rs/prodaja/other.php

  <?php 
      //Подаци за повезивање са базом података 
       $username="*"; 
       $password="*"; 
       $database="*"; 
       $url= "*"; 

      //Подаци везани за категорију 
       $kat = "OST"; 
       $kategorija ="other"; 

      //Повезивање са базом података 
       mysql_connect($url,$username,$password); 
       mysql_query("SET NAMES UTF8"); 
       @mysql_select_db($database) or die("Baza ne postoji."); 
       $sql = "SELECT COUNT(PoslovniBroj) FROM $kat WHERE Status='' AND DrugaProdaja <>''"; 
       $rs_result = mysql_query($sql);  
       $row = mysql_fetch_row($rs_result); 
       $total_records = $row[0]; 
       $total_pages = ceil($total_records/20); 

      if (isset($_GET["page"])) 
      { 
       $page = $_GET["page"]; 
      } 
      else 
      { 
       $page=1; 
      }; 

      for ($i=1; $i<=$total_pages; $i++) 
      { 
      if ($i != $page) 
       echo "<b><a style='margin: 5px 5px 5px 5px;' class='page gradient' href='$kategorija.php?page=".$i."'>".$i."</a></b>"; 
      if ($i==$page) 
       echo " <span class='page dark'>". $i . "</span> "; 
      };   
      ?> 
      </p> 
      <hr> 
      <br> 
      <div class="alert"> 
      <b><font color="red">Напомена:</font></b> 
      <p align="justify"> 
      У циљу унапређења начела јавности, као једног од основних процесних начела у нас, као и у жељи за што ефикаснијем и економичнијем остварењу 
      циља намирења извршног повериоца, са једне и што повољнијег уновчења заплењених ствари извршног дужника са друге стране, одлучили смо да Вам 
      на нашој интернет страници пружимо увид у заплењене ствари извршних дужника, као и њихову утврђену тржишну вредност. 
      <br> 
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Позивамо Вас да уколико сте заинтересовани за куповину неке од наведених ствари да нам се јавите било путем телефона на број (024) 554 266, 
      на e-mail: [email protected] или лично у нашим канцеларијама.        
      </div> 
      <?php 

      //Podaci za mySQL 

       $start_from = ($page-1) * 20; 


      mysql_connect($url,$username,$password); 
      mysql_query("SET NAMES UTF8"); 
      @mysql_select_db($database) or die("База не постоји."); 

       $limit = 20; 
       $sql = "SELECT * FROM $kat WHERE Status='' AND DrugaProdaja <>'' ORDER BY Sifra ASC LIMIT $start_from, $limit"; 
       $rs_result = mysql_query ($sql);  

      echo "<div class='imageRow'>"; 
      echo "<div class='set'>"; 

      while ($row = mysql_fetch_assoc($rs_result)) 
      { 
       $SifraR = $row['Sifra']; 
       $PoslovniBrojR = $row['PoslovniBroj']; 
       $OpisR = $row['Opis']; 
       $VrednostR = $row['Vrednost']; 
       $PrvaProdajaR = $row['PrvaProdaja']; 
       $DrugaProdajaR = $row['DrugaProdaja']; 
       $NapomenaR = $row['Napomena']; 
       $StatusR = $row['Status']; 

      echo " <div class='single'> 
         <a class='fancybox-effects-d' href='../prodaja/images/$kat/$SifraR.JPG' rel='lightbox[plants]' title='$OpisR'><img src='../prodaja/images/$kat/$SifraR.JPG' alt='$OpisR' width='150' height='150'/></a> 
         <li><b>Шифра:</b> <font color='red'>$SifraR</font></li> 
         <li><b>Вредност:</b> $VrednostR</li>  
         <li><b>Продаја I:</b> $PrvaProdajaR</li> 
         <li><b>Продаја II:</b> $DrugaProdajaR</li> 
        </div>"; 
      } 
      echo "</div>"; 
      echo "</div>"; 

      echo "<center>"; 
       $sql = "SELECT COUNT(PoslovniBroj) FROM $kat WHERE Status='' AND DrugaProdaja <>''"; 
       $rs_result = mysql_query($sql);  
       $row = mysql_fetch_row($rs_result); 
       $total_records = $row[0]; 
       $total_pages = ceil($total_records/20); 

      echo "<hr>"; 
      for ($i=1; $i<=$total_pages; $i++) 
      { 
      if ($i != $page) 
       echo "<b><a style='margin: 5px 5px 5px 5px;' class='page gradient' href='$kategorija.php?page=".$i."'>".$i."</a></b>"; 
      if ($i==$page) 
       echo " <span class='page dark'>". $i . "</span> "; 
      }; 
      echo "</center>"; 

      mysql_close(); 

      ?> 

et c'est la deuxième page: http://www.izvrsiteljsu.rs/prodaja/other.php

  <?php 
      //Подаци за повезивање са базом података 
       $username="*"; 
       $password="*"; 
       $database="*"; 
       $url= "*"; 

      //Подаци везани за категорију 
       $kat = "TEH"; 
       $kategorija ="tehnology"; 

      //Повезивање са базом података 
       mysql_connect($url,$username,$password); 
       mysql_query("SET NAMES UTF8"); 
       @mysql_select_db($database) or die("Baza ne postoji."); 
       $sql = "SELECT COUNT(PoslovniBroj) FROM $kat WHERE Status='' AND DrugaProdaja <>''"; 
       $rs_result = mysql_query($sql);  
       $row = mysql_fetch_row($rs_result); 
       $total_records = $row[0]; 
       $total_pages = ceil($total_records/20); 

      if (isset($_GET["page"])) 
      { 
       $page = $_GET["page"]; 
      } 
      else 
      { 
       $page=1; 
      };    

      for ($i=1; $i<=$total_pages; $i++) 
      { 
      if ($i != $page) 
       echo "<b><a style='margin: 5px 5px 5px 5px;' class='page gradient' href='$kategorija.php?page=".$i."'>".$i."</a></b>"; 
      if ($i==$page) 
       echo " <span class='page dark'>". $i . "</span> "; 
      };   
      ?> 
      </p> 
      <hr> 
      <br> 
      <div class="alert"> 
      <b><font color="red">Напомена:</font></b> 
      <p align="justify"> 
      У циљу унапређења начела јавности, као једног од основних процесних начела у нас, као и у жељи за што ефикаснијем и економичнијем остварењу 
      циља намирења извршног повериоца, са једне и што повољнијег уновчења заплењених ствари извршног дужника са друге стране, одлучили смо да Вам 
      на нашој интернет страници пружимо увид у заплењене ствари извршних дужника, као и њихову утврђену тржишну вредност. 
      <br> 
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Позивамо Вас да уколико сте заинтересовани за куповину неке од наведених ствари да нам се јавите било путем телефона на број (024) 554 266, 
      на e-mail: [email protected] или лично у нашим канцеларијама.        
      </div> 
      <?php 

      //Podaci za mySQL 

       $start_from = ($page-1) * 20; 


      mysql_connect($url,$username,$password); 
      mysql_query("SET NAMES UTF8"); 
      @mysql_select_db($database) or die("База не постоји."); 

       $limit = 20; 
       $sql = "SELECT * FROM $kat WHERE Status='' AND DrugaProdaja <>'' ORDER BY Sifra ASC LIMIT $start_from, $limit"; 
       $rs_result = mysql_query ($sql);  

      echo "<div class='imageRow'>"; 
      echo "<div class='set'>"; 

      while ($row = mysql_fetch_assoc($rs_result)) 
      { 
       $SifraR = $row['Sifra']; 
       $PoslovniBrojR = $row['PoslovniBroj']; 
       $OpisR = $row['Opis']; 
       $VrednostR = $row['Vrednost']; 
       $PrvaProdajaR = $row['PrvaProdaja']; 
       $DrugaProdajaR = $row['DrugaProdaja']; 
       $NapomenaR = $row['Napomena']; 
       $StatusR = $row['Status']; 

      echo " <div class='single'> 
         <a class='fancybox-effects-d' href='../prodaja/images/$kat/$SifraR.JPG' rel='lightbox[plants]' title='$OpisR'><img src='../prodaja/images/$kat/$SifraR.JPG' alt='$OpisR' width='150' height='150'/></a> 
         <li><b>Шифра:</b> <font color='red'>$SifraR</font></li> 
         <li><b>Вредност:</b> $VrednostR</li>  
         <li><b>Продаја I:</b> $PrvaProdajaR</li> 
         <li><b>Продаја II:</b> $DrugaProdajaR</li> 
        </div>"; 
      } 
      echo "</div>"; 
      echo "</div>"; 

      echo "<center>"; 
       $sql = "SELECT COUNT(PoslovniBroj) FROM $kat WHERE Status='' AND DrugaProdaja <>''";   
       $rs_result = mysql_query($sql);  
       $row = mysql_fetch_row($rs_result); 
       $total_records = $row[0]; 
       $total_pages = ceil($total_records/20); 

      echo "<hr>"; 
      for ($i=1; $i<=$total_pages; $i++) 
      { 
      if ($i != $page) 
       echo "<b><a style='margin: 5px 5px 5px 5px;' class='page gradient' href='$kategorija.php?page=".$i."'>".$i."</a></b>"; 
      if ($i==$page) 
       echo " <span class='page dark'>". $i . "</span> "; 
      }; 
      echo "</center>"; 

      mysql_close(); 

      ?> 

et je veux que deux pages sur un avec une requête. J'ai essayé

$sql = "SELECT COUNT(*) FROM TEH, NAM WHERE Status='' AND DrugaProdaja <>''"; 

et

$sql = "SELECT * FROM TEH, NAM WHERE Status='' AND DrugaProdaja <>'' ORDER BY Sifra ASC LIMIT $start_from, $limit"; 

mais cela ne fonctionne pas.

Répondre

0

Convertissez votre mysql en mysqli et utilisez: http://us2.php.net/manual/en/mysqli.multi-query.php Mysql est de toute façon obsolète, à partir de PHP 5.5. ou vous pouvez essayer un UNION

(SELECT COUNT(*) FROM NAM WHERE Status='' AND DrugaProdaja <>'') 
UNION 
(SELECT COUNT(*) FROM TEH WHERE Status='' AND DrugaProdaja <>'') 

mais toujours changer votre fonction mysqli ou AOP vous êtes vulnérable à l'injection sql. Ou :

SELECT (SELECT COUNT(*) FROM NAM WHERE Status='' AND DrugaProdaja <>'') 
    + 
    (SELECT COUNT(*) FROM TEH WHERE Status='' AND DrugaProdaja <>'') as SumCount 
+0

Avec l'union que je reçois ce http://www.izvrsiteljsu.rs/prodaja/neposredna_pogodba.php –

+0

Alors qu'est-ce que vous obtenez devraient Quel est le problème, je ne peux pas lire exactement minds.Be plus spécifique. – Mihai

+0

Je veux 20 lignes sur une page et d'abord une table, puis une autre. Avec cette requête, je reçois 20 lignes de un et 20 d'une autre table sur la même page. –