Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Własna funkcja, wyswitla sie przy deklarowaniu jako zmienna.
flasy
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 19.12.2006

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


zrobilem taka prosta przykladowa funkcje z uzyciem petli while.

  1. <?php
  2. function piotrek(){
  3. $i=1;
  4. while ($i < 5)
  5. {
  6. echo "1 <br>";
  7. $i++;
  8. }}
  9.  
  10. $zmienna = piotrek();
  11. ?>


problem polega na tym ze funkcja powinna byc wyswitlona w momencie gdy napisze
  1. <?php
  2. echo $zmienna;
  3. ?>

ale ona wyswietla sie juz w momencie deklaracji! (a kiedy pisze echo $zmienna to ona sie nie wyswietla!)
O co chodzi co zle robie? Chce tego uzyc na takim przykladzie
  1. <?php
  2. $zmienna2 = "Jakis tekst... $zmienna Jakis tekst";
  3. echo $zmienna2;
  4. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
JaRoPHP
post
Post #2





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


Więc niedziałający skrypt wygląda inaczej niż ten prezentowany w pierwszych postach? Oczekujesz od nas @flasy pomocy, pokazując inny skrypt...

Błąd masz w funkcji petla(), która odpowiada (chyba) za utworzenie części zapytania SQL:
  1. <?php
  2. function petla($i, $ilosc_w2) {
  3.  $i=1;
  4.  while ($i < $ilosc_w2) {
  5. $nazwa_kol =$_POST['nazwa_kol'.$i.''];
  6. $rodz_wp =$_POST['rodz_wp'.$i.'']." NOT NULL";
  7. $tablica .= " ".$nazwa_kol." " .$rodz_wp.",";
  8. $i++;
  9.  }
  10.  return $tablica;
  11. }
  12.  
  13. // wywołanie funkcji
  14. $tablicat = petla($i=0, $ilosc_w2);
  15. ?>

- Po co w wywołaniu funkcji przekazujesz jej argument $i, jak i tak w pierwszej linijce nadajasz zmiennej wartość 1?
- Dokonujesz konkatenacji (łączenia) łańcucha $tablica, ale nigdzie nie widzę miejsca w którym ten łańcuch powstaje (innymi słowy, dodajesz coś do czegoś, co nie istnieje).

Jako że nie wiem, w jaki sposób są przechowywane zmienne, wywołaj swój skrypt (dla kilku wierszy), i napisz, jak wygląda utworzone zapytanie (napisz wynik tych linijek):
  1. <?php
  2. $tablicat = petla($i=0, $ilosc_w2);
  3. echo $tablicat;
  4. echo "<br>";
  5. $query="CREATE TABLE ".$nazwa_tab." (id int(6) NOT NULL auto_increment,".$tablicat." PRIMARY KEY (id),UNIQUE id (id),KEY id_2 (id))";
  6. echo $query;
  7. ?>

Dodatkowo:
- jeżeli kolumna jest kluczem podstawowym (PRIMARY KEY), jest ona automatycznie unikalną (UNIQUE), zindeksowaną (KEY) kolumną...
- włącz raportowanie błędów (error_reporting(E_ALL)) - na pewno się przyda...
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 9.10.2025 - 05:59