Forumi


Povratak   PC Ekspert Forum > Računala > Software > Web dizajn, programiranje i ostalo
Ime
Lozinka

Odgovori
 
Uređivanje
Staro 21.02.2015., 17:45   #1
popnemanja
Registered User
 
Datum registracije: Feb 2015
Lokacija: novi sad
Postovi: 3
Mysql PHP illegal offset string

 public function kLista ($IDlokal) {  
    
$item = array();     
    
$sql "SELECT l.*, g.* FROM lokali l\n INNER JOIN galery g ON l.id_lokal = g.fk_lokali_id WHERE fk_lokali_id = '$IDlokal' "
        
$result $this->db->query($sql); 
         
        if (
$result->rowCount() > 0) { 
            
$item $result->fetch(PDO::FETCH_ASSOC);  
                if (!empty(
$item['image_lokal'])) { 
                    
$item['images']['500x300'] = URL 'public/images/lokali/' $item['id_lokal'] . '/500x300_' $item['image_lokal']; 
                    
$item['images']['500x600'] = URL 'public/images/lokali/' $item['id_lokal'] . '/500x600_' $item['image_lokal']; 
                } 
                 if (!empty(
$item['file'])) { 
                    
$item['galerija']['500x400'] = URL 'public/images/galerija/' $item['id_lokal'] . '/500x400_' $item['file']; 
                } 
kod controllera
PHP kod:
public function Kafana($IDlokal) { 
        
$this->view->kafane $this->model->kLista($IDlokal); 
        
$this->view->render('header'); 
        
$this->view->render('kafane/kafana'); 
        
$this->view->render('footer'); 
    } 
Html kod
HTML:
<div class="items">
    <h1><?php echo $this->kafane['name_lokal']; ?></h1>
<hr/>
    <div class="item_image">
        <?php if (!empty($this->kafane['image_lokal'])) { ?>
            <img alt="<?php echo $this->kafane['image_lokal']; ?>"  src="<?php echo $this->kafane['images']['500x600'] ?>" />
        <?php } else { ?>
            <img alt="no_image"  src="<?php echo URL . 'public/images/no_image.png' ?>" />
        <?php } ?>
        
    </div>

    <div class="item_desc">
        <p>
            <?php echo $this->kafane['opis_lokal']; ?>
        </p>
<hr/>
        <div>
            <?php echo 'Program za veceras: '. ($this->kafane['program']); ?> 
        </div>
<hr/>
    </div>
</div>
<div class="cf"></div>
<hr/>
<div class="galerija">
    <?php echo $this->kafane['id_lokal']; ?> <hr />
    <?php if (!empty($this->kafane['file'])) { ?>
     <img src="<?php echo $this->kafane['galerija']['500x400'] ?>" > 
     <?php }  ?>
<hr/>


        <?php foreach($this->kafane as $item): ?>
       
            <div> <?php// if( isset($item['title']) ) { ?> </div>
            <?php// echo $item['title']; } else { echo'greska';}?>
           
            <div> <?php if(is_array($item['title']) ) { ?> </div>
            <?php echo 'DOBRO'; } else { echo'greska';}?>  
            <div>
	 	   
               <!-- <?php //if (!empty($item['file'])) { ?>
                    <img src="<?php //echo $item['galerija']['500x400'] ?>" >
                <?php //} else { ?>
                    <img  alt="no_image"  src="<?php //echo URL . 'public/images/no_image.png' ?>" /> 
                <?php //} ?> -->
			
            </div>     
        <?php endforeach; ?>

</div>
Cini mi se da je problem u model kodu al ne znam resenje, nov sam u php-u, nadam se da neko ima ideju kako da resim problem

Unapred hvala za svaki predlog -->
Pozdrav
Treba mi mala pomoc oko php-a. Tacnije pokusavam da napravim php dinamicki sajt baziran na MVC-u. Problem koji mi se pojavljuje je Illegal String Offset for VARIABLE. U bazi podataka imam tabelu "galery" za galeriju i "lokali" za klubove i restorane. Zamislio sam da iz baze podataka vucem slike za lokale i prikazujem ih kao galeriju. Prilikom otvaranja stranice sajt mi prikazuje samo jednu sliku a za ostale izbacuje gresku.

Model kod
PHP kod:
 public function kLista ($IDlokal) {  
    
$item = array();     
    
$sql "SELECT l.*, g.* FROM lokali l\n INNER JOIN galery g ON l.id_lokal = g.fk_lokali_id WHERE fk_lokali_id = '$IDlokal' "
        
$result $this->db->query($sql); 
         
        if (
$result->rowCount() > 0) { 
            
$item $result->fetch(PDO::FETCH_ASSOC);  
                if (!empty(
$item['image_lokal'])) { 
                    
$item['images']['500x300'] = URL 'public/images/lokali/' $item['id_lokal'] . '/500x300_' $item['image_lokal']; 
                    
$item['images']['500x600'] = URL 'public/images/lokali/' $item['id_lokal'] . '/500x600_' $item['image_lokal']; 
                } 
                 if (!empty(
$item['file'])) { 
                    
$item['galerija']['500x400'] = URL 'public/images/galerija/' $item['id_lokal'] . '/500x400_' $item['file']; 
                } 
kod controllera
PHP kod:
public function Kafana($IDlokal) { 
        
$this->view->kafane $this->model->kLista($IDlokal); 
        
$this->view->render('header'); 
        
$this->view->render('kafane/kafana'); 
        
$this->view->render('footer'); 
    } 
Html kod
HTML:
<div class="items">
    <h1><?php echo $this->kafane['name_lokal']; ?></h1>
<hr/>
    <div class="item_image">
        <?php if (!empty($this->kafane['image_lokal'])) { ?>
            <img alt="<?php echo $this->kafane['image_lokal']; ?>"  src="<?php echo $this->kafane['images']['500x600'] ?>" />
        <?php } else { ?>
            <img alt="no_image"  src="<?php echo URL . 'public/images/no_image.png' ?>" />
        <?php } ?>
        
    </div>

    <div class="item_desc">
        <p>
            <?php echo $this->kafane['opis_lokal']; ?>
        </p>
<hr/>
        <div>
            <?php echo 'Program za veceras: '. ($this->kafane['program']); ?> 
        </div>
<hr/>
    </div>
</div>
<div class="cf"></div>
<hr/>
<div class="galerija">
    <?php echo $this->kafane['id_lokal']; ?> <hr />
    <?php if (!empty($this->kafane['file'])) { ?>
     <img src="<?php echo $this->kafane['galerija']['500x400'] ?>" > 
     <?php }  ?>
<hr/>


        <?php foreach($this->kafane as $item): ?>
       
            <div> <?php// if( isset($item['title']) ) { ?> </div>
            <?php// echo $item['title']; } else { echo'greska';}?>
           
            <div> <?php if(is_array($item['title']) ) { ?> </div>
            <?php echo 'DOBRO'; } else { echo'greska';}?>  
            <div>
	 	   
               <!-- <?php //if (!empty($item['file'])) { ?>
                    <img src="<?php //echo $item['galerija']['500x400'] ?>" >
                <?php //} else { ?>
                    <img  alt="no_image"  src="<?php //echo URL . 'public/images/no_image.png' ?>" /> 
                <?php //} ?> -->
			
            </div>     
        <?php endforeach; ?>

</div>
Cini mi se da je problem u model kodu al ne znam resenje, nov sam u php-u, nadam se da neko ima ideju kako da resim problem

Unapred hvala za svaki predlog
popnemanja je offline   Reply With Quote
Staro 21.02.2015., 19:42   #2
tech
Premium
Moj komp
 
Datum registracije: Aug 2007
Lokacija: Zagreb
Postovi: 1,685
Lijen sam pregledavat, no zašto ti je foreach loop zakomentiran("//")?
tech je offline   Reply With Quote
Oglasni prostor
Oglas
 
Oglas
Staro 21.02.2015., 21:01   #3
popnemanja
Registered User
 
Datum registracije: Feb 2015
Lokacija: novi sad
Postovi: 3
proveravao sam pa sam namerno stavio pod komentar i zaboravih da uklonim kad sam slao code, slucajno. Uglavnom ne treba da je pod komentarom, sta god sam probao i dalje mi prijavljuje istu gresku.
popnemanja je offline   Reply With Quote
Staro 22.02.2015., 10:21   #4
zwer
crnjo
Moj komp
 
zwer's Avatar
 
Datum registracije: Mar 2003
Lokacija: Zagreb
Postovi: 1,893
Mislim da referenciras neki string ko array - provjeri što točno foreachas, var dumpaj prije pa 'izvrti' u glavi prvi put. Ili iza svakog loopa incrementaj counter i dumpaj ga, vidi gdje zapne, i onda provjeri taj array na kojem je zapelo.

<?php echo $this->kafane['galerija']['500x400'] ?>

Mislim da je ovo, kolko vidim kafane je array itema, a svaki item ima galeriju? a ti tu drito referenciras kafane[gallery]
__________________
sound powered by B&W/Denon
zwer je offline   Reply With Quote
Staro 24.02.2015., 07:47   #5
popnemanja
Registered User
 
Datum registracije: Feb 2015
Lokacija: novi sad
Postovi: 3
Pronasao sam gresku, bas kako si rekao :-) hvala puno na pomoci :-)
popnemanja je offline   Reply With Quote
Oglasni prostor
Oglas
 
Oglas
Odgovori



Pravila postanja
Vi ne možete otvarati nove teme
Vi ne možete pisati odgovore
Vi ne možete uploadati priloge
Vi ne možete uređivati svoje poruke

BB code je Uključeno
Smajlići su Uključeno
[IMG] kod je Uključeno
HTML je Isključeno

Idi na