ilch Forum » Allgemein » HTML, PHP, SQL,... » Was ist da falsch

Geschlossen
  1. #1
    User Pic
    freak Mitglied
    Registriert seit
    31.01.2007
    Beiträge
    856
    Beitragswertungen
    0 Beitragspunkte
    Hallo Ich weis nicht was da falsch ist,

    <?php
    defined('main') or die('no direct access');
    $title = $allgAr['title'].' :: Top Artikel';
    $hmenu = 'Top Artikel';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    
    $tpl = new tpl('topcowaren');
    $tpl->out(0);
    $erg = db_query("SELECT prefix_waren.cat,hits,prefix_waren.name,prefix_waren.creater,prefix_waren.ssurl,prefix_waren.versand,prefix_waren.mwst,prefix_waren.id,DATE_FORMAT(time,'%d.%m.%Y') as datum FROM prefix_waren LEFT JOIN prefix_warencats ON prefix_warencats.id = prefix_waren.cat WHERE ".$_SESSION['authright']." <= prefix_warencats.recht order by hits DESC LIMIT 0,5");
      while ($row = db_fetch_object($erg)) { 
    
    $r['preismwst'] = $row['creater'] / 100 * $row['mwst'] + $row['creater'];
    
    if ( file_exists($row->ssurl)) {
     $ssurl = '<img width="171" height="171" src="'.$row->ssurl.'" border="0">';
    }else{
    $ssurl = '';
    }
    
    	$tpl->set('name', $row['name']); 
    	$tpl->set('mwst', $row['mwst']);
    	$tpl->set('version', $row['version']);
    	$tpl->set('id', $row['id']);   
    	$tpl->set('creater', $row['creater']);
    	$tpl->set('preismwst', $r['preismwst']);
    	$tpl->set('ssurl', $row['ssurl']);		 
    	
    	    $tpl->set_ar_out($r,1);
      }
      
      $tpl->out(2);
      
    $design->footer();
    ?>



    Hier die fehlermeldung


    Fatal error: Cannot use object of type stdClass as array in /var/www/web38/html/neues_Script/shop_cms/include/contents/topcowaren.php on line 14


    MfG freak


    verwendete ilchClan Version: 1.1


    Zuletzt modifiziert von freak am 20.02.2008 - 21:30:16
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    mic_pt Mitglied
    Registriert seit
    03.01.2008
    Beiträge
    319
    Beitragswertungen
    19 Beitragspunkte
    ich bin mir nicht sicher ab das hier sieht schon komisch aus :

    else{
    $ssurl = '';
    }

    da muss doch zumindest noch ein " hin ??
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Ithron Hall Of Fame
    Registriert seit
    21.01.2006
    Beiträge
    2.659
    Beitragswertungen
    24 Beitragspunkte
    $r['preismwst'] = $row['creater'] / 100 * $row['mwst'] + $row['creater'];



    Wo ist $r definiert?
    Man sollte nicht nur mit copy & paste arbeiten...


    zu mic_pt: stimmt, die else bedingung ist letzendlich leer weil variable $ssurl eh nach dem } stirbt.
    bringt also gar nichts.
    ZitatZitat geschrieben von loW

    Ja ich habs gesehen und wenn ichs kostenlos bekomm dann zahl ich doch nix dafür oder?
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    SteKu Mitglied
    Registriert seit
    25.03.2007
    Beiträge
    259
    Beitragswertungen
    2 Beitragspunkte
    Also ich meine auch das

    $r['preismwst'] = $row['creater'] / 100 * $row['mwst'] + $row['creater'];


    der fehler ist.

    Du wolltest zwar das $r['preismwst'] als variable steht aber das ist doch glaube ich net möglich oder.

    das sollte wohl eher so heißen

    $preismwst = $row['creater'] / 100 * $row['mwst'] + $row['creater'];

    oder doch so
    $preismwst = ($row['creater'] / 100 * $row['mwst'] + $row['creater']);

    ich weiß net genau.

    und weiter unten dann

    $tpl->set('preismwst', $preismwst);


    denke ich doch mal, bin mir aber auch nicht ganz sicher.

    Stefan


    Zuletzt modifiziert von SteKu am 20.02.2008 - 22:11:55
    Wer Rechtschreibfehler findet darf sie behalten.
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    freak Mitglied
    Registriert seit
    31.01.2007
    Beiträge
    856
    Beitragswertungen
    0 Beitragspunkte
    ZitatZitat geschrieben von Ithron

    $r['preismwst'] = $row['creater'] / 100 * $row['mwst'] + $row['creater'];



    Wo ist $r definiert?
    Man sollte nicht nur mit copy & paste arbeiten...


    zu mic_pt: stimmt, die else bedingung ist letzendlich leer weil variable $ssurl eh nach dem } stirbt.
    bringt also gar nichts.


    lool wo soll ich das bitte her copyieren?
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Der Fehler ist dass du db_fetch_object hast aber dann Arrayzugriffe machst.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Ithron Hall Of Fame
    Registriert seit
    21.01.2006
    Beiträge
    2.659
    Beitragswertungen
    24 Beitragspunkte
    keine ahnung, aus irgend einem anderem script was $r verwendet. oder so.

    oder flüchtigkeitsfehler^^


    Aber wie Mairu schon schrieb, musst du entweder per $row->mwst zugreifen oder in der abfrage db_row_assoc benutzen.
    ZitatZitat geschrieben von loW

    Ja ich habs gesehen und wenn ichs kostenlos bekomm dann zahl ich doch nix dafür oder?
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    KizzamP gelöschter User
    ZitatZitat geschrieben von freak

    Hallo Ich weis nicht was da falsch ist,

    <?php
    defined('main') or die('no direct access');
    $title = $allgAr['title'].' :: Top Artikel';
    $hmenu = 'Top Artikel';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    
    $tpl = new tpl('topcowaren');
    $tpl->out(0);
    $erg = db_query("SELECT prefix_waren.cat,hits,prefix_waren.name,prefix_waren.creater,prefix_waren.ssurl,prefix_waren.versand,prefix_waren.mwst,prefix_waren.id,DATE_FORMAT(time,'%d.%m.%Y') as datum FROM prefix_waren LEFT JOIN prefix_warencats ON prefix_warencats.id = prefix_waren.cat WHERE ".$_SESSION['authright']." <= prefix_warencats.recht order by hits DESC LIMIT 0,5");
      while ($row = db_fetch_object($erg)) { 
    
    $r['preismwst'] = $row['creater'] / 100 * $row['mwst'] + $row['creater'];
    
    if ( file_exists($row->ssurl)) {
     $ssurl = '<img width="171" height="171" src="'.$row->ssurl.'" border="0">';
    }else{
    $ssurl = '';
    }
    
    	$tpl->set('name', $row['name']); 
    	$tpl->set('mwst', $row['mwst']);
    	$tpl->set('version', $row['version']);
    	$tpl->set('id', $row['id']);   
    	$tpl->set('creater', $row['creater']);
    	$tpl->set('preismwst', $r['preismwst']);
    	$tpl->set('ssurl', $row['ssurl']);		 
    	
    	    $tpl->set_ar_out($r,1);
      }
      
      $tpl->out(2);
      
    $design->footer();
    ?>



    Hier die fehlermeldung


    Fatal error: Cannot use object of type stdClass as array in /var/www/web38/html/neues_Script/shop_cms/include/contents/topcowaren.php on line 14


    MfG freak


    verwendete ilchClan Version: 1.1


    Zuletzt modifiziert von freak am 20.02.2008 - 21:30:16


    na dann gucke mal Zeile 14 O_o
    }else{ was soll das sein eine klammer weg!!
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Akira Mitglied
    Registriert seit
    25.01.2007
    Beiträge
    1.369
    Beitragswertungen
    1 Beitragspunkte
    zeile 14

    Y') as datum FROM prefix_waren LEFT JOIN prefix_warencats ON prefix_warencats.id = prefix_waren.cat WHERE ".$_SESSION

    da steht nichts mit else

    und selbst wenn wäre der befehl richtig
    } <- beendet
    else <- oder
    { <- beginnt


    Zuletzt modifiziert von Akira am 21.02.2008 - 19:08:27
    externer Link Visit Us zwinker
    Neue Scripte: JQuery Login usw... Turnier(externer Link Multi-Bewertung, Refferer, Forum Upload, E-Mail login
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten