Jump to content
php.lv forumi

aaxc

Moderatori
  • Posts

    638
  • Joined

  • Last visited

Posts posted by aaxc

  1. Var taisīt šādi, bet ir noteikti arī labāks risinājums:

     

    SELECT DISTINCT t.reekinu_kolonna, ( SELECT SUM( a.r3 ) FROM tabula a WHERE a.reekinu_kolonna = r.reekinu_kolonna ) AS sum_r3 FROM tabula t;

     

    Un vari izdalīt ar count(r3) manuprāt un iegūt vidējo, bet shis risinājums būs pamatīgi lēns, ja datubāze ir liela un query jāizplidas regulāri + tas selects papildus select jāveic visām 5 kolonnām šajā gadījumā.

     

    Es tev ieteiktu izvilkt vienkārši datus, iemest masīvā un tad php pusē to masīvu apstrādāt. Būs stipri ātrāk.

  2. Tu sesiju sāc tikai tad, kad tev ir errors. No kurienes tev scripts redzēs $_SESSION['user_email'] mainīgo, ja sesija nav atvērta?

     

    session_start();
    if(!isset($_SESSION['user_email'])){
    include("login.php");
    } else {
    include("menu.php");
    }

     

    Un par headeriem paskaties šo pašu forumu, ir liels raksts par header already sent kā tats pirmais izceltais!

  3. Dokumentus kā tādus pieprasa obligāti tikai valsts iestādēs, privātie neprasīs, toties darbā pieņams 90% gadījumā to, kuram tādi bija.

     

    Kā tev šķiet, kuru darba devējs izvēlēsies, ja būs divi vienlīdz zinoši kandidāti, bet vienam ir vidusskolas izglītība - otram augstākā? ( protams izglītība savā nozarē tas ir domāts ).

  4. Tātad, man ir izveidotā šāda funkcija

     

    <?php
    
    $pdo_db = new PDO( 'mysql:host=' . $db_host . ';dbname=' . $db_name, $db_user_name, $db_password );
    
    function qlist_pdo( $fields, $tables, $where_fields='', $where_values='', $order='', $limit='' ) {
    
    GLOBAL $pdo_db; // ignore this, it will be in class later. This is just for test purposes
    
    if ( $order ) $order = ' ORDER BY ' . $order;
    if ( $limit ) $limit = ' LIMIT ' . $limit;
    
    if ( is_array( $where_fields ) && is_array( $where_values ) && isset( $where_fields ) && isset( $where_values ) ) {
    
    if ( sizeof( $where_fields ) != sizeof( $where_values ) ) {
    die( "Query error: where <strong>field</strong> count doesn't match <strong>value</strong> count!" );
    } else {
    
    $where = ' WHERE ';
    foreach( $where_fields as $key => $value ) {
    $where .= $key . ' ' . $value . '=? ';
    }
    $where = substr( $where, 0, -1 );
    
    echo $query = "SELECT " . $fields . " FROM " . $tables . $where . $order . $limit;
    $qp = $pdo_db -> prepare( $query );
    
    foreach ( $where_values as $key => $val ) {
    $qp -> bindParam( $key+1, $val );
    }
    
    }
    
    } else {
    echo $query = "SELECT " . $fields . " FROM " . $tables . $order . $limit;
    $qp = $pdo_db -> prepare( $query );
    }
    
    $qp -> execute();
    $result = $qp -> fetchAll();
    
    return $result;
    
    }
    
    ?>

     

    Kura tiek izsaukta šādi:

     

     $result = qlist_pdo( "*", "list", array( '' => 'id', 'OR' => 'id' ), array( '2', '8' ), 'id DESC' );

     

    Problēma ir tāda, ka man atgriež vienu rindiņu divu vietā. Ja es to pašu pieprasījumu veicu noņemot where parametrus:

     

     $result = qlist_pdo( "*", "list", '', '', 'id DESC' );

     

    Tad es iegūstu ko pieprasīji, respektīvi, visu saturu.

     

    Query kas tiek uzgenerēts:

     

     SELECT * FROM list WHERE id=? OR id=? ORDER BY id DESC

     

    Parametri kuri tiek uzģenerēti:

     

    1, 2
    2, 8 

     

    Patreiz izskatās, ka tiek atgriezts tikai pēdējais ID, respektīvi, id = 8 tikai nostrādā. Pietam nav starpības, vai es norādu AND vai OR. Tik un tā tiek atgriezts viens rezultāts.

     

    Vart paskaidrot kur ir kļūda?

  5. Nav ātrāk un drošāk izveidot divus masīvus un ar str_replace tos nomainīt?

     

    $a = array( 'ā', 'Ā', 'č', 'Č', 'š', ... );
    $b = array( 'a', 'A', 'c', 'C', 's', ... );
    $string = str_repalce( $a, $b, $string );
    

     

    Šādi arī nebūs jāuztraucas par serveru konfigurācijām.

  6. Uzliku ... šis bij pirmais ko man pateica ;)

     

    Parse error: syntax error, unexpected T_PROTECTED, expecting T_VARIABLE in C:\data\test\eden\eden.php on line 687

  7. .htaccess failā norādam:

    RewriteRule ^home$ ?a=home%1 [L]

    Tagad vadot iekšā www.majaslapa.lv/home/ shamais tevi virtuāli redirektēs uz www.majaslapa.lv/?a=home

     

    Tik rēķinies, ka kodā noteikti būs tev izmaiņas vajadzīgs, respektīvi, jāpārraksta ar rokām vecie linki.

×
×
  • Create New...