[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    Канешн можно. Напиши 30-40 путей куда скорее всего сунут шел и файл с возможными его именами.
    И скань сайты из гугла и Яши))
    глядишь повезет)
     
  2. DTW

    DTW Banned

    Joined:
    11 May 2008
    Messages:
    221
    Likes Received:
    52
    Reputations:
    11
    как упростить код

    Так как упростить код ?

    PHP:
    <?php

    $pagename
    =LA_BEST_RATED;
    include_once(
    "header_inc.php");

    print 
    "<br><br>";

    $id =(int)$_GET['id'];
    $id2 =(int)$_GET['id2'];
    global 
    $st;
    $st =(int)$_GET['st'];
    $ip ="localhost";
    $user="";
    $pass ="";
    $db ="r";
    $ur ="";
    if(!
    mysql_connect($p,$user,$pass))
    {
        echo 
    "cant connect to Mysql db";
    }
    else 
    {
        echo 
    "";
    }
    //function select from db

    mysql_select_db($db);
    function 
    db()

    {
        
            
    //default select from db
        //$query="select * from jos_vm_category ";
        
    $query="
    SELECT category_name, category_id 
    FROM jos_vm_category
    WHERE category_id

    IN (

    SELECT category_parent_id
    FROM jos_vm_category_xref
    WHERE category_parent_id
    )
    ORDER BY
    category_id ASC
    "
    ;
    return 
    $resmysql_query($query);

    }


    if(empty(
    $st))  $st =  0;
    if(
    $st 0)  $st  0;
    $pn =10;
    function 
    sel($id2)

    {
        if(!empty(
    $id2)){
            
        global 
    $st;
        global 
    $pn;
        
        
        
    $query3=
    SELECT  jos_vm_product.product_thumb_image , jos_vm_product.product_sku ,
    jos_vm_product.product_sku ,
    jos_vm_product_category_xref.product_id, jos_vm_product_category_xref.category_id
    ,jos_vm_product_price.product_price,jos_vm_product_price.product_price_id ,
    jos_vm_category.category_name
    FROM jos_vm_product,jos_vm_product_category_xref,jos_vm_product_price,
    jos_vm_category 

    WHERE jos_vm_product.product_id=jos_vm_product_category_xref.product_id  and 
    jos_vm_product_price.product_id=jos_vm_product_category_xref.product_id
    and jos_vm_category.category_id= jos_vm_product_category_xref.category_id
    and jos_vm_product_category_xref.category_id=
    $id2

    limit 
    $st , $pn ";
        
        
    return 
    $res2 mysql_query($query3);
    //return    $pr = "product";

        
    }
        
    }

    function 
    db2($id)

    {
        
            
    //default select from db
        //$query="select * from jos_vm_category ";
    $query2="
    SELECT category_name, category_id  
    FROM jos_vm_category
    WHERE category_id
    IN (

    SELECT category_child_id
    FROM jos_vm_category_xref
    WHERE category_parent_id=
    $id
    )"
    ;
    return    
    $resmysql_query($query2);


    }



    print
    "<form action=shop.php  method=get >
    <select name=id onchange=this.form.submit();>"
    ;
    $res db();

    while(
    $result mysql_fetch_array($res))
    {
        
    echo 
    "<br>";
     
    $sel $result['category_name'];
     
    $val $result['category_id'];

     print 
    "<option value=$val>$sel($val)</option>" ;


    }
    print 
    "
    </select>


    </form>"
    ;
    print 
    "<br>";

    // form 2

    if(!empty ($id)){
    print
    "<form action=shop.php  method=get >
    <select name=id2 onchange=this.form.submit();>"
    ;
    $res db2($id);

    while(
    $result mysql_fetch_array($res))
    {
        
    echo 
    "<br>";
     
    $sel $result['category_name'];
     
    $val $result['category_id'];

     print 
    "<option value=$val>$sel($val)</option>" ;


    }
    print 
    "
    </select>


    </form>"
    ;
    }

    if(!empty(
    $id2)){
    // img
    $res2 sel($id2);


    $links sel($id2);
     
    $linkamysql_fetch_array($links);
     
    $link $linka['category_id'];

    //count select 
     
    $total="SELECT count(*)
      FROM jos_vm_product
      WHERE product_id IN(
      
      SELECT product_id
      FROM jos_vm_product_category_xref
      WHERE category_id=
    $id2 )";
     
    $qu mysql_query($total);
    $vis mysql_fetch_array($qu);
    global 
    $t;
    $t $vis['count(*)'];
     
    $i 0;
     
     
      if(
    $st != 0)print"<div><center><a class href=shop.php?id2=$link&st=".($st-$pn)."><img src=layout_images/next/back.png></a></div></center><br>";
    if( 
    $t $st $pn  )print"<div><center><a class href=shop.php?id2=$link&st=".($st+$pn)."><img src=layout_images/next/next.png></a></div></center><br>";
    print 
    "<br>";
    // product name and image
    print"<table border=0 align=center><tr>";
    while(++
    $i <= $res3 =  mysql_fetch_array($res2)   )

    {
        
        
    $img $res3['product_thumb_image'];
        
    $text $res3['product_sku'];
        
    $prod $res3['product_id'];
        
    $cat $res3['category_id'];
        
    //$pros ="0.0825";
        //$price = $res3['product_price'];
        //$price = str_replace(",",".", $price);
       // $price = $price +  $pros  ;   
        //$price = substr($price ,0 ,6);


         
    print " <td height=200 width=300 align=center  ><div border=1><b>$text</b><br><br>
         <a href=
    $ur/index.php?page=shop.product_details&flypage=shop.flypage&product_id=$prod&category_id=$cat target=blank>
         <img src=
    $ur/components/com_virtuemart/shop_image/product/$img  boder=0/></a>";
         print 
    "<br><strong>$price</strong> <div></td>";
          if(
    $i  == 5) print "<tr>";
        
        
        
    }


    print
    "<table>";
     if(
    $st != 0)print"<div><center><a class href=shop.php?id2=$link&st=".($st-$pn)."><img src=layout_images/next/back.png></a></div></center><br>";
    if( 
    $t $st $pn  )print"<div><center><a class href=shop.php?id2=$link&st=".($st+$pn)."><img src=layout_images/next/next.png></a></div></center><br>";
    }
    print 
    "<br><br><hr size=1 color=#000>";

    //require("links.php");
    //include_once("footer_inc.php");
    ?>
     
    #4042 DTW, 8 Jul 2008
    Last edited: 9 Jul 2008
    3 people like this.
  3. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    dtw: Ты где это украл???)) Проще новый написать, чем это править.
     
  4. DTW

    DTW Banned

    Joined:
    11 May 2008
    Messages:
    221
    Likes Received:
    52
    Reputations:
    11
    Не крал не негде , это мой первый скрипт ..
    Поэтому и прошу совета профов
     
  5. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    DTW
    PHP:
    $id =(int)$_GET['id'];
    уж лучше так
    PHP:
    if (isset ($_GET['id']) && !empty ($_GET['id']))
      
    $id =(int)$_GET['id'];
    else
      
    $id 0;
    Далее
    PHP:
    $user=""
    $pass =""
    $db ="r"
    $ur ="";
    Если ты присваиваешь одно значение нескольким переменным, то можно организовать все в одну строку, как в Си
    PHP:
    $user $pass $ur ''
    $db ='r'
    Потом
    PHP:
    if(!mysql_connect($p,$user,$pass)){...}
    У тебя переменная $p нигде не объявлена, во-первых, и ты пытаешься залогиниться к мускулю с пустым логином и паролем, во-вторых.
    И юзай поменьше глобальных переменных. Тебе никто не мешает передавать их значения в качестве параметра функции
     
    #4045 krypt3r, 9 Jul 2008
    Last edited: 9 Jul 2008
  6. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    DTW:

    Все на что хватило моих нервов и времени:
    PHP:
    <?php 
    $pagename 
    LA_BEST_RATED
    include_once(
    "header_inc.php"); 

    print 
    "<br><br>"

    $pn  10;
    $id  = (isset($_GET['id'])  && $_GET['id'] > 0)  ? intval($_GET['id'])  : 0
    $id2 = (isset($_GET['id2']) && $_GET['id2'] > 0) ? intval($_GET['id2']) : 0
    $st  = (isset($_GET['st'])  && $_GET['st'] > 0)  ? intval($_GET['st'])  : 0

    $dbhost "localhost"
    $dbuser "root"
    $dbpass ""
    $dbname "base1"
    $ur =""

    if(!
    mysql_connect($dbhost,$dbuser,$dbpass)) die("Немогу приконектиться к БД, попробуй позже.");
    if(!
    mysql_select_db($dbname)) die("Немогу заюзать БД, попробуй зайти в другой раз.");
     
    function 
    select($query)
    {
        
    $db mysql_query($query);
        if(!
    $db
        { 
            echo(
    mysql_error());
            return 
    false
        }
        else
            return 
    $db;
    }


     
    ########################################################
    function sel($id2


        if(!empty(
    $id2)){ 
             
        global 
    $st
        global 
    $pn
         
         
        
    $query3="SELECT  jos_vm_product.product_thumb_image , jos_vm_product.product_sku , jos_vm_product.product_sku , jos_vm_product_category_xref.product_id, jos_vm_product_category_xref.category_id ,jos_vm_product_price.product_price,jos_vm_product  _price.product_price_id , jos_vm_category.category_name FROM jos_vm_product,jos_vm_product_category_xref,jos_vm  _product_price, jos_vm_category  WHERE jos_vm_product.product_id=jos_vm_product_category_  xref.product_id  and  jos_vm_product_price.product_id=jos_vm_product_cat  egory_xref.product_id and jos_vm_category.category_id= jos_vm_product_category_xref.category_id and jos_vm_product_category_xref.category_id=$id2 limit $st , $pn "
         
         
    return 
    $res2 mysql_query($query3); 
    //return    $pr = "product"; 

        

         


    #############################################################
    // SELECT 1
    $res select("SELECT category_name, category_id FROM `jos_vm_category` WHERE category_id IN ( SELECT category_parent_id FROM jos_vm_category_xref WHERE category_parent_id ) ORDER BY category_id ASC");

    print 
    "
    <form action='shop.php'  method='GET'> 
    <select name='id' onchange='this.form.submit();'>
    "
    ;  

    while(
    $result mysql_fetch_array($res)) 

        echo 
    "<br><option value='".$result['category_id']."'>".$result['category_name']."</option>\n";

    echo 
    "</select>\n</form>\n<br>\n\n"

    // SELECT 2
    if($id)
    {
        
    $res select("SELECT category_name, category_id FROM `jos_vm_category` WHERE category_id IN ( SELECT category_child_id FROM jos_vm_category_xref WHERE category_parent_id=".$id." )");
        echo 
    "
    <form action='shop.php'  method='GET' > 
    <select name='id2' onchange='this.form.submit();'>"


        while(
    $result mysql_fetch_array($res))
        {
            echo 
    "<br><option value='".$result['category_id']."'>".$result['category_name']."</option>\n";
        }
        echo 

    </select> 
    </form>"
    ;
    }
    #################################################################


    if(!empty($id2)){ 
    // img 
    $res2 sel($id2); 


    $links sel($id2); 
     
    $linkamysql_fetch_array($links); 
     
    $link $linka['category_id']; 

    //count select  
     
    $total="SELECT count(*) 
      FROM jos_vm_product 
      WHERE product_id IN( 
       
      SELECT product_id 
      FROM jos_vm_product_category_xref 
      WHERE category_id=
    $id2 )"
     
    $qu mysql_query($total); 
    $vis mysql_fetch_array($qu); 
    global 
    $t
    $t $vis['count(*)']; 
     
    $i 0
      
      
      if(
    $st != 0)print"<div><center><a class href=shop.php?id2=$link&st=".($st-$pn)."><img src=layout_images/next/back.png></a></div></center><br>"
    if( 
    $t $st $pn  )print"<div><center><a class href=shop.php?id2=$link&st=".($st+$pn)."><img src=layout_images/next/next.png></a></div></center><br>"
    print 
    "<br>"
    // product name and image 
    print"<table border=0 align=center><tr>"
    while(++
    $i <= $res3 =  mysql_fetch_array($res2)   ) 


         
        
    $img $res3['product_thumb_image']; 
        
    $text $res3['product_sku']; 
        
    $prod $res3['product_id']; 
        
    $cat $res3['category_id']; 
        
    //$pros ="0.0825"; 
        //$price = $res3['product_price']; 
        //$price = str_replace(",",".", $price); 
       // $price = $price +  $pros  ;    
        //$price = substr($price ,0 ,6); 


         
    print " <td height=200 width=300 align=center  ><div border=1><b>$text</b><br><br> 
         <a href=
    $ur/index.php?page=shop.product_details&flypage=shop.flypage&product_id=$prod&category_id=$cat target=blank> 
         <img src=
    $ur/components/com_virtuemart/shop_image/product/$img  boder=0/></a>"
         print 
    "<br><strong>$price</strong> <div></td>"
          if(
    $i  == 5) print "<tr>"
         
         
         



    print
    "<table>"
     if(
    $st != 0)print"<div><center><a class href=shop.php?id2=$link&st=".($st-$pn)."><img src=layout_images/next/back.png></a></div></center><br>"
    if( 
    $t $st $pn  )print"<div><center><a class href=shop.php?id2=$link&st=".($st+$pn)."><img src=layout_images/next/next.png></a></div></center><br>"

    print 
    "<br><br><hr size=1 color=#000>"

    //require("links.php"); 
    //include_once("footer_inc.php"); 
    ?>
     
    #4046 -=Static=-, 9 Jul 2008
    Last edited: 9 Jul 2008
  7. DTW

    DTW Banned

    Joined:
    11 May 2008
    Messages:
    221
    Likes Received:
    52
    Reputations:
    11
    выбираю первый селект потом второй он пишет это

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Server\www\module\shop.php on line 97


    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Server\www\module\shop.php on line 120
     
  8. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    Я же написал, что это все на что у меня нервов хватило....додумай сам, там осталось на 15 мин писанины и на 2 раза напрячь мозги.
     
  9. Lesnoy_chelovek

    Lesnoy_chelovek Elder - Старейшина

    Joined:
    6 Dec 2006
    Messages:
    224
    Likes Received:
    152
    Reputations:
    8
    Не SELECT надо использовать, а SELECT SQL_CALC_FOUND_ROWS.
    потом
    mysql_fetch_row
    и
    mysql_fetch_array
    получишь на выходе массив
     
  10. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    после 547 строки добавь
     
    1 person likes this.
  11. Jer1cho

    Jer1cho Member

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    65
    Reputations:
    10
    Попробуй добавить в конец $_request_headers .= "X-Forwarded-For: 127.0.0.1"; добавить \r\n то есть:
    PHP:
    $_request_headers .= "X-Forwarded-For: 127.0.0.1\r\n";
    Но разве в x-forwarder-for передается только один IP? Вродебы еше что-то должно, может и ошибаюсь....
     
    1 person likes this.
  12. spamoney

    spamoney Elder - Старейшина

    Joined:
    26 Dec 2006
    Messages:
    120
    Likes Received:
    7
    Reputations:
    1
    В общем помогли мне решить эту проблему:

    PHP:
    $text preg_replace("#<strong></strong>#","",preg_replace('#(<[^<^>]*?>)|([^<>right]*)(right)#si''\\1\\2<strong>\\3</strong>'$text));
    Но теперь появились еще две, как сделать что бы заменялось только первые два вхождения в текст по слову right и вторая: как сделать так что бы заменялось допустим "right" на "<strong>right</strong>" но не заменялось allright на all<strong>right</strong> ??
     
  13. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3
    попробуй сперва замменить все right а потом обратно поменять все что не должно было меняца

    шаг первый right на <strong>right</strong>
    шаг второй "<strong>right</strong>" на "right"
    шаг третий all<strong>right</strong> на allright

    если есть еще варианты то добавить шаг 4 5 и тд
     
  14. Mixon

    Mixon Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    Помогите с php скриптом.

    Вот пишу скрипт,и столкнулся с такой проблемой, вот математическая ф-цыя
    $index= $to+$in;
    print("$index");
    а как можно сделать чтобы место + была переменная,а в значении переменной указать знак,толи + толи - и т.д?? Уже как только не пробывал,никак не могу составить...Плиз,помогите... :( :( :(
     
  15. iron-viper

    iron-viper Elder - Старейшина

    Joined:
    13 Nov 2007
    Messages:
    167
    Likes Received:
    45
    Reputations:
    3
    На скорую руку быстрый ответ

    Сам принцип, нету времени писать полностью, думаю идею понял.


    <?php

    $to = 10;
    $in = 20;
    $znak = "+";
    $index= $to . $znak . $in;
    print("$index");

    ?>
     
  16. alex-x-x

    alex-x-x New Member

    Joined:
    30 May 2008
    Messages:
    5
    Likes Received:
    1
    Reputations:
    0
    //sign=1 это плюс, 0 - минус
    if(sign) $index= $to+$in;
    else $index= $to-$in;
    print("$index");
     
  17. Mixon

    Mixon Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    Не,ты меня чуть не понял,я хочу чтобы на странице в форме указывался знак,а не в самом скрипте да есче и цыфрой,вот iron-viper написал как мне нужно,ша пойду тестить,должно пойти...
     
  18. Mixon

    Mixon Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    Неа,не пашет! Он и выводит только таждую переменную отдельно, 10+20 так и выводит, а не их сумму....
     
    1 person likes this.
  19. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    Руки с жопы?)) На форме сделай выпадаюший список, в коде -
    switch ($type)
    {
    case 0: $index = $to - $in; break;
    case 1: $index = $to + $in; break;
    // ...
    }
    echo $index;
     
    #4059 BlackSun, 11 Jul 2008
    Last edited: 11 Jul 2008
  20. nc.STRIEM

    nc.STRIEM Members of Antichat

    Joined:
    5 Apr 2006
    Messages:
    1,036
    Likes Received:
    347
    Reputations:
    292
    PHP:
        $zn '+';
        eval(
    '$index = $to'.$zn.'$in;');
        echo 
    $index;
     
    1 person likes this.
Thread Status:
Not open for further replies.