Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kłopot z tablicami i foreach
kiddy
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 5.07.2007

Ostrzeżenie: (0%)
-----


witam.

Mam taką funkcje w pliku:
  1. <?php
  2. function can_build($i, $miasto){
  3.  
  4.  global $surowce, $surmysql, $koszt;
  5.  
  6.    foreach($koszt[$i] as $p => $r){
  7.  
  8.      if($miasto[$surmysql[$i]] < $r){
  9.  
  10.        $buduj = '<font color="red"><b>Brak surowców</b></font>';
  11.        
  12.      }
  13.      elseif($miasto[$surmysql[$i]] >= $r){
  14.  
  15.        $buduj = '<font color="lime"><b><a href="index.php?id=budynki&buduj='.$i.'">Buduj</a></b></font>';
  16.  
  17.      }
  18.    }
  19.  return $buduj;
  20. }
  21. ?>



Oraz foreach w innym pliku:
  1. <?php
  2. foreach($budynki as $i => $nazwa){
  3.  
  4.  if($i > 0 and $i < 3){
  5. $lista .= '<tr><td>Nazwa</td><td>'.$nazwa.'</td></tr><tr><td><img src="http://forumwebmastering.com/images/budynki/'.$i.'.jpg" border="0"></td><td>'.$budynki['opis'][$i].'<br><br></td><td>'.can_build($i, $miasto).'</td></tr>';
  6. }
  7. }
  8. ?>


Oczywiście includuje pliki z danymi tablic:

  1. <?php
  2. $budynki = array(
  3. 1 => 'Elektrownia',
  4. 2 => 'Stocznia');
  5. ?>


  1. <?php
  2. $koszt = array(
  3. 1 => array('wegiel' => 100, 'stal' => 30, 'ropa' => 10, 'energia' => 0, 'energia_max' => 100),
  4. 2 => array('wegiel' => 120, 'stal' => 60, 'ropa' => 30, 'energia' => 25, 'energia_max' => 0));
  5. ?>


  1. <?php
  2. $surmysql = array(
  3. 1 => 'wegiel',
  4. 2 => 'stal',
  5. 3 => 'ropa',
  6. 4 => 'energia');
  7. ?>


$miasto:
  1. <?php
  2. $selectCITY = mysql_query("SELECT * FROM miasta WHERE id = '".$user->info['last_city']."' LIMIT 1");
  3. $miasto = mysql_fetch_array($selectCITY);
  4. ?>

I teraz w foreach($budynki as $i => $nazwa){ .... nie zwraca mi wyniku z funkcji, gdzie popełniłem błąd?

Ten post edytował kiddy 18.03.2009, 19:30:38
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
Quider
post
Post #2





Grupa: Zarejestrowani
Postów: 91
Pomógł: 9
Dołączył: 6.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


nie widze return


--------------------
www.quider.pl <- moja prywatna strona

Pomogłem? Kliknij Pomógł
Go to the top of the page
+Quote Post
kiddy
post
Post #3





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 5.07.2007

Ostrzeżenie: (0%)
-----


Dokładniej?
Go to the top of the page
+Quote Post
Spawnm
post
Post #4





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




@Quider->jest return, zobacz jeszcze raz ;]

@kiddy-> daj $miasto w var_dump i powiedz co otrzymujesz , może nic nie otrzymujesz tongue.gif
Go to the top of the page
+Quote Post
manro
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 3
Dołączył: 25.10.2006

Ostrzeżenie: (0%)
-----


to chodz dziala prawidłowo to jest maslo maslane

CODE

foreach($budynki as $i => $nazwa){
if($i > 0 and $i < 3)...


funkcja can_build dziala prawidlowo, wlacz sobie na poczatku skryptu raportowanie bledow, to bedziesz je widzial w przypadku gdy nie przeslesz wlasciwych parametrow do tej funkcji.

CODE

<?php
error_reporting(E_ALL);


--------------------
If you don't have time to do it right, where are you going to find the time to do it over?
http://www.nowicki.cjb.net
Go to the top of the page
+Quote Post
kiddy
post
Post #6





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 5.07.2007

Ostrzeżenie: (0%)
-----


Wynik z raportowania:

Notice: Undefined variable: user in /public_html/gra/budynki.php on line 10
Notice: Trying to get property of non-object in /public_html/gra/budynki.php on line 10
  1. <?php
  2. $selectCITY = mysql_query("SELECT * FROM miasta WHERE id = '".$user->info['last_city']."' LIMIT 1");
  3. ?>


Warning: Invalid argument supplied for foreach() in l/public_html/gra/funkcje/budynki.php on line 29
  1. <?php
  2. foreach($koszt[$i] as $p => $r){
  3. ?>


Notice: Undefined variable: buduj in /public_html/gra/funkcje/budynki.php on line 42
  1. <?php
  2. return $buduj
  3. ?>
Go to the top of the page
+Quote Post
erix
post
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Reszta błędów jest wypadkową:
Cytat
Notice: Undefined variable: user in /public_html/gra/budynki.php on line 10


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
kiddy
post
Post #8





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 5.07.2007

Ostrzeżenie: (0%)
-----


To dostane jakąś porade?
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




mistrzu.... przeciez dostales porady...
Zasugerowano ci przeciez ten blad:
"Notice: Undefined variable: user in /public_html/gra/budynki.php on line 10"

Napraw go!
Komunikat bledy wyraźnie ci mowie ze uzywasz $user, której on nie widzi. Poszukaj sobie teraz miejsca gdzie te $user definiujesz i zastanow sie przez chwile czemu nie jest ona widoczna w miejscu gdzie probujesz jej uzyc

ps: moze to ci cos pomoze, jesli blad dotyczy zasiegu zmiennych
http://pl.php.net/manual/pl/language.variables.scope.php


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kiddy
post
Post #10





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 5.07.2007

Ostrzeżenie: (0%)
-----


Nawet jak wpisze przykładową liczbę która zostanie skojarzona z danymi z bazy danych to i tak 0 rezultatów.
Go to the top of the page
+Quote Post
erix
post
Post #11





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




To ma nie być liczba, tylko obiekt.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 08:00