Keresés

Új hozzászólás Aktív témák

  • pigmeus

    tag

    válasz pigmeus #20314 üzenetére

    végül a keresést funkciót is elég egyszerűen sikerült megoldani....

    $sql = new Sql();
    $search = $_POST["search"];
    $result = $sql->searchProducts($search);
    if(!empty($result)){
    foreach ($result as $row) {
    $id = $row["id"];
    $termeknev = $row["nev"];
    $termekar = $row["ar"];
    $termekkep = $row["kep"];
    $cikkszam = $row["cikkszam"];
    $keszlet = $row["keszlet"];
    echo "

    --------------------------
    function searchProducts($search){
    $dbCon = parent::connect();
    $stmt = $dbCon->prepare("SELECT * FROM termekek WHERE nev LIKE '%$search%' ");
    $stmt->execute();
    $result = $stmt->fetchAll();
    return $result;
    }

  • pigmeus

    tag

    Egy olyan problémám lenne, hogy készítettem egy sort funkciót, de valamiért a már korábban feltöltött adatokat nem sortol-ja helyesen. Bár most ahogy nézem az új felviteleket jól mutatja.
    Esetleg volt valakinek hasonló gondja? Hogy érdemes ezt felépíteni?
    <?php
    if (isset($_GET['katid'])) {
    $katid = $_GET['katid'];
    $result = $sql->getCategoryById($katid);
    } elseif (isset($_GET['sort'])) {
    $sort = $_GET['sort'];
    switch ($sort) {
    case'price_asc':
    $result = $sql->getProductsAsc();
    break;
    case'price_desc':
    $result = $sql->getProductsDesc();
    break;
    }

    } else {
    $result = $sql->getProducts();
    }
    foreach ($result as $row) {
    $id = $row["id"];
    $termeknev = $row["nev"];
    $termekar = $row["ar"];
    $termekkep = $row["kep"];
    echo "
    ---------------------------------------------------------
    public function getProductsAsc(){
    $dbCon = parent::connect();
    $stmt = $dbCon->prepare("SELECT * FROM termekek ORDER BY ar ASC");
    $stmt->execute();
    $termekek = $stmt->fetchAll();
    return $termekek;
    }
    public function getProductsDesc(){
    $dbCon = parent::connect();
    $stmt = $dbCon->prepare("SELECT * FROM termekek ORDER BY ar DESC");
    $stmt->execute();
    $termekek = $stmt->fetchAll();
    return $termekek;
    }

  • pigmeus

    tag

    válasz coco2 #20307 üzenetére

    érzem én, hogy ez már fájdalmas lesz, meg nem olyan egyszerű, ahogy ezt előadták.
    Ha rossz helyen kopogtatok szóljatok nyugodtan. Persze jobb lenne az alapokat még jobban megérteni, de most ez van, aztán az is lehet, hogy ez kb full egyszerű, csak én vesztem el valahol :D
    Javascript, ebben az esetben annyiból kell, hogy eltárolja a keresett szót POST-al és majd a result-tal megjelenítem az eredményt. Ezután pedig órán úgy csináltuk, hogy egy másik .php oldalon a search-re lefut a keresés, találat esetén echo-val megjeleníti vagy kiírja, hogy nincs találat az adatbázisban.
    És ezt a keresés funkciót kell átírni ~"OOP"-ra. Ami az én értelmezésem szerint ez a pár sor lenne:
    $search = mysqli_real_escape_string($con, $_POST["search"]);
    $sql = "SELECT * FROM termekek WHERE nev LIKE '%".$search."%'";
    $result = mysqli_query($con, $sql) or die('Error querying database.'); //
    if(mysqli_num_rows($result) > 0){
    while($row = mysqli_fetch_array($result)){
    $id = $row["id"];

    Amit előadtak "php OOP"-ként, jelenleg így néz ki pár példa alapján pár sorban, hogy kb mit várnak vissza:
    <?php
    public function show_termek($id){
    $dbCon = parent::connect();
    $res=$dbCon->prepare("SELECT id,nev,ar,cikkszam FROM termekek WHERE id=?");
    $res->bindParam(1,$id);
    $res->execute();
    $termek =$res->fetchAll();
    return $termek; }

    Fenti sort pedig így hívom meg és jelenítem meg az adatbázist:
    <?php
    if(isset($_GET['termekid'])){
    $termekid = $_GET['termekid'];
    $termek = $sql->show_termek('$termekid');
    foreach($termek as $kuls =>$ertek){
    echo" ".$ertek[0]." "}

  • pigmeus

    tag

    Sziasztok, akkor próbálkozok itt is hátha :) PHP-t kezdtem el tanulni, de az OOP részét sajnos nem igazán vágom és egy feladatot kéne átfordítanom. Sajnos full kezdő vagyok.

    Keresés funkció átírásában kérnék segítséget, meg a többiben is majd.
    Ez a lekérdezés fut le
    <script>
    $(function(){
    $(".search_text").keyup(function(){
    var text = $(this).val();
    if(text != ""){
    $.ajax({
    url: "fetch.php",
    type: "post",
    dataType: "text",
    data: {search:text},
    success: function(data){
    $(".result").html(data);
    } })
    }
    else{
    $(".result").html('');
    } }) })</script>

    majd a fetch.php az alábbi fut le, ahol eltárolom majd megjelenítem az adatokat.

    $search = mysqli_real_escape_string($con, $_POST["search"]);
    $sql = "SELECT * FROM termekek WHERE nev LIKE '%".$search."%'";
    $result = mysqli_query($con, $sql) or die('Error querying database.'); //
    if(mysqli_num_rows($result) > 0){
    while($row = mysqli_fetch_array($result)){
    $id = $row["id"];

    Itt abban akadtam el, hogy érdemes e a mysqli_real_escape_string-et erőltetni, illetve hogyan tudom OOP segítségével eltárolni majd megjeleníteni az adatokat.

  • pigmeus

    tag

    PHP OOP-ban vki tudnak nekem segíteni magánban? Elkezdtem egy OKJ-t, de az első részét nem oopban adták le, de már a leadandót abban kérik, amivel megakadtam. Pár átfordításban kellene segíteni reményeim szerint. :B :U

  • pigmeus

    tag

    válasz pigmeus #20071 üzenetére

    időközben meglett.. jquery baja volt, pedig bemásoltam a jó linket....
    Köszi!

  • pigmeus

    tag

    Sziasztok, az alábbi funkciót szeretném beépíteni a programomba egy kereséshez, de nem működik és sajnos ötletem sincs, holott másnak működik:
    $(function(){
    $(".search_text").keyup(function(){
    var text = $(this).val();
    if(text != ""){
    $.ajax({ url: "fetch.php", type: "post",dataType: "text",data: {search:text}, success: function(data){
    $(".result").html(data);} })}
    else{
    $(".result").html('');}})})

    Nem tudom, hol írhattam el, nem dob semmi hibát és a keresés se fut le. Van esetleg valakinek ötlete, hogy lehetne ezt debugolni?

Új hozzászólás Aktív témák