81

(45 replies, posted in PHP)

patalpinau zygio duota koda stai taip

<?php

ini_set('display_errors', 1);
error_reporting(E_ALL);

echo'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb';
$mhost   = "localhost";
$muser   = "********";
$mpass   = "********"; 
$mdb     = "********";
$mdbced4 = "straipsniai";

        
            $db = mysql_connect("$mhost","$muser","$mpass") or die (mysql_error()); 
            mysql_query("SET NAMES 'utf8'") or die(mysql_error());
            mysql_select_db($mdb, $db) or die (mysql_error());


$srch="%rublis%";
$query = mysql_query("SELECT * FROM $mdbced4 WHERE sktipas LIKE '$srch' ") or die (mysql_error());
$num = mysql_num_rows($query) or die (mysql_error());
echo 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
?>

Cia sukurtas visiskai naujas failas jame yra tik tai kas cia atvaizduota. klaidos nerodo aaaaaaaaaaaaaaaaaaaaa raidziu irgi ne:)
$srch="%rublis%"; rublis zodi pakeiciu i egzistuojanti duomenu bazeja, iskart aaaaaaaaaa raides parodo

82

(45 replies, posted in PHP)

<?php
echo'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb';
$mhost   = "localhost";
$muser   = "********";
$mpass   = "********"; 
$mdb     = "********";
$mdbced4 = "straipsniai";

        
            $db = mysql_connect("$mhost","$muser","$mpass") or die (mysql_error()); 
            mysql_query("SET NAMES 'utf8'") or die(mysql_error());
            mysql_select_db($mdb, $db) or die (mysql_error());


$srch="%rublis%";
$query = mysql_query("SELECT * FROM $mdbced4 WHERE sktipas LIKE '$srch' ") or die (mysql_error());
$num = mysql_num_rows($query) or die (mysql_error());
echo 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
?>

rublis zodzio duomenu bazeja nera, raides bbbbbb atvaizduoja o aaaaaa nea :) kame kampkas visas sitas reikalas talpinamas i nauja faila.

83

(45 replies, posted in PHP)

minde wrote:
Donatas wrote:

Na stai kaip ir veikia paieska, bet tik ivedu kazka tai ko nera duomenu bazeja, kai $num = 0 puslapis tarsi pastringa net nebaige atvaizduoti viso likusio tinklalapio dizaino.  Klaidos nemeta jokios. Kodel taip?
Jei atsakymu yra is duomenu bazes viskas chiki o jei nera stringa.

Na turėtum atidžiau pastudijuoti, kaip veikia šita eilutė:

for ($i=0; $i<$num; $i++) {

Ka tas for ciklas daro as zinau nera ka jame studijuoti.
Net jei ta for cikla isimu, o vietoje jo po '
$num = mysql_num_rows($query) or die (mysql_error());
ivedu eilute
echo '1111111111';
Serveris neatvaizduoja nei klaidos nei 111111111

84

(45 replies, posted in PHP)

if ($miestas !== '0' || $sktipas !== '0' || $_POST[aprasymas]) {
        $fields = array ('sktipas', 'miestas', 'aprasymas');
        $conditions = array ();

        foreach ($fields as $field) {
               if ( isset($_POST[$field]) && strlen(trim($_POST[$field]))>1){
              $conditions[] = " $field LIKE '%".$_POST[$field]."%' ";
               }
        }
        $sql = "SELECT * FROM $mdbced4 WHERE ".implode ("AND", $conditions);
                
        $query = mysql_query($sql) or die (mysql_error());    
        $num = mysql_num_rows($query) or die (mysql_error());

        for ($i=0; $i<$num; $i++) {
          $eile = mysql_fetch_array($query) or die (mysql_error());
        
        echo $eile[aprasymas];
}

Na stai kaip ir veikia paieska, bet tik ivedu kazka tai ko nera duomenu bazeja, kai $num = 0 puslapis tarsi pastringa net nebaige atvaizduoti viso likusio tinklalapio dizaino.  Klaidos nemeta jokios. Kodel taip?
Jei atsakymu yra is duomenu bazes viskas chiki o jei nera stringa.

85

(45 replies, posted in PHP)

na Qutvala ir tau isejo i nauda parodzius savo paieskos skripta cia Luko pavyzdys tikrai labiau optimizuotas

86

(45 replies, posted in PHP)

Lukas wrote:

o ne lengviau

 $conditions[] = " `$field` = '".ISVALOM($_POST[$field])."' ";

Tos vietos kur isvalom tai nesupratau ka ir kuom valom ir del ko :)
cia kaip ir panaudojam funkcija isvalom kuri patikrina ar ivestas textas nera mum kenksmingas?

87

(45 replies, posted in PHP)

Tokiu atveju nevargčiau su bandymais kažką iš kažko išvartyti, nes visi $_POST, $_GET ir ... taip pat yra masyvai, jau nekalbant apie mysql resursus. :)
Nesuprasdamas jų visur matysi tik tamsų mišką. :)
O kas konkrečiai tau neaišku juose? :)

kaip veikia post/get ar mysql aisku tik va array panaudojima ir pritaikyma praktiskai pirma kart pamaciau.
Man kitaip mokintis sunku manual galiu skaityt kad ir 10 kart kol praktiskai nepamatau veikimo budo tol pats kazko nesukursiu.
Dar jau turiu praktini pavyzdi daugmas issiaiskinau veikimo principa galiu koreguoti pagal save pradet:)

kiek įdėjai pastangų, kad nebūtų miško?

Idejau nemazai ir dar dedu :)

88

(45 replies, posted in PHP)

na gerai bandau aiskintis qutwala parasyta skriptuka, jeigu ka nupezesiu mazu kas nors pataisys ir paaiskins kame kampas.
Pirmame stulpeli visus post duomenis paverciam i kintamuosius
antram sukurem masyva $query[0] => $kazkas, $query[1] => $kazkas2, $query[2] => $kazkas3

tuomet kintamaji $TRUE uzsetinu teigemai reiksmiai.

$TRUE = TRUE; // TRUE

su $is_empty neaisku cia kodo truksta bet kiek suprantu tikrina ar masyve dabartinis kintamasis yra uzsetintas

if (current($is_empty)) {

cia kiekviena $query reiksme is masyvo prilyginama $value reiksmei nu pvz query[1]=value[1]

foreach ($query AS $value) {

uzsetina nauja masyva su reiksme ' AND ' kad veliau vygdant duomenu bazes uzklausa kiekviena paieskos dali atskirtu zodziu AND.
ir jei gerai suprantu kaip tik priskire $value reiksme taip $and[] masyvas padideja vienu AND

$and[] = ' AND '; //AND masyvas deti i uzklausa

cia sito nelabaisuprantu kam tie '__'

$query__[] = $value;

suskiciuoja kiek is viso and[] turi uzsetintu reiksmiu atima 1 kad neperdaug AND pridetu. Siuo atveju turim 3 reiksmes tai padaro 2

$count = count($and) - 1;

patikrinam kiek supratau ar uzsetinta reiksme and[2]?

if(isset($and[$count])) {

ir ta paskutine and[] reiksme pakeicia vietoje AND zodzio ' ' tarpuka

$and[$count] = ' ';

paleidziame cikla kol $TRUE nebus False tol ciklas suksis ratu.

while ($TRUE){

paleidziam nauja masyva $select kur sujungemiame $query__ ir $and i viena

$select[] .= current($query__) . current($and);

tikrina jei bent vieno masyvo pasibaigs reiksmes tada $TRUE nustatys false ir ciklas bus nutrauktas

if (!next($query__) || !next ($and))
$TRUE = false; // jeigu tikrinimas FALSE stabdome ciklą

o implode dar nezinau ka daro reikes paskaityt bet logiskai mastant  sudes i selecta visas reiksmes

$select = 'SELECT * FROM lentele WHERE '.implode('', $select);

tik cia klaida ar as kazko nezinau pas qutwala

while ($TRUE){ // Kai kintamasis TRUE yra TRUE
$select[] .= current($query__) . current($and); //rikiuojame M1 C1 M2, t.y. : $_POST AND $_POST..
if (!next($query__) || !next ($and)) //tikrinimas ar bėra masyve reikšmių
$TRUE = false; // jeigu tikrinimas FALSE stabdome ciklą
}
$select = 'SELECT * FROM lentele WHERE '.implode('', $select); // masyvą verčiame į STRING
}else{
//error_report i sablona, kad paieskos uzklausa tuscia galima ir paprasciau su siuo: if(!current($query)) { //klaida, kad tuscia uzklausa} //vykdome toliau koda
}

while { atsidaro
if (kazkas) {<-- neatsidaro
$TRUE = false;
}<-- uzdaro tai cia uzdaro ka while ?
toliau kodas

na sedejau ir logiskai masciau ir stai ka ismasciau :) mazu po biski pradesiu suprast masyvu nauda ir ju panaudojima...

89

(45 replies, posted in PHP)

array(); visada buvo tamsus miskas. Jo veikimo principas ir panadojimas.

90

(45 replies, posted in PHP)

AND gali buti nadinga einu paskaitysiu apie ji

91

(45 replies, posted in PHP)

Sveiki.

Turiu lentele kurioje yra daleiskim 3 stulpeliai

| miestas | tipas | aprasymas |

paieska vygdau is triju kintamuju.
Pirmi du kintamieji miestas ir tipas yra svarbiausi, taigi
Galiu daryti paieska su daug if daleiskim

paleidziu cikla  ir tikrinu
jei miestas ir tipas ivesti
     tada antras ciklas
           kuris tikrina ar is gautu rezultatu atitinka ir aprasymas.
           jei aprasymas atitinka tada
           echo miestas tipas aprasymas.

antra ifu ir ciklu kombinacija :)
jeigu miestas ivestas o !tipas neivestas
vel leidziu panase ciklu ir ifu kombinacija

3 if ir ciklu kombinacija
jeigu !miesta neivestas o tipas == kazkam
  ~ir vel kazka darau~

4 if ir ciklu kombinacija
Jei aprasymas ivestas o !miestas ir !tipas ne

Nu jei butu tik 3 kintamieji tai ma ji perkunai nesukciau cia jums galvos :) bet veliau ju gali buti ir daugiau. 5 ir 6 :) tai ka tada. x5 lapai kodo?