ugrás a tartalomhoz

PHP rendezés a webshopra

frostywarrior · 2011. Ápr. 15. (P), 12.31
Sziasztok Srácok!

Megint a segítségeteket szeretném kérni, valami miatt nem megy a rendezés, most teljesen nem látom át az egészet.
Van egy weblapom ahol adatbázisból termékeket vesz ki, fel is tölti őket erre az oldalra(ujtermekek.php).A felhasználónak pedig van lehetősége rendezésre, egy selectel amit elküld a termek.php oldalra, ahol itt kellene az adatokat elcsipni és módosítani.

HA van esetleg valakinek valamilyen ötlete, hogyan tudom ezt kiküszöbölni, segítsen.

Belinkelem a 2.db oldalt ahol ez végbe megy.

1.oldal(ujtermekek.php-> itt jeleniti meg a termékeket, és ide van be include-olva a termek.php):

ujtermekek.php:

<?php 
session_start();

include "login.php";
$login = new Login();

if ($_GET["kilepes"] == 1) {
    $_SESSION['isLogin'] = false;
    session_destroy();
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta name="description" lang="hu" http-equiv="description" content="Egy weboldal, ami minőségi műanyag termékeket mutat be.">
<meta name="keywords" lang="hu" http-equiv="keywords" content="Tupperware, Tupper, Tupi, Minőségi műanyag" >
<meta name="author" content="Tóth-Pál Ádám" lang="hu">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" >
<title>WizardSoft Kft. - Kezdőlap</title>
<link rel="stylesheet" href="style.css" type="text/css" >
<script type="text/javascript" src="js/function.js"></script>
</head>
<body bgcolor="#B0C4DE">
<div class="mainDiv">
  <div class="logoDiv">
    <div class="menuLocationDiv">
      <div class="menuDiv">
        <div id="nav">
          <ul>
            <li><a href="index.php"><span>Kezdőlap</span></a></li>
            <li><a href="ceginfo.php" ><span>Céginfó</span></a></li>
            <li><a href="szabalyzat.php" ><span>Üzlet Szabályzat</span></a></li>
            <!--<li><a href="ujTermekek.php" ><span>Új termékek</span></a></li>
            <li><a href="hasznaltTermekek.php" ><span>Használt termékek</span></a></li>-->
            <!--<li><a href="regisztracio.php" ><span>Regisztráció</span></a></li>-->
            <li><a href="informaciok.php" ><span>Információk</span></a></li>
            <!--<li><a href="szallitas.php" ><span>Szállítás</span></a></li>-->
            <li><a href="kapcsolat.php" ><span>Kapcsolat</span></a></li>
          </ul>
        </div>
        <!--menuLocationDiv-->
      </div>
      <!--menuDiv-->
    </div>
    <!--nav-->
    <div class="clear">
      <? $login->loginControl() ?>
      <? $login->input() ?>
      <? $login->href()?>
    </div>
    <img src="pictures/logo_jav2.jpg" id="logo" alt="Wizardsoft logó" usemap="#mainHtml">
    <map name="mainHtml" id="mainHtml">
      <area shape="rect" coords="10,10,210,116" href="index.php" alt="Főoldal" >
    </map>
    <div class="contactContent">
      <!--tárgy-->
      <div class="divCon">
      <? include "termek.php" ?>
      <?
                            if (isset($_POST["limit"])) {
                                $_SESSION["limit"] = $_POST["limit"];
                                $_SESSION["order"] = $_POST["order"];
                            }

                            $order = $_SESSION["order"];
                            $limit = $_SESSION["limit"];

                            if ($order == null)
                                $order = "order By ar Asc";
                            if ($limit == null)
                                $limit = 6;
                    ?>
          <form name="selectFrm" method="post">
            <div class = "clearBoth"></div>
            <div style="float:right;padding:5px;">
              <select onchange="submitSelectedForm()" name="limit" id="limit" size="1">
                <option value="6" <? if ($_SESSION["limit"] == 6)
                                            echo "SELECTED"; ?> >6</option>
                <option value="12"<? if ($_SESSION["limit"] == 12)
                                            echo "SELECTED"; ?> >12</option>
              </select>
            </div>
            <div style="float:right;padding:5px;">
    <select onchange="submitSelectedForm()" name="order" id="order" size="1">
<option value="order By ar Asc"  <? if ($_SESSION["order"] == "order By ar Asc")
                                echo "SELECTED"; ?>>ÁR szerint növekvő</option><option value="order By ar Desc"  <? if ($_SESSION["order"] == "order By ar Desc")
                               echo "SELECTED"; ?>>ÁR szerint csökkenő</option><option value="order By termek_nev Asc"  <? if ($_SESSION["order"] == "order By termek_nev Asc")
                                            echo "SELECTED"; ?>>  ABC szerint növekvő</option>
               <option value="order By termek_nev Desc"  <? if ($_SESSION["order"] == "order By termek_nev Desc")
                                            echo "SELECTED"; ?>>ABC szerint csökkenő</option>
              </select>
            </div>
          </form>
        <div class = "container">
                 <script type="text/JavaScript">

                            function submitSelectedForm(){
                                document.selectFrm.submit();
                            }
                        </script>
          
        </div>
      
      </div>
      <div class="menuLocationDivRight">
        <!--Ide kerül majd a jobb oldali reklámok,bannerek stb..-->
        <div align="center"> <img src="pictures/szamitogep.jpg" alt="Számítógép"/>
          <p class="brandText">Made by WizardSoft Kft. <br />
            Minden jog Fenntartva!</p>
        </div>
      </div>
      <div class="menuLocationDivLeft">
        <div id="menu">
          <!--Ide kerül majd a bal oldali menüpontokstb..-->
          <ul>
            <h1 class="menuText">Számítástechnika</h1>
            <ul>
              <li><a href="Programozas.php" ><span >Programozás</span></a></li>
              <li><a href="rendszer.php" ><span>Rendszer Kiépítés</span></a></li>
            </ul>
            <h1 class="menuText">Informatikai Értékesítés</h1>
            <ul>
              <li><a href="ujTermekek.php" class="current"><span>Új Termékek</span></a></li>
              <li><a href="hasznaltTermekek.php"><span>Használt Termékek</span></a></li>
            </ul>
            <h1 class="menuText">Egyéb Munkaköreink</h1>
            <ul>
              <li><a href="piac.php" ><span>Piacfelmérés </span></a></li>
              <li><a href="epito.php" ><span>Építőmesteri Munkák </span></a></li>
            </ul>
          </ul>
        </div>
      </div>
      <div class="footer"> </div>
    </div>
    <!--contactContent-->
  </div>
  <!--logoDiv-->
</div>
<!--mainDiv-->
</body>
</html>
termek.php(itt kerül kapcsolatba az adatbázisal+itt kerül majd kiiratásra a termék):

<?
//include "db.php";

//a megjeleno­teni kívánt adatok darabszáma

$limit=6;

//sql, amely szerint szeretnénk adatot válogatni
$sql = "SELECT * FROM termek ;";

$page=1;

//eltároljuk, hogy hol járunk
if(isset($_GET["lapsz"])) {
   $page=$_GET["lapsz"];
}

//megszámoljuk mennyi itemet kellene tördelni

$dbConnect= new DbConnect();
$conn=$dbConnect->connect("127.0.0.1","root","abc123","wizardsoft");
$res=$dbConnect->sendQuery($conn,$sql);

$rowCount = mysql_numrows($res);

$pageCount=ceil($rowCount/$limit);

$arr = array();

$db=0;
for ($i = 1; $i <= $pageCount; $i++) {
	$arr[$i]=$db.",".$limit;
	$db=$db+$limit;
}

//logika

$sqlRepl = str_replace(";","",$sql);

$sql = $sqlRepl." LIMIT ".$arr[$page].";";

$res=$dbConnect->sendQuery($conn,$sql);

//
//ide kell írni a logikát!
//

$magassag=100;
$szeleseg=130;
$brutto="Bruttó Ár:";
$dbProduct=0;
while ($resArr = mysql_fetch_array($res)) {
	$termek_azon = $resArr['termek_azon'];
    $nev = $resArr['termek_nev'];
    $picture = $resArr['kep_parameter'];
    $ar = $resArr['ar'];
    $darab = $resArr['darab'];
	$cpu = $resArr['processzor'];
	$vga = $resArr['videokartya'];
	$ram = $resArr['memoria'];
	$vinyo = $resArr['winchester'];
	$kepernyo = $resArr['kijelzo'];
	$egyeb = $resArr['egyeb'];
    $dbProduct++;

$formName="p".$termek_azon;

echo '<form name="' .$formName. '" method="POST">'.
'<table>'.
'<tr>'.
'<td width="300px">'.

'<ul class="productText">'.

'<li>'.$nev.
'</li>'.
'<li>'.$cpu.
'</li>'.
'<li>'.$vga.
'</li>'.
'<li>'.$ram.
'</li>'.
'<li>'.$vinyo.
'</li>'.
'<li>'.$kepernyo.
'</li>'.
'<li>'.$egyeb.
'</li>'.

'</ul>'.

'</td>'.

'<td width="300px">'.

'<img src = "pictures/laptop/'.$picture.'.jpg" height="'.$magassag.'" width="'.$szeleseg.'" alt="Termék_kép">'.
'<div  class="priceRight">'.$brutto.
'<input class="priceRight" type="text" size=8 name="ara" value="'.$ar.'.-Ft" readonly="readonly">'.
'<input type="hidden" name="termek" value="'.$termek_azon.'">'.

'<br/>'.
'<input type="button" id="basket" name="submit" href="ujTermekek.php" value="Kosárba teszem! ">'.
'</div>'.

'</td>'.
'</tr>'.
'</table>'.
'</form>'.
'<hr style="width:100%; margin-left: auto; margin-right: auto; text-align: right; color:#555555">';


}

echo '<div class = "clearBoth"></div>';


//
//
//

//lapszámok kiirasa

if ($page>1){
	$back=$page-1;
    echo "<a class='pageHref' href='"."ujtermekek.php?lapsz=".$back."'>Elözö</a> ";
}

for ($i = 1; $i <= $pageCount; $i++) {
	if ($i==$page)
		echo "<a class='pageSelect' href='"."ujtermekek.php?lapsz=".$i."'><b>".$i."</b></a> ";
	else
    	echo "<a class='pageHref' href='"."ujtermekek.php?lapsz=".$i."'>".$i."</a> ";
}

if ($page<$pageCount){
	$next=$page+1;
    echo "<a class='pageHref' href='"."ujtermekek.php?lapsz=".$next."'>Következö</a> ";
}

//db lezárása

$dbConnect->close($conn);

?>
Bocsánatot kérek a formázás miatt, igyekszem tanulgatni ezt is.

Előre is köszönöm a válaszaitokat.

Üdv F.
 
1

Kiküszöbölni?

Poetro · 2011. Ápr. 15. (P), 13.14
Elárulod, hogy pontosan mi a probléma, és mit is akarsz kiküszöbölni? Valamint miért kell session változókat használni a rendezés és az elemszámra?
2

válasz

frostywarrior · 2011. Ápr. 15. (P), 13.24
Szia!

Rendezést szeretném megoldani!

Tehát tegyük fel hogy van egy felhasználó és belép az oldalra, aztán meglátja a ujtermekek linket ahol behozza neki a termékeket.
A termékek alapértelmezetként megjelenek neki 6-osával de tudja módosítani ezt, hogy ha lent kiválassza hogy ő 12-es csoportokba szeretné látni és abc sorrend szerint növekvőbe vagy csökkenőbe, vagy pedig ár szerint rendezné akkor úgy jelenjen meg neki.

Session azért kell mert a bejelentkezett emberke adatát tárolom benne hogy ne kelljen mindig bejelentkezni-e. A másik meg az hogy majd ha kosarat készitek akkor vásárolni és válogatni csak akkor tudjon ha bejelentkezett az illető különben ne is legyen látható a kosár sem.
3

Az az igazság hogy az sql

sanyatuning · 2011. Ápr. 20. (Sze), 10.52
Az az igazság hogy az sql lekérdezéshez hozzá sem fűzted az $order és a $limit változókat.
Ezenkívül az első file-ban az include-ot a változók beállítása után kéne meghívni.
És az egész kicsit kusza :)